То, что я пытаюсь сделать2D сетки объектов в p5.js
Я пытаюсь создать игру линкоров и на данный момент я работаю над рисованием доски таким образом, чтобы каждое пятно является объектом. Таким образом, когда пользователь нажимает на них, они могут выбрать, где разместить свои линкоры. Я пытаюсь сделать это, сохраняя каждое пятно как объект в массиве, называемом кругами.
Проблема
Моя проблема заключается в том, что при попытке создать объекты, я могу только показаться, чтобы сделать всю сетку в качестве одного объекта. Вот код, который я до сих пор (извините за качество, я нуб!):
var circles = [];
var x = 100;
var y = 100;
for(i = 0; i < 2; i++) {
circles[i] = {
drawGrid: function() {
for (var x = 100; x <= 1000; x += 100) {
for (var y = 100; y <=1000; y += 100) {
fill(0);
ellipse(x,y,20,20);
}
}
}
}
}
function setup() {
createCanvas(1100,1100);
}
function draw() {
for(i = 0; i < 2; i++) {
circles[i].drawGrid();
}
}
Я подделаны расположение для петель (х, у и я), но ничего не похоже на работу и если я попробую что-нибудь еще, вместо того, чтобы получить сетку, как показано ниже - с каждым O быть объектом:
O O O O
O O O O
O O O O
O O O O
я получить что-то вроде одного из них:
1) O O O O | 2) O
O | O
O | O
O | O
Любая помощь высоко оценил, спасибо!
Спасибо за ответ! У меня есть один вопрос, хотя он создает массив из 100 кругов, а a и b создают правильные координаты, он не присваивает a и b как x и y для круга при рисовании. – Stan
почему вы так говорите? – Pepe
он принимает a и b как аргументы 'круги.push (новый круг (a, b));', он сохраняет эти значения в this.x и this.y 'function Circle (x, y) {this.x = x ; this.y = y; ', а затем использует this.x и this.y для рисования круга' эллипс (this.x, this.y, 10, 10); ' – Pepe