Tris javascript

di il
3 risposte

Tris javascript

Salve a tutti, sto riscontrando un problema nell'esecuzione del giochino tris in js, praticamente non riesco a far uscire la vincita
<html>
<head>
<title>gioco del tris</title>
<script>
var conta=0;

function cliccato(num){
conta=conta+1;
var num_casella= "i"+num;
if (conta%2==0)
document.getElementById(num_casella).src="img/cerchio.jpg";
else
document.getElementById(num_casella).src="img/ics.jpg";

vittoria();




}

function vincita(){

var vincita=0;
var i=0;
var j=0;
for (i = 0; i <=2; i++) {
if(document.getElementById("i"+0+1+2).src="img/cerchio.jpg";
vincita=vincita+1;


}


If(vincita==1) alert("HAI VINTO!!!");
else alert("HAI PERSO!!!");


}

</script>

</head>
<body>
il primo giocatore è "X" se clicchi due volte appare "CERCHIO" <br><br>
<table BORDER=2>
<tbody>
<tr>
<td><img src="img/bianca.jpg" id="i0" onclick="cliccato(0)"></td>
<td><img src="img/bianca.jpg" id="i1" onclick="cliccato(1)"></td>
<td><img src="img/bianca.jpg" id="i2" onclick="cliccato(2)"></td>
</tr>
<tr>
<td><img src="img/bianca.jpg" id="i3" onclick="cliccato(3)"></td>
<td><img src="img/bianca.jpg" id="i4" onclick="cliccato(4)"></td>
<td><img src="img/bianca.jpg" id="i5" onclick="cliccato(5)"></td>
</tr>
<tr>
<td><img src="img/bianca.jpg" id="i6" onclick="cliccato(6)"></td>
<td><img src="img/bianca.jpg" id="i7" onclick="cliccato(7)"></td>
<td><img src="img/bianca.jpg" id="i8" onclick="cliccato(8)"></td>
</tr>
</tbody>
</table> <br>
<input type="reset">

</body>
</html>
qualcuno puo aiutarmi nel FOR?

3 Risposte

  • Re: Tris javascript

    lukesos ha scritto:


    Salve a tutti, sto riscontrando un problema nell'esecuzione del giochino tris in js, praticamente non riesco a far uscire la vincita
    [...]
    qualcuno puo aiutarmi nel FOR?
    Il problema non è nel ciclo for(), ma in questa parte del codice (al netto di altri possibili bug presenti altrove):
    
     if(document.getElementById("i"+0+1+2).src="img/cerchio.jpg"; 
    
    Prova ad aprire una qualsiasi console JavaScript e scrivere al suo interno l'espressione "i"+0+1+2 e vedi cosa ti restituisce come risultato: dubito che sia quello che ti aspetti.

    In linea di principio inoltre, eviterei di basare la verifica della risoluzione del gioco e la determinazione del suo stato in base alle immagini visualizzate o agli elementi del DOM: questo rende impossibile testare la logica senza avere l'interfaccia e richiede di apportare modifiche alla logica quando si decide di cambiare la grafica, condizione da evitare il più possibile.

    Con JavaScript puoi anche costruire oggetti: creane uno che contenga i dati su cui il gioco dovrebbe basarsi, ovvero un array delle celle della tabella con al loro interno una stringa o un numero che rappresenti il simbolo memorizzato, i dati del giocatore, il numero del turno corrente e così via, poi costruisci una funzione che "rifletta" queste informazioni sul DOM della pagina ovvero sulla GUI, andando preferibilmente a impostare classi CSS e pilotando poi l'effettiva visualizzazione tramite fogli di stile.

    P.S.: quando riporti il codice sul forum, dovresti formattarlo usando l'apposito pulsante sopra la casella del messaggio, altrimenti è illeggibile.

    Ciao!
  • Re: Tris javascript

    Va bene Alka grazie mille
  • Re: Tris javascript

    Inoltre, l'ultima istruzione della function "cliccato()" è la chiamata ad una function "vittoria()" che non esiste... in effetti hai una function che si chiama "vincita()".
Devi accedere o registrarti per scrivere nel forum
3 risposte