Allora ho sistemato il codice ma le pedine non si muovono e non capisco come mai
file scacchi.js
codice:
var oldColorG; //serve per ripristinare il colore della prima pedina selezionata
var oldColorV; //serve per ripristinare il colore della seconda pedina selezionata
var oldMoveG; //la vecchia posizione della prima pedina
var oldMoveV; //la vecchia posizione della seconda pedina
var xhr=getXMLHttpRequest(); //l'oggetto XMLHttpRequest per comunicare con il server
//mi costruisco la mia scacchiera
function scacchiera()
{
document.write('<table cellpadding=10 cellspacing=2 border=3px');
for(i=0;i<10;i++)
{
document.write('<tr>'); //creo le righe
for(j=0;j<10;j++)
{
((i+j)%2 !=0) ? colore='white' : colore='black'; //creo il colore di background bianco e nero alternati
document.write('<td id='+i+','+j+' bgcolor='+colore+' width=50 height=50> </td>');
} //con <td> mi creo la cella
document.write('</tr>');
}
document.write('</table>');
document.getElementById("0,9").setAttribute('bgcolor','yellow');//la prima pedina
document.getElementById("9,0").setAttribute('bgcolor','green');//seconda pedina
oldColor1='black';
oldColor2='white';
oldMove1="0,9";
oldMove2="9,0";
}
function getXMLHttpRequest()
{
if(XMLHttpRequest)
return new XMLHttpRequest();
else
{
try
{ //eccezione per Internet Explorer 6.0 o minori
return new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
return new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{}
}
}
return false;
}
///////////////////////////////////////////////////////////////////////////
var puntatoreMossa; //tiene traccia delle mosse
var giocatore; //tiene traccia di chi sara' il giocatore
function gioca()
{
//xhr.onreadystatechange=callback;
puntatoreMossa=0;
giocatore="yellow";
setTimeout('richiestaNewMossa('+puntatoreMossa+')',1000);
}
//funzione che richiede una nuova mossa
function richiestaNewMossa(puntatoreMossa)
{
xhr.onreadystatechange=function()
{
if(xhr.readyState==4)
if(xhr.status==200)
{
rispNewMossa(xhr.responseText);
}
xhr.open("GET","getPosition.php?",true);
xhr.send(null);
}
}
//risposta nuova mossa
function rispNewMossa()
{
if(risposta)
{
var coord=risposta.split(",");
if(document.getElementById(coord[0]+","+coord[1]).getAttribute('bgcolor')=="black")
{
alert("Mossa ignorata:sei su una casella bianca");
}
else if((coord[0]+","+coord[1])==oldMove1 && giocatore=="red")
{
document.getElementById(oldMove2).setAttribute('bgcolor',"white");
document.getElementById(coord[0]+","+coord[1].setAttribute('bgcolor',"red"));
alert("Il giocatore rosso ha mangiato!");
}
else if((coord[0]+","+coord[1])==oldMove2 && giocatore=="red")
{
document.getElementById(oldMove1).setAttribute('bgcolor',"white");
document.getElementById(coord[0]+","+coord[1].setAttribute('bgcolor',"red"));
alert("Il giocatore rosso ha mangiato!");
}
else if(giocatore=="red")
{
document.getElementById(oldMove1).setAttribute('bgcolor',"white");
oldMove1=coord[0]+","+coord[1];
document.getElementById(coord[0]+","+coord[1].setAttribute('bgcolor',"red"));
giocatore=red;
}
puntatoreMossa++;
setTimeout('richiestaNewMossa('+puntatoreMossa+')',1000);
}
else
{
//fine mosse
}
}
function addMove()
{
var x = document.getElementById("x").value;
var y = document.getElementById("y").value;
xhr.onreadystatechange=function()
{
if (xhr.readyState==4 )
if (xhr.status==200)
respMove(xhr.responseText);
}
xhr.open("GET","addPosition.php?x="+x+"&y="+y,true);
xhr.send();
}
function rispostaNewMossa(resp)
{
richiestaNewMossa(puntatoreMossa);
}
//file addPosition.php
[code]
<?php
if(isset($_GET["x"],$_GET["y"]))
{
$x = $_GET["x"];
$y = $_GET["y"];
$file = fopen("mosse.txt","a");
if($file)
{
fputs($file,"x$x,y$y;",4096);
fclose($file);
echo 1;
return;
}
echo -1;
}
?>
[code]
//file getPosition.php
codice:
<?php
$file=file('mosse.txt');
//la richiesta
$mossa=$_REQUEST['moveNumber'];
//controllo se la mossa esiste
if($mossa>=sizeof($file)||$mossa<0)
echo -1; //non esiste
else
echo trim($file[$mossa]); //ritorno il valore corrispondente nel file
?>
Dove sbaglio???