I'm a new programmer, just playing with 3d arrays and trying to understand them. My console log looks right -- up until it actually prints the array. I'm not interacting with it properly. Can anyone see what I'm doing wrong here?
var oceanMap = [];
var oceanY = [];
function makeMap(size){
oceanMap.length = size;
oceanY.length = size;
for(let i = 0; i<oceanMap.length; i++)
oceanMap[i] = oceanY;
}
makeMap(15)
//xxxxxxxxxxxxxxx
//xxxxxxxxxxxxxxx
//xxxxxxxxxxxxxxx
//xxxxxxxxxxxxxxx
//xxxxxxxxxxxxxxx
//xxxxSxxxxxxxxxx
//xxxxSxxxxxxxxxx
//xxxxSxxxxxxxxxx
//xxxxSxxxxxxxxxx
//xxxxSxxxxxxxxxx
//xxxxxxxxxxxxxxx
//xxxxxxxxxxxxxxx
//xxxxxxxxxxxxxxx
//xxxxxxxxxxxxxxx
//xxxxxxxxxxxxxxx
shipCoordX = 7;
shipCoordY = 5;
shipLength = 5;
shipDir = "vertical"
function placeShip(shipX, shipY, shipL, direction)
{
if(direction = "vertical"){
var shipYDraw = shipY;
for(let i = 0; i < shipL; i++){
oceanMap[shipX][shipYDraw] = 1;
console.log("ship placed at "+shipX+"X, "+shipYDraw+"Y");
shipYDraw += 1;
}
}
}
placeShip(shipCoordX,shipCoordY,shipLength, shipDir);
function attack(x, y){
if(oceanMap[x][y]){
console.log("Hit!");
oceanMap[x][y] = 0;
}
else{
console.log("Miss!");
}
}
console.log(oceanMap);
attack(8,5);
ship placed at 7X, 5Y
script.js:62 ship placed at 7X, 6Y
script.js:62 ship placed at 7X, 7Y
script.js:62 ship placed at 7X, 8Y
script.js:62 ship placed at 7X, 9Y
script.js:79 (15) [Array(15), Array(15), Array(15), Array(15), Array(15), Array(15), Array(15), Array(15), Array(15), Array(15), Array(15), Array(15), Array(15), Array(15), Array(15)]0: (15) [empty × 5, 0, 1, 1, 1, 1, empty × 5]1: (15) [empty × 5, 0, 1, 1, 1, 1, empty × 5]2: (15) [empty × 5, 0, 1, 1, 1, 1, empty × 5]3: (15) [empty × 5, 0, 1, 1, 1, 1, empty × 5]4: (15) [empty × 5, 0, 1, 1, 1, 1, empty × 5]5: (15) [empty × 5, 0, 1, 1, 1, 1, empty × 5]6: (15) [empty × 5, 0, 1, 1, 1, 1, empty × 5]7: (15) [empty × 5, 0, 1, 1, 1, 1, empty × 5]8: (15) [empty × 5, 0, 1, 1, 1, 1, empty × 5]9: (15) [empty × 5, 0, 1, 1, 1, 1, empty × 5]10: (15) [empty × 5, 0, 1, 1, 1, 1, empty × 5]11: (15) [empty × 5, 0, 1, 1, 1, 1, empty × 5]12: (15) [empty × 5, 0, 1, 1, 1, 1, empty × 5]13: (15) [empty × 5, 0, 1, 1, 1, 1, empty × 5]14: (15) [empty × 5, 0, 1, 1, 1, 1, empty × 5]length: 15[[Prototype]]: Array(0)
script.js:72 Hit!