ciao a tutti,
ho iniziato da un paio di giorni a studiare un pō di JS.
Nel libro che utilizzo spiegava come fare una sorta di battaglia navale ad una sola riga (quindi si trattava di indovinare 3 navi da un quadrato).
Il codice (funzionante) č questo:
var location1 = 3;
var location2 = 4;
var location3 = 5;
var guess;
var hits = 0;
var guesses = 0;
var isSunk = false;
while (isSunk == false) {
guess = prompt("Ready, aim, fire! (enter a number from 0-6):");
if (guess < 0 || guess > 6) {
alert("Please enter a valid cell number!");
} else {
guesses = guesses + 1;
if (guess == location1 || guess == location2 || guess == location3) {
alert("HIT!");
hits = hits + 1;
if (hits == 3) {
isSunk = true;
alert("You sank my battleship!");
}
} else {
alert("MISS");
}
}
}
var stats = "You took " + guesses + " guesses to sink the battleship, " +
"which means your shooting accuracy was " + (3/guesses);
alert(stats);
per esercitarmi ho pensato di semplificarlo agganciando direttamente il while al numero di affondamenti senza la variabile sunk
..ma naturalmente non funziona. Il mio interesse č di capire solo il motivo a fini didattici/curiositā. Comprendo che c'č proprio un problema di impostazione. Scusate la banalitā del problema
Ecco la mia pensata
var location1 = 3;
var location2 = 4;
var location3 = 5;
var guess;
var hits = 0;
var guesses = 0;
while (hits < 4) {
guess = prompt ("dig num 0-6");
guesses = guesses + 1;
if (guess == location1 || guess == location2 || guess == location3) {alert ("preso");
hits = hits + 1;
}
}
else {alert("sbagliato");}
var stat = "colpi: " + guesses;
alert (stat);
Grazia a tutti
F.