Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][Java][HTML]Kółko i krzyżyk - sprawdzanie wygranej
Forum PHP.pl > Forum > Przedszkole
manara
Ten kod pochodzi z gry Kółko i Krzyżyk. No to powinna być ta gra, ale nie do końca działa. Mógłby mi ktoś podopowiedzieć ( w jak się da najprostszym języku js ) jak zrobić by sprawdzało też wygraną po skosie, w środkowym i trzecim rzędzie?


<code>
function generator(){
var num=3, newdiv, divIdName;
for (var i=0; i<num; i++){
for(var j=0; j<num; j++){
newdiv=document.createElement('div');
divIdName= 'a'+i+j;
newdiv.setAttribute('id', divIdName);
newdiv.style.top=100+100*i+'px';
newdiv.style.left=100+100*j+'px';
newdiv.addEventListener('click', function(){Graj(this);});
document.body.appendChild(newdiv);
}
}
}

var k=0;
var p1 = "<img src='kolko.png'>";
var p2 = "<img src='krzyzyk.png'>";
var tab=[[0,0,0],[0,0,0],[0,0,0]];
var ids= [['a00','a01','a02'],['a10','a11','a12'],['a20','a21','a22']];

function Sprawdz(a) {
var sum1=0, sum2=0;
var win= false;

for (var i=0; i<3; i++){
for(var j=0; j<3; j++){
sum1+= tab[i][j];
sum2+= tab[j][i];
}

if (sum1==3*a || sum2==3*a)
win= true;
if(sum2==3*a)
alert("Wygrało Kółko");
if(sum1==3*a)
alert("Wygrał Krzyżyk");

sum1=0;
sum2=0;
return win;
}


}

function Graj(x){
var row, col;
for (var i=0; i<3; i++)
for(var j=0; j<3; j++)
if(x==document.getElementById(ids[i][j])){
row=i;
col=j;
}
console.log(row, col);
a33.innerHTML="";
if (k==0){
if(x.innerHTML!=p2 && x.innerHTML!=p1){
x.innerHTML=p1;
tab[row][col]=1;
if (Sprawdz(1))
a33.innerHTML=p1;

k=1;
}
}else{
if(x.innerHTML!=p2 && x.innerHTML!=p1){
x.innerHTML=p2;
tab[row][col]=-1
if (Sprawdz(-1))
a33.innerHTML=p2;

k=0;
}
}

for (var i=0; i<3; i++)
for(var j=0; j<3; j++){
a33.innerHTML+=tab[i][j]+" ";
a33.innerHTML+="</br>";
}

}

</code>
trueblue
http://www.rosettacode.org/wiki/Tic-tac-toe
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.