Was ich versuche2D Gitter von Objekten in p5.js
ich ein Schlachtschiff Spiel zu erstellen Ich versuche zu tun, und im Moment arbeite ich das Brett auf der Zeichnung, so dass jeder Punkt ein Objekt ist. Wenn der Benutzer auf sie klickt, können sie auswählen, wo sie ihre Schlachtschiffe platzieren möchten. Ich versuche dies zu tun, indem ich jeden Punkt als Objekt in einem Array mit der Bezeichnung Kreise speichern soll.
Das Problem
Mein Problem ist, dass, wenn die Objekte zu erstellen versuche, kann ich nur das gesamte Raster als ein Objekt zu machen scheint. Hier ist der Code, den ich bisher haben (sorry für die Qualität, ich bin ein Noob!):
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();
}
}
Ich habe mit der Anordnung der manipulierten für Schleifen (x, y und i), aber nichts scheint zu funktionieren und wenn ich versuche, etwas anderes, sondern ein Gitter wie die unten zu bekommen - mit jeweils O ein Objekt zu sein:
O O O O
O O O O
O O O O
O O O O
ich werde etwas wie eine von ihnen erhalten:
1) O O O O | 2) O
O | O
O | O
O | O
jede Hilfe ist sehr geschätzt, danke!
Danke für die Antworten! Ich habe eine Frage, obwohl es eine Anordnung von 100 Kreisen erzeugt und a und b die richtigen Koordinaten erzeugen, es a und b nicht als x und y für den Kreis beim Zeichnen zuweisen. – Stan
Warum sagst du das? – Pepe
Es dauert a und b als Argumente 'circles.push (new Circle (a, b));', speichert diese Werte bei this.x und this.y 'function Circle (x, y) {this.x = x ; this.y = y; ', und benutzt dann this.x und this.y, um den Kreis' ellipse (this.x, this.y, 10, 10) zu zeichnen; ' – Pepe