Allora ho sistemato il codice ma le pedine non si muovono e non capisco come mai
file scacchi.js
//file addPosition.phpcodice: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); }
[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
Dove sbaglio???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 ?>

Rispondi quotando