Igen, az elején megtanultam, és igen, azt hittem, hogy a gyakorlati világban nem lesz haszna. És fiú tévedtem…

A probléma: Egy szám megváltoztatása egy tömbben más tömböket is megváltoztat

Tehát a cím alapján valószínűleg sejtheti, hogy mi a probléma, de eltartott egy ideig, amíg rájöttem, hogy mi a baj…

Úgy döntöttem, hogy létrehozok egy tömböt a vászonrács ábrázolására.

ex. [[0,0,0,0],[0,0,0,0],[0,0,0,0]]

Így volt 25 tömböm (sorom) és mindegyikben 40 nullám (40 oszlop), amit természetesen nem fogok kézzel kiírni, ezért csináltam egy függvényt.

A tömb, ami a rendetlenséget okozta…

var nullák = [];

töltse ki azt a tömböt 40 nullával.

Ezután használja ezt a tömböt (nullákat) a 25 sor kitöltéséhez…

Ennyit akartam csinálni… Egyszerű…
Nem vettem észre a hibát, így amikor ezt megláttam, összezavarodtam, és elég sok időt töltöttem azzal, hogy megtaláljam a tettest… A renderelési függvény volt, vagy az alakzatok nem generáltak megfelelően, vagy sok más okból…
Lehet, hogy az alakzat olyan gyorsan haladt, hogy csak egy állandó nyomot hagyott a képernyőn…

Mi voltam valójában…

a nullák tömbje valójában valahogy így néz ki:
zeros = #00052e152, ami csak egy cím…
egy cím, ahol megtalálhatjuk a tömbünket…

Tehát a vászon rácstömböm valószínűleg így nézett ki:

[ #00052e152, #00052e152, #00052e152, #00052e152]

Tehát amikor megváltoztattam a canvasGrid[0][2]-ot valamilyen számra..
[0,0,5,0,0,0,0]

Úgy tűnt, az összes „más” tömb is megváltozott…

Ezért a vastag színes vonal a képernyőn…

Tehát ez egy újabb tanulság. Remélhetőleg legközelebb elkapom, amikor kódolok, ahelyett, hogy valami olyasmit üldöznék, ami könnyen elkerülhető lett volna.