Estoy tratando de construir un juego de acorazado simple que encontré en un libro, sin embargo, creo que parte del código del libro está desactualizado. Estoy tratando de obtener las ubicaciones de los barcos en una tabla y le doy al usuario si la conjetura es un acierto o un error, sin embargo, cuando intento acceder a las ubicaciones de la consola de barcos, aparece este error. Apreciaría cualquier ayuda. Este es el código:
let model = { boardSize: 7, numShips: 3, shipLength: 3, shipsSunk: 0, ships: [ { locations: ["06", "16", "26"], hits: ["", "", ""] }, { locations: ["24", "34", "44"], hits: ["", "", ""] }, { locations: ["10", "11", "12"], hits: ["", "", ""] } ], fire: function(guess) { for(let i; 0 < this.numShips; i++) { let ship = this.ships[i]; let index = ship.locations.indexOf(guess); if(index >= 0) { ship.hits[index] = "hit"; view.displayHit(guess); view.displayMessage("HIT!"); if (this.isSunk(ship)) { view.displayMessage("A battleship has sank!") this.shipsSunk++; } return true; } view.displayMiss(guess); view.displayMessage("You missed."); return false; } },Tiene un error tipográfico en la condición de bucle for:
for(let i; 0 < this.numShips; i++) {debiera ser:
for(let i = 0; i < this.numShips; i++) {