[js] multidimensional array als raster vullen
ik ben bezig met wat een spelletje (4 op een rij), en nu wil ik in javascript (of jQuery, gebruik dat maar dit is geloof ik plain js) een multidimensional array van 8x8 gebruiken om bij te houden waar alle speelstukken zich bevinden, door horizontaal x1-8 te gebruiken als aanspreekvariabele, en y1-8 voor verticaal (ik hoop dat jullie het snappen). daar staat dan heel eenvoudig 1 voor er is op dat punt een speelstuk aanwezig en 0 voor niet aanwezig. (dus ik wil kunnen aanspreken met piecesPosition[x3][y2] bijvoorbeeld). nu had ik het volgende bedacht om deze array alvast te vullen:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
var piecesPosition = new Array(8);
for ( y = 1; y <= 8; y++ ){
for ( x = 1; x <= 8; x++ ){
piecesPosition['y' + y]['x' + x] = 0;
}
}
for ( y = 1; y <= 8; y++ ){
for ( x = 1; x <= 8; x++ ){
piecesPosition['y' + y]['x' + x] = 0;
}
}
hierbij krijg ik de volgende melding: Cannot set property 'x1' of undefined
nu weet ik niet veel van js af (daarom doe ik het juist daarin), maar naar mijn idee moet dit goed zijn. heeft iemand suggesties hoe ik dit wel moet doen?
Gewijzigd op 26/07/2013 16:20:16 door Jeroen VD
Bedankt!
nu het volgende, als ik dan wil controleren tot welke hoogste y waarde de positie nog leeg is in dezelfde kolom (x), wil ik dat zo uitlezen:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
var positionEmpty = true;
for ( y = 1; positionEmpty == true; y++)
{
if ( piecesPosition['y' + y]['x' + x] == 1 )
{
positionEmpty = false;
y = y - 1;
}
}
for ( y = 1; positionEmpty == true; y++)
{
if ( piecesPosition['y' + y]['x' + x] == 1 )
{
positionEmpty = false;
y = y - 1;
}
}
poept als het goed is de hoogste nog lege y waarde uit, naar mijn idee, maar toch geeft ie deze foutmelding: Uncaught TypeError: Cannot read property 'x1' of undefined
iemand ideen?
Gewijzigd op 26/07/2013 17:08:15 door Jeroen VD
Tevens raad ik je af om de array constructor te gebruiken, gewoon [].
update: ik weet niet waarom, maar hij doet het nu, functie nog eens herschreven met wat andere logica
Gewijzigd op 27/07/2013 16:37:18 door Jeroen VD