AntiGuide: AwaleShadok2021123Php



PagePrincipale :: DerniersChangements :: ParametresUtilisateur :: Vous êtes 216.73.216.92 :: Signaler un abus :: le: 20250720 16:48:28
<script language=JavaScript>
// sans doute pas de souci double espace dans terrain
// faudrai ne se passer que le flag
// est-il utile de lire après jeu effectué ?
// injouable jamanis nourrir
// faudrait detecter dessous disparu!
// vFestoir zoom car
// fiabiliser detection dessous par count=8!

function invalider(qui){
	// quine joue pas
	// se joue au moment du click, avant submit!
			// pas vu agir depuis longtemps
       // message pour remplacer "a vous de jouer..."	

var message
if (qui == "N") message=" j'attends, patientez "
if (qui == "S") message=" Merci, votre fus&eacute;e est lanc&eacute;e, patientez "
var OUI="oui"
if (document.getElementById("bounce").value == OUI){

	// detcté une double frappe 
	document.getElementById('shadok').value = 1
	  }
	document.getElementById('bounce').value = OUI
	// changer invite en merci! ne se voit pas sopuvent
	document.getElementById('trafic').value = message+qui
}

var startTime = 0
var start = 0
var end = 0
var diff = 0
var timerID = 0
function chrono(){
	end = new Date()
	diff = end - start
	diff = new Date(diff)
	var msec = diff.getMilliseconds()
	var sec = diff.getSeconds()
	var min = diff.getMinutes()
	var hr = diff.getHours()-1
	if (min < 10){
		min = "0" + min
	}
	
	if (sec < 10){
		sec = "0" + sec
	}
	if(msec < 10){
		msec = "00" +msec
	}
	else if(msec < 100){
		msec = "0" +msec
	}
	document.getElementById("chronotime").innerHTML = hr + ":" + min + ":" + sec 
	//document.getElementById("filetime").value=444
	timerID = setTimeout("chrono()", 10)
}
function chronoStart(top){
	document.chronoForm.startstop.value = "stop chrono!"
	document.chronoForm.startstop.onclick = chronoStop
	document.chronoForm.reset.onclick = chronoReset
	start = new Date()
	var etait=start.getMilliseconds()
	start.setMilliseconds(etait-1000*top)
	chrono()
}
function chronoContinue(){
	document.chronoForm.startstop.value = "stop!"
	document.chronoForm.startstop.onclick = chronoStop
	document.chronoForm.reset.onclick = chronoReset
	start = new Date()-diff
	start = new Date(start)
	chrono()
}
function chronoReset(){
	document.getElementById("chronotime").innerHTML = "0:00:00:000"
	start = new Date()
}
function chronoStopReset(){
	document.getElementById("chronotime").innerHTML = "0:00:00:000"
	document.chronoForm.startstop.onclick = chronoStart
}
function chronoStop(){
	document.chronoForm.startstop.value = "start!"
	document.chronoForm.startstop.onclick = chronoContinue
	document.chronoForm.reset.onclick = chronoStopReset
	clearTimeout(timerID)
}


</script>

<html>
<?php
// diverses constantes plus ou moins variables!
$SHOWNUM=false; // mettre lettre à côté des cases
$PAUSE=0;  // en fin d'execution du php pour avoir le temps de lire

$SAVENAVETTES=true;  // pour conserver toutes les étapes dans dossier detail
$version="20201123-2200";

$SERVER="http://flavigny.hd.free.fr";

$ECHOPARAM=false;
$ECHOPLATEAU=false; // aficher sur platyeau
$SOLO=true; // le shhadok du dessous joue automatiquement
// ou se placer pour appel vbs
$WORK="../work";
$SERIAL=true;

// ---------------------
// recuperer le nom du fichier!
define('racine', $_SERVER['PHP_SELF'], true);
$AWALE=substr(racine,1,strlen(racine)-5);



// ------------------ f u n c t i o n s 

function bouabout(){
// construction d'une chaine de tous les parametres
$longparam="";
$v=array_values($_REQUEST);
$r=array_keys($_REQUEST);

for ($i=0;$i<count($v);$i=$i+1) {
	$longparam=$longparam.$r[$i]."=".$v[$i]."&";
if($ECHOPARAM)	echo $r[$i].":".$v[$i]."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
//	if (($i+4)%5==0) echo "<br>"; 
}
return $longparam;
}

function chgttime(){
	global $navette;
	$act=0;
	if (file_exists($navette)) $act=filemtime($navette);
	$old=0;
	if (isset($_REQUEST['filetime'])) $old=$_REQUEST['filetime'];
	$chgt=$act!=$old;
	 if ("$act"=="0") $chgt=true;
//     echo "old=$old act:$act chgt: $chgt<br>";
	
	return $chgt;
}
function ajout($x,$y){return $x."&$y=".$_REQUEST["$y"];}

function pause(){
	global $PAUSE;
	if ($PAUSE>0) {
		echo "PAUSE($PAUSE)";
		sleep($PAUSE);
		echo " terminee"; 
	}
}
function writehtmlshadok(){
	global $AWALE;
	global $version;
	global $SERVER;

echo '
	<html>
<script language="Javascript">
var pair=0
var nbp=13 // nombre de nombres premiers utilisés
var alea=[1,2,3,5,7,11,13,17,19,23,29,31,37]
var nb=[1,2,3,5,7,11,13,17,19,23,29,31,37]
function init(){
	// tirer au hasard l ordre de presenttion des nombres 
var inb=0
while (nbp>0){
var from=parseInt(nbp*Math.random()) // 0 à nbp-1
// ranger le nb tire
nb[nbp-1]=alea[from]
// deplacer les suvat (tirage sans remise!)
if (from<nbp-1){
    for (inb=from;inb<nbp-1;inb=inb+1) {
        alea[inb]=alea[inb+1]
    }
  }
  nbp=nbp-1
} // while nbp>0
// tirer au hasard le nombre question
var n1=0
var n2=0
// eviter 2 serait utilisabe seulement dans dans 4=2+2 mai pas addicitone a un premier impair
// chercher le premier nombre premier impair 
do {
 n1=nb[parseInt(13*Math.random())]
} while (n1==2)
// chercher le deuxieme nombre premier impair 

do {
 n2=nb[parseInt(13*Math.random())]
} while (n2==2)

 document.moi.tot.value=n1+n2

 document.moi.b1.value=nb[0]
 document.moi.b2.value=nb[1]
 document.moi.b3.value=nb[2]
 document.moi.b4.value=nb[3]
 document.moi.b5.value=nb[4]
 document.moi.b6.value=nb[5]
 document.moi.b7.value=nb[6]
 document.moi.b8.value=nb[7]
 document.moi.b9.value=nb[8]
 document.moi.b10.value=nb[9]
 document.moi.b11.value=nb[10]
 document.moi.b12.value=nb[11]
 document.moi.b13.value=nb[12]

}

function faire(n) {
	if (pair>1  && document.moi.total.value==0) pair=0;
 pair=pair+1
 if (pair==1) document.moi.gg.value=n
 if (pair==2) document.moi.dd.value=n
 document.moi.total.value=parseInt(document.moi.gg.value)+parseInt(document.moi.dd.value)
 if(pair==2  && (document.moi.total.value==parseInt(document.moi.pair.value)))document.moi.go.click()
 if(pair==2 && (document.moi.total.value!=parseInt(document.moi.pair.value)))
    document.moi.playagain.value=" Ooops, try again! "
}
</script>


<b>Awale </b>
(Selon <a href="http://antiguide.free.fr/wiki/wakka.php?wiki=AwaleInternet">http://antiguide.free.fr/wiki/wakka.php?wiki=AwaleInternet )</a>
<br><br>
'.$AWALE.' mise &agrave; jour:'.$version.'

<!-- message pret à utlisier en cas de panne 
-->
<body onload="init()" >

<!-- 
<h2>UN PEU EN PANNE  REPARATION EN COURS </h2>
 -->
 
 
<form name="moi" method="post" action="'.$AWALE.'.php">

<input hidden type="submit" id=go name="go" title="valider" alt="valider le formulaire" 
value="R&eacute;solvez le probl&egrave;me ci dessous:" 
style="background-color:white;color:green" />



<br>sur le prochain &eacute;cran entrez le "nom de la partie"<br>
 
Notez que votre adresse Ip pourra &ecirc;tre enregistr&eacute;e.<br>
<br>


Avant tout, je v&eacute;rifie que vous n&apos;&ecirc;tes pas une machine:<br>
Trouvez deux nombres premiers dont la somme fait: <input disabled id=tot name=pair value="" size=3 style="background-color:white;color:green">

 <br> 
  <input type=button  id="b1"  onclick="faire(nb[0])" style="height:30px;" >
  <input type=button  id="b2"  onclick="faire(nb[1])" style="height:30px;">
  <input type=button  id="b3"  onclick="faire(nb[2])" style="height:30px;">
  <input type=button  id="b4"  onclick="faire(nb[3])" style="height:30px;">
  <input type=button  id="b5"  onclick="faire(nb[4])" style="height:30px;">
  <input type=button  id="b6"  onclick="faire(nb[5])" style="height:30px;">
  <input type=button  id="b7"  onclick="faire(nb[6])" style="height:30px;">
  <input type=button  id="b8"  onclick="faire(nb[7])" style="height:30px;">
  <input type=button  id="b9"  onclick="faire(nb[8])" style="height:30px;">
  <input type=button  id="b10"  onclick="faire(nb[9])" style="height:30px;">
  <input type=button  id="b11"  onclick="faire(nb[10])" style="height:30px;">
  <input type=button  id="b12"  onclick="faire(nb[11])" style="height:30px;">
  <input type=button  id="b13"  onclick="faire(nb[12])" style="height:30px;">
  
<br>  <input  disabled name=g id="gg" value="0" size=3>
+
<input disabled name=d id="dd" value="0" size=3>

<input disabled name=d id="total" value="0" size=3>
&nbsp;&nbsp;&nbsp;&nbsp;
<input type=button  id="playagain" value="   Choississez un nombre dans la ligne ci-dessus   " 
  onclick="document.moi.playagain.value=';
  echo "'Choississez un second nombre dans la ligne ci-dessus';document.moi.gg.value=0;document.moi.dd.value=0;document.moi.total.value=0; \"
  style='height:30px;'>";
  echo '
 </form>
sources (pour les fans ou addicts):<br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="'.$SERVER.'/'.$AWALE.'.php.txt" target="_blank">.php</a>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="'.$SERVER.'/awale.vbs.txt" target="_blank">awale.vbs</a>
</body>
</html>';
pause();

}

function writehtmlshadokBAD(){
	global $AWALE;
	global $version;
	global $SERVER;

echo '
	<html>
<script language="Javascript">
var pair=0
var nbp=13 // nombre de nombres premiers utilisés
var alea=[1,2,3,5,7,11,13,17,19,23,29,31,37]
var nb=[1,2,3,5,7,11,13,17,19,23,29,31,37]
function init(){
	// tirer au hasard l ordre de presenttion des nombres 
var inb=0
while (nbp>0){
var from=parseInt(nbp*Math.random()) // 0 à nbp-1
// ranger le nb tire
nb[nbp-1]=alea[from]
// deplacer les suvat (tirage sans remise!)
if (from<nbp-1){
    for (inb=from;inb<nbp-1;inb=inb+1) {
        alea[inb]=alea[inb+1]
    }
  }
  nbp=nbp-1
} // while nbp>0
// tirer au hasard le nombre question
var n1=0
var n2=0
// eviter 2 serait utilisabe seulement dans dans 4=2+2 mai pas addicitone a un premier impair
// chercher le premier nombre premier impair 
do {
 n1=nb[parseInt(13*Math.random())]
} while (n1==2)
// chercher le deuxieme nombre premier impair 

do {
 n2=nb[parseInt(13*Math.random())]
} while (n2==2)

 document.moi.tot.value=n1+n2

 document.moi.b1.value=nb[0]
 document.moi.b2.value=nb[1]
 document.moi.b3.value=nb[2]
 document.moi.b4.value=nb[3]
 document.moi.b5.value=nb[4]
 document.moi.b6.value=nb[5]
 document.moi.b7.value=nb[6]
 document.moi.b8.value=nb[7]
 document.moi.b9.value=nb[8]
 document.moi.b10.value=nb[9]
 document.moi.b11.value=nb[10]
 document.moi.b12.value=nb[11]
 document.moi.b13.value=nb[12]

}

function faire(n) {
  document.moi.playagain.value=pair
}

function nul(){
  return
 if (pair==0 ) document.moi.gg.value=n
 if (pair==1 )  document.moi.dd.value=n
 document.moi.total.value=parseInt(document.moi.gg.value)+parseInt(document.moi.dd.value)
 if(pair==0 ) document.moi.playagain.value=" Choisissez un second nombre dans la liste ci dessus! "
 if(pair==1 && (document.moi.total.value==parseInt(document.moi.pair.value)))document.moi.go.click()
 if(pair==1 && (document.moi.total.value!=parseInt(document.moi.pair.value))){
    document.moi.playagain.value=" Ooops, try again! "
	return
   }
   pair=pair+1
}
</script>


<b>Awale </b>
(Selon <a href="http://antiguide.free.fr/wiki/wakka.php?wiki=AwaleInternet">http://antiguide.free.fr/wiki/wakka.php?wiki=AwaleInternet )</a>
<br><br>
'.$AWALE.' mise &agrave; jour:'.$version.'

<!-- message pret à utlisier en cas de panne 
-->
<body onload="init()" >

<!-- 
<h2>UN PEU EN PANNE  REPARATION EN COURS </h2>
 -->
 
 
<form name="moi" method="post" action="'.$AWALE.'.php">

<input hidden type="submit" id=go name="go" title="valider" alt="valider le formulaire" 
value="R&eacute;solvez le probl&egrave;me ci dessous:" 
style="background-color:white;color:green" />



<br>sur le prochain &eacute;cran entrez le "nom de la partie"<br>
 
Notez que votre adresse Ip pourra &ecirc;tre enregistr&eacute;e.<br>
<br>


Avant tout, je v&eacute;rifie que vous n&apos;&ecirc;tes pas une machine:<br>
Trouvez deux nombres premiers dont la somme fait: <input disabled id=tot name=pair value="" size=3 style="background-color:white;color:green">

 <br> 
  <input type=button  id="b1"  onclick="faire(nb[0])" style="height:30px;" >
  <input type=button  id="b2"  onclick="faire(nb[1])" style="height:30px;">
  <input type=button  id="b3"  onclick="faire(nb[2])" style="height:30px;">
  <input type=button  id="b4"  onclick="faire(nb[3])" style="height:30px;">
  <input type=button  id="b5"  onclick="faire(nb[4])" style="height:30px;">
  <input type=button  id="b6"  onclick="faire(nb[5])" style="height:30px;">
  <input type=button  id="b7"  onclick="faire(nb[6])" style="height:30px;">
  <input type=button  id="b8"  onclick="faire(nb[7])" style="height:30px;">
  <input type=button  id="b9"  onclick="faire(nb[8])" style="height:30px;">
  <input type=button  id="b10"  onclick="faire(nb[9])" style="height:30px;">
  <input type=button  id="b11"  onclick="faire(nb[10])" style="height:30px;">
  <input type=button  id="b12"  onclick="faire(nb[11])" style="height:30px;">
  <input type=button  id="b13"  onclick="faire(nb[12])" style="height:30px;">
  
<br>  <input  disabled name=g id="gg" value="0" size=3>
+
<input disabled name=d id="dd" value="0" size=3>

<input disabled name=total id="total" value="0" size=3>
&nbsp;&nbsp;&nbsp;&nbsp;';

echo "<input type=button  id='playagain' value=' Choississez un nombre dans la ligne ci-dessus  '";
echo "onclick=\"document.moi.playagain.value=' Choississez un nombre dans la ligne ci-dessus';pair=-1;document.moi.gg.value=0;document.moi.dd.value=0;document.moi.total.value=0; 
  style='height:30px;'>\"";
  echo '
</form>
<br>sources (pour les fans ou addicts):<br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="'.$SERVER.'/'.$AWALE.'.php.txt" target="_blank">.php</a>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="'.$SERVER.'/awale.vbs.txt" target="_blank">awale.vbs</a>
</body>
</html>';
pause();

}

function dessous($x){
	 if ("$x"=="N") return "S";
	 if ("$x"=="S") return "N";
	 // gaffe si x vide!
	 return "";
}
function stamped($seed){
	global $nomcsv;
	$gagne=false;
	while (!$gagne){
		$radical="$seed-".date("YmdHis");
		if (!file_exists("$WORK/$radical")){
			mkdir("$WORK/$radical");
			$nomcsv="$WORK/$radical/$radical.csv";
			$gagne=true;
			$f=fopen($nomcsv,"w");
			if (!$f) alert("erreur creation de  $nomcsv");
			fclose($f);
			return $radical;
		}
    // atendre 
	sleep(1);
	}
}
function serialgame(){
	global $SERVER;
	global $SERIAL;
	if (!$SERIAL) return;
	global $TERRAIN;
	global $k;
	global $NS;
	global $AWALE;
	global $by;
	global $adv;
  $tt2=encoder("$TERRAIN");
  // oter stamp de token
 if (!strpos($k,"_")) $nk=$k."_1";
else {
	
	// supprimer au dela à la fin
	$oldk=$k;
	$possouli=strpos($k,"_");
	$nombre=substr($k,$possouli+1);
	$nombre=$nombre+1;
	$nk=substr($k,0,$possouli+1).$nombre;
//	alert ("old: $oldk k:$k");
	}
   if ("$NS"=="N")return;
//echo "<br>GAFFE: TRAVAUX EN COURS by:$by adv:$adv <br>";
echo "\n<br><input type=button style='background-color:white;color:green' value=\"$by lance une nouvelle partie contre $adv\" onclick='window.open(\"$SERVER/$AWALE.php?web=2&relance=1&by=$by&coups=1&nordsud=S&token=$nk&periode=1&t=$tt2&email=$by&adversaire=$adv\",\"_self\")'>";

}// serial game
// fin de serial ghame

function encoder($T){
		$tt=substr($T,1,strlen($T)-2);
	$tt2="%5b";
	for ($i=0;$i<strlen($tt);$i=$i+1) {
		$unc=substr($tt,$i,1);
		if ("$unc" == " ") $unc="%20";
		$tt2=$tt2.$unc;
	}
	$tt2=$tt2."%5d";
return $tt2;
}

function hhmmss($sec){
	$s=$sec % 60;
	$sec=$sec-$s;
	$m=$sec/60;
	$h=$sec-60*$m;
	return "$h:$m:$s";
}

function num($long){
 $deb=strpos($long,"#");
 $L2=substr($long,$deb+1);
 $fin=strpos($L2,"(");
 return substr($L2,0,$fin);
}

function submitnow($appel) {
echo '<script langage="Javascript">
  document.getElementById("refresh").click(); // Click on the checkbox
</script>
';
}

$qui=" pa s envore defini ";
if (isset($NS))$qui=$NS;
// aleret("init 21 done");

$cmdline="";
// si cmd non vide initile afficher dsazns febug
$PAGE=true;
// projet si cmd vide ne rien afficher!
// bnavette efface si hnage malgré param contraire 
$LARGEUR = "<script language='Javascript'> document.write(window.innerWidth);  </script>"; //obtenir largeur fenetre
  
// echo "largeur de la fenetre: $LARGEUR <br>"; // affiche le script


function alert($texte){ // GAFGFE synonyme en javascript!
      echo "<script language='Javascript'> {alert('".$texte."')}</script>\n";
 }
 
 // 

function reculer(){ // GAFGFE synonyme en javascript!
return;
      echo "<script language='Javascript'> {window.history.back();Location.reload(true)}</script>\n";
// reculer possible mais plus d'invoite à refresh!
//      echo "<script language='Javascript'> {window.history.back();Location.reload(true)}</script>\n";
 }
 
 
function trimcrlf($in){
	$inin=$in;
	if (strlen($in)>0){
    while (strlen($inin)>0 && substr($inin,strlen($inin)-1)<=" ") $inin=substr($inin,0,strlen($inin)-1);
	}
	return $inin;
}
function createflag($nom){
	echo "createflag $nom<br>";
	$fl=fopen($nom,'a');
	fclose($fl);
} // createflag

function RESTART($appel){
	global $AWALE;
	global $SERVER;
	// relance
	$k1=$_REQUEST['token'];
				$root=substr($k1,0,strpos($k1,'-'));	
			$n="reset=1&web=2&nordsud=S";
			    $n=ajout($n,'token');
				$n=ajout($n,'coups');
			    $n=ajout($n,'by');
				$n=ajout($n,'adversaire');
				$n=ajout($n,'t');
				$n=ajout($n,'periode');
				$todo="window.open(\"$SERVER/$AWALE.php?$n\",'_self')";
	raw(9,"coup perdu, relance\r\n");
	alert("Lancement perdu; sans doute frappe trop rapide (cas: $appel).");
// relancer la partie au coup précédent dans la meme fenetre
	echo "\n<script language='javascript'>$todo</scripT>";
}
// ------------ fin de F u n c t u o n 

if($ECHOPARAM)echo boutabout()."<br>";



if (isset($_REQUEST['apropos'])){
	$apropos=$_REQUEST['apropos'];
	// je ne saois pourquoi il faut test =vrai?
	if ($apropos){
 echo "<html><body><form>";
 echo "$AWALE.php version:$version<br>";
 if (isset($_REQUEST['token']))echo "partie: ".$_REQUEST['token']." <br>";
 if ("$NS"=="S") echo "$by contre $adv.<br>";
 if ("$NS"=="N") echo "$adv contre $by.<br>";
 echo "Pour tout savoir, lisez: <a href=\"http://antiguide.free.fr/wiki/wakka.php?wiki=AwaleInternet\">http://antiguide.free.fr/wiki/wakka.php?wiki=AwaleInternet</a><br>";
 echo "<br>Vous jouez avec la version d'entra&icirc;nement (dite 'shadok'), pour un jeu &agrave; distance, suivez:<br>";
 echo "lisez: <a href=\"$SERVER/Awale.php\">$SERVER/Awale.php</a>";
 echo "</form></body></html>"; 
 pause();

 return;
}
}


$maj="";
if (isset($_REQUEST['autrelance'])) {
	$autrelance=$_REQUEST['autrelance']+1;
	//alert("incremente param autrelance:$autrelance");
}
else{
$autrelance=0;
// alert("autrelance init $autrelance");
}

 
 // terrain pour page html et relance (erxceptions forcées)
 $TERRAIN="[N:0 A:4 B:4 C:4 D:4 E:4 F:4 1:4 2:4 3:4 4:4 5:4 6:4 S:0]";
//$TERRAIN="[N:24 5:2 6:1 S:21]";
// exemples de cas particuliers forgés
//$TERRAIN="[N:18 A:1 B:1 C:0 D:0 E:1 F:0 1:0 2:0 3:0 4:0 5:0 6:5 S:22]";
//$TERRAIN="[N:18 A:0 B:1 C:0 D:0 E:0 F:0 1:0 2:0 3:1 4:0 5:4 6:1 S:23]";  // impossible affamer
//$TERRAIN="[N:19 A:0 B:0 C:0 D:0 E:0 F:0 1:0 2:0 3:1 4:0 5:4 6:1 S:23]";  // faut nou
//// [N:20 A:1 B:0 C:0 D:0 E:0 F:0 1:0 2:2 3:1 4:0 5:0 6:0 S:24]"; // sud gagnantoar famine 
// $TERRAIN="[N:12 A:0 B:2 C:0 D:14 E:0 F:0 1:0 2:0 3:3 4:1 5:0 6:0 S:16]";

if (isset($_REQUEST['histo'])){
	$k7=$_REQUEST['token'];
$fp=fopen("$WORK/$k7/$k7.csv",'r');
echo"partie: $k7<br>";
while (!feof($fp)){
	echo fgets($fp)."<br>";
}
fclose($fp);
	return;
}

// intercepter aucun parametre, redirigé vers .html
if (count($_REQUEST)=="0") {
//autreouautoplay
	writehtmlshadok();
	return;

} 

$by="";
if (isset($_REQUEST['by'])) $by=$_REQUEST['by'];

echo "<!-- by mis a $by<br>-->";
//$by="Shadok_du_dessus";
$adv="";
$yaeubold=false;

$SOON=false;
// ne pas faire lu1 si len(cmd)>0

$RAF=1; // période raffraichissement préremplie sur page html générée
$verdict="";
$verdictbrut="";
$LU1=false;
$YAEUEXEC=false;  // passe a vrai si 
$elapsed=0;
if (isset($_REQUEST['elapsed'])) $elapsed=$_REQUEST['elapsed'];

/// que faire de [N:24 A:0 B:0 C:0 D:0 E:0 F:1 1:1 2:0 3:0 4:0 5:0 6:1 S:21] 
$SHOWREFRESH=" hidden" ;
$ABANDON=false;
$MANUMILITARI=false  ;  // demande bouton continuer a chaque page
$DELTMP=false; // false ne pas supprimer les temporaires à la fin

$termine=false;
$terminex2=false;

if (isset($_REQUEST['termine'])) {
	$terminex2=$_REQUEST['termine'];
}

$msg="";
$tlu=false;
$avous=false;
$liste="";
$stampstart=time();
$ignns1="";
$ignns="";

$k="";  
//$nomcsv="";
if (isset($_REQUEST['token']))	$k=trim($_REQUEST['token']);

$NS="unk";
// $submited=0;
if (isset($_REQUEST['nordsud'])) $NS=$_REQUEST['nordsud'];

// drapeau
//echo "tester abandon<br>";
if (isset($_REQUEST['abandon']))	$ABANDON=trim($_REQUEST['abandon']);
if (strlen($ABANDON)>0) {
echo "\n<!--";
echo var_dump($_REQUEST)."<br>";
echo "\n-->\n";
//alert("go");
$by=$_REQUEST['by'];
echo "by mis a $by<br>";
echo "<!-- by request mis a vide<br>-->";

$adv=$_REQUEST['adversaire'];
$PERIODE=$_REQUEST['periode'];
$k=$_REQUEST['token'];
$NS=$_REQUEST['nordsud'];
serialgame();
   echo "<b><br>vous pouvez fermer la fen&ecirc;tre du navigateur<br><br>";
   echo "\n<input  type='submit' name='playagain' title='playagain'  value='Play again.' style='background-color:white;color:green' 
 onclick=\"location.href = '$AWALE.php' \" >";
  echo "\n</html>";
  pause();

	return;
}

// echo "----------------a<br>";

// acces à la navette depuis dossier html
$navette="$WORK/$k/$NS/$k.txt";
$flag=   "$WORK/$k/$NS/$k.lck";


$fauttimeout=false;
//------------------------
if (isset($_REQUEST['t'])) {
	  $trelu=$_REQUEST['t'];
	//h  echo "tparam: $trelu (sera remplace si navette lue)<br>";
}

	$j="";
	if (isset($_REQUEST['jeu']))$j=$_REQUEST['jeu'];

if ("$navette" != ".txt"){


 $chgt=chgttime() || "$NS"=="S";
 // echo "$NS evolution nav:". file_exists($flag)." flag:" .file_exists($navette) ." chgt $chgt <br>";
 // chgt en test
if (file_exists($flag) && file_exists($navette) ){
     $fi=fopen($navette,'r');  //1
   	$LU1=true;

//b	echo "lire navette: $navette<br>";
	   $trelu=trimcrlf(fgets($fi));
	   $t=$trelu;
	   $ignnb=trimcrlf(fgets($fi));
	   $liste=trimcrlf(fgets($fi));
	   $prochain=trimcrlf(fgets($fi));
	   $ignns=trimcrlf(fgets($fi));
	   $ignns1=substr($ignns,0,1);
	   $avous=$ignns1==$NS;
	 if ($avous)   $fauttimeout=false;
	   $bonnefin=trimcrlf(fgets($fi));
	//   $savefin=$bonnefin;
	   $nous="N";
	   $ouf=strpos($bonnefin,"Sud");
	   if ($ouf>0)$nous="S";
	   // echo "----------------C<br>";


        
	   // en réserve pour acheminer un message entre les joueurs, actuellement pas utilisé
	   $message=trimcrlf(fgets($fi));
		
	// -----------------------------------
	fclose($fi);
	
 	$tlu=true;
	$fauttimeout=true;

//---------------------------
	 $premlettre=substr($bonnefin,0,1);
	
// traitement de gagannt par famine		
		 if (("$premlettre"=="S" || "$premlettre"=="N") && strpos($bonnefin,"gagnant")>0) {
		if (!$terminex2  && $NS==substr($bonnefin,0,1))	 	raw(2229,"$prochain, ".tontong($t).",$t , $bonnefin\r\n");//prevcase: $prevcase ");

			 $termine=true;
			
	 	 	if ("$premlettre"=="$NS") {
				 $verdict= '<span style="color: #00ff00"><b>gagn&eacute; (par famine). </b><span style="color: #000000">';
		 	     $verdictbrut= 'gagné (par famine).';
			}
				else  {
					$verdictbrut= 'perdu (par famine) ';
					$verdict= '<span style="color: #ff0000"><b>perdu (par famine). </b><span style="color: #000000"> ';
				}
	
    		  
		 }; 
		 
		 
// traitement de gagne
 if (("$premlettre"=="S" || "$premlettre"=="N") && strpos($bonnefin,"gagne")>0) {
	 $termine=true;
	 	if (!$terminex2  && $NS==substr($bonnefin,0,1)) raw(2229,"$prochain, ".tontong($t).",$t , $bonnefin\r\n");//prevcase: $prevcase ");
				  
	 // ici dfin de partie S ou N a gagné
			 $termine=true;
			  if ("$premlettre"=="$NS") {
		    	$verdict='<span style="color: #00ff00"><b>gagn&eacute; </b><span style="color: #000000">';
		    	$verdictbrut='gagné';
			  }
			  else 
			  {
				  $verdict='<span style="color: #ff0000">perdu. </b><span style="color: #000000">';
        		  $verdictbrut='perdu.';
   		  }
		 }; 
		 // fini gagne


//---------------------------
}
}
 // echo "----------------g<br>";

// ---------------------------


echo "\n<!--";
echo var_dump($_REQUEST)."<br>";
echo "\n-->\n";

// startfime si yaeubold sans doute plus utile
// efacser navette si perdu (faudrait un délai! sinon risque de faire avant lu par gagné!)

$fi="not opened"; //sera le fichiernavette
$token="";
$stampprev="0";


 if (isset($_REQUEST['stampstart']) ) {
	$stampprev=$_REQUEST['stampstart'];
}

 // echo "----------------L56br>";

global $k;
	  $nav=$k."_1.txt"; // le fichier navette recopié dans dossiers N ou S 
if (file_exists($nav)) unlink($nav);


// echo "----------------L3<br>";

// appel direct impossible
$PERIODE=0;

// echo "----------------L2<br>";
 
// var_dump($_REQUEST);
if (isset($_REQUEST['periode']) ) {
	$PERIODE=$_REQUEST['periode'];
 //  echo "param periodedemandee $PERIODEDEMANDEE <br>\n";
   if ("$PERIODE"<="0") {
	   echo "impossible p&eacute;riode <=0\"<br>\n";
	   return;
  }
  
$periodems=1000*$PERIODE;

} 

// echo "----------------l<br>";



// $avous reçu en parametre signifie que tour precedent deja a moi de jouer

$avouslu=$avous;
if (isset($_REQUEST['avous']) && strlen($trelu)==0) {
	$avous=$_REQUEST['avous'];
    if ("$avous"!="$avouslu")  alert("avous: lu: $avouslu param:$avous");
    echo "<br>param avous:$avous<br>";
}

// essai $w init a ""
$w="";
$last="";


function raw($num,$msg){
	global $WORK;
//	alert("raw $num $msg");
	global $nomcsv;
	global $NS;
	if (!isset($nomcsv) && isset($_REQUEST['token']) ){
	$nomcsv="$WORK/".$_REQUEST['token']."/".$_REQUEST['token'].".csv";
	}
	if (isset($nomcsv) ){
    if(strlen($nomcsv)>0){
		
	$history=fopen($nomcsv,'a');

	if (strlen($msg)==0) fwrite($history,"$msg\r\n");
	fwrite($history,$msg);
	fclose($history);
	}
}

}

// tonton comme function 
function tontong($terrain){
	return "";
	//tontong local
	$ttg="";
$deupt=false;
for ($itg=0;$itg<strlen($terrain);$itg++){
	$uncar=substr($terrain,$itg,1);
	if ("$uncar"==" " && substr($ttg,strlen($ttg)-1)!="," )$ttg=$ttg.",";
	if ("$uncar">="0"  && "$uncar"<="9")$ttg=$ttg.$uncar;
	if ("$uncar">="A"  && "$uncar"<="Z")$ttg=$ttg.$uncar;
	if ("$uncar"==":") $ttg=substr($ttg,0,strlen($ttg)-1);
}
return $ttg;
}


//message

 /** selonn ?????
     * Get current user IP Address.
     * @return string
     */
    function get_ip_address() {
        if ( isset( $_SERVER['HTTP_X_REAL_IP'] ) ) {
            return $_SERVER['HTTP_X_REAL_IP'];
        } elseif ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
            // Proxy servers can send through this header like this: X-Forwarded-For: client1, proxy1, proxy2
            // Make sure we always only send through the first IP in the list which should always be the client IP.
            return (string) self::is_ip_address( trim( current( explode( ',', $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) ) );
        } elseif ( isset( $_SERVER['REMOTE_ADDR'] ) ) {
            return $_SERVER['REMOTE_ADDR'];
        }
        return '';
    }
	
	
function graines($ou){
	global $t;
	$tt=substr($t,0,strlen($t)-1)." ";
	$ici=strpos($tt,$ou.":")+2;
	if (!$ici) return 0;
	$suite=substr($tt,$ici);
	$fini2=strpos($suite," ");
	$gr=substr($suite,0,$fini2);
	return $gr;
}


function ligne($q){
	
$image="gt/l".graines($q).".jpg";
echo "\n<input disabled src='".$image."' style='width:100%;height:5% ;'  size='4' type='image' >";
}  // function ligne


function casejouee(){
	global $prochain;
	global $cases;
	global $NS;
	global $stampstart;
	global $stampprev;
	global $elapsed;
	if (strlen($NS)==0) return "";
// fusionner les boutons pour avoir LA case à distribuer
$cmd="";
// rcherche clic sur une case image
for ($cases=1;$cases<=13;$cases++){
  $nom="C".$cases;
  if ($NS=="S")   $lettre=substr("?ABCDEF123456",$cases,1);
  if ($NS=="N")   $lettre=substr("?654321FEDCBA",$cases,1);

  $one="";
  if (isset($_REQUEST[$nom."_x"]) ){
       $one=$_REQUEST[$nom."_x"];
       $cmd=$lettre;
	//   raw(333, "$prochain $NS clic sur $cmd strlen(prochain):".strlen($prochain)."\r\n");
// nouveau relance depuis^parametres
// deplace dans PP

 
	   // des exec case jouee incremente elapsed
	   if ("$NS" != "S" || $prochain>1) $elapsed=$elapsed+$stampstart-$stampprev;
	 //  echo "(1) start: $stampstart avant: $stampprev elapsed: $elapsed<br>";
 		}
}  // fin de for 1 a 12
// fin de for 1 a 12
// if (strlen($cmd)==0) alert("jeu vide");
return $cmd;
} // fin de case jouee
// fini cases jouee

function plateau($num){
global $NS;
global $SOON;
if ($SOON) {
	//alert("SOON plateau");
	return;
}
// echo "plateau $num<br>";
    if ("$NS"=="N") plateauU($num,"N","S","654321FEDCBA");;
    if ("$NS"=="S") plateauU($num,"S","N","ABCDEF123456");
}

function plateauU($num,$bas,$haut,$ordre){
	global $termine;
//	global $SMARTPHONE;
	global $LARGEUR;
	global $periodems;
	global$elapsed;
global $yaeubold;
global $avous;
global $ns;
global $j;
global $ns;
global $start;
global$pojoueur;
global $t ;
global $liste;
global $termine;
global $autrelance;
global $NS;
global $prochain;
global $jeu;
global $SHOWNUM;
global $ECHOPLATEAU;
global $SOLO;
$faut=false;
$espoir=false;
$parmi=false;
if ("$NS"=="S")$avous=true;
if ($ECHOPLATEAU) echo "NS:$NS avous:$avous autrelance:$autrelance liste:$liste <br>";
ligne($haut);

echo "<br>\n";
$yaeubold=false;
$WIDTH="14%";
$HEIGT="30%";

for ($cases=1;$cases<=12;$cases++){

// test graines
$lacase=substr("x".$ordre,$cases,1);
$initiale=$lacase;
$parmi=strpos($ordre,$initiale);

$contenu=graines($lacase);
$cnord=$initiale ;// .":".$contenu;
$bin="";
$bout="";
$disabled=" disabled ";
$px="20px";
$jouerlacase="";
$pos=strpos("x".$liste,$initiale);
//echo "$pos";
// calculer si la case est autorisée  ch sera vrai si case à montrer
	$ch=($cases>=7 && $avous && ( $pos>0 || $contenu==0)  && ( "$autrelance"!="2" || "$NS"=="N"));
//	$ch=($ch  || ( "$NS"=="S" &&$cases>=7));

if ($ch && $pos>0){
$disabled="";
$px="30px";
$prevision=$contenu;
if ($prevision>"12")$prevision=$prevision+1;
if ($prevision>"24")$prevision=$prevision+1;
$prevision=$prevision+strpos($ordre,$initiale);
$finale=substr($ordre.$ordre.$ordre.$ordre,$prevision,1);

if ("$contenu"=="0")$jouerlacase="Rien &agrave; distribuer. ";
if ("$contenu"=="1") $jouerlacase="Distribuer cette graine. ";
if ("$contenu">"1") $jouerlacase="Distribuer $contenu graines.";
}

// au coup 2 (avant de lancer dessous, ne rien autoriser 
if ("$autrelance"=="2") $disabled=" disabled ";

$nom="C$cases";
$Z=""; // pour accuezilli faut nourrir 

// choix de l'image 
$image='gt/r'.$contenu.'.jpg';  // par defaut icone barrée
//echo "$ch.$contenu".strlen($disabled);
if ($cases>6 && $avous  && strlen($disabled)>0  && "$contenu">"0") {
	 $Z=$Z." Faut nourrir l'adversaire";
//	 echo "Z";
}
// si besoin ione jouable 
if ($ch&&  strlen($disabled)==0 &&  "$autrelance">="3" && !$termine   ) {
	$image='gt/b'.$contenu.'.jpg'; // icone jouable 
$yaeubold=true;
//echo "a";
} // ==0
// supprimer

if ($SOLO && "$NS"=="N")$image='gt/r'.$contenu.'.jpg'; // barre

//echo "cases:$cases NS:$NS contenu:$contenu avous:$avous disabled:$disabled <br>";
if ("$contenu"=="0") $Z="$Z (vide)";
if ( $cases>6 && strlen($disabled)>0 && !$termine) $jouerlacase="Injouable.".$Z;
if ( $termine) $jouerlacase="C&apos;est fini!).";

$STYLE="style=\"width:$WIDTH;height:$HEIGT;font-size:$px\"";
if ($SHOWNUM)echo substr("xABCDEF123456",$cases,1);
echo "\n<input $STYLE type='image' onclick=\"invalider($NS)\" src='$image' $disabled  id='$nom' name='$nom' title='$jouerlacase' alt='$jouerlacase' value=''  >";
 
// echo "\n<input type='image' src='".$image."' $disabled style='width:".$WIDTH.";height:".$HEIGT." ;font-size:".$px."'  size='4' id='".$nom."' name='".$nom."' title='".$jouerlacase."' alt='".$jouerlacase."' value=''  >";

if ("$cases"=="6" || "$cases"=="12") echo "<br>";

} //  for cases 

ligne($bas);
echo "<br>\n";

//echo "\n</fieldset>\n";
if ($termine) $yaeubold=false;

if ($yaeubold) $start=time();    // signe a moi de jouer, chrono on
 

 
} // -------------------- fin de  plateau 
 // -------------------- fin de  plateau 


// ------   fin des functions      debut de l'exécution 
// ---------------------------- constantes

$buttoir="en cours.";  //intercepter navette; DOIT correspondre à .vbs!

$msg="";
if (isset($_REQUEST['msg'])) $msg=$_REQUEST['msg'];
//echo "<br>\nmsg::::$msg:::";

$start=0;
if (isset($_REQUEST['stampstart'])){
 	$start=$_REQUEST['stampstart'];
	//hecho "start conservé recu en param $start<br>\n";
}
	
$cmd=casejouee();  

//if (strlen($cmd)>0)raw(9,"frappe:$cmd\r\n");
// si sud joue oter verrou

if (isset($t)) {
$joueur="Shadok du dessus";
if ("$NS"=="N") $joueur="Shadok du dessous";

if (strlen($cmd)==1 )  raw(2222,"$prochain, $t , $joueur ($NS) joue, $cmd \r\n");//prevcase: $prevcase ");
 
}
 if (strlen($cmd)>0)  $start=0;


 // aleret("init done");
 
// idior $AWALE="$AWALE";   //pour lien et appel vbs $k  prévu pour éventuiellement versions concurrentes
$antiguide="http://antiguide.free.fr"; // pour affichage lien aide


// ------- initialisations 
$fautlire=false;  // vrai pour -1, -2, mais pas refresh(parametre)
$fautparam=false;

 //  ------charger paramètres 
$w9="";
if (isset($_REQUEST['web'])) $w9=$_REQUEST['web'];
   
   if ("$w9"=="2" ){
	   // interdire la lecture à N tant que pas joue
	   if (file_exists("$WORK/$k/$k.lck"))unlink("$WORK/$k/$NS/$k.lck");
	//22   raw(0,"$NS recoit appel web=2 $longparam\r\n");

  $nomv="$WORK/$k/N/$k.txt";
if (file_exists($nomv)){
	unlink($nomv);
//	raw(99,"$nomv efface\r\n");
}
  $nomv="$WORK/$k/N/$k.lck";
if (file_exists($nomv)){
	unlink($nomv);
//	raw(99,"$nomv efface\r\n");
}
// premeir excec
// horodater le token si il a deja - 
// le pb ne se pose pas en shadok 
      $k=trim($_REQUEST['token']);
	  $kold=$k;
	  $dejavu=strpos($k,"-");
	  if (isset($_REQUEST['reset'])) $dejavu=true;
	   if (!$dejavu) $k=stamped($k);
// alert("stamped $dejavu $kold devient $k");
	   

   $t=$_REQUEST['t'];
   	//   raw(1,"$BIG $NS tparam (1): $t\r\n");

// compter les graines pour éventuellité erreur départ forgé
$total=0;
$trest=trim($t);
$trest=substr($trest,0,strlen($trest)-1)." ";
while (strlen($trest)>1) {
	$deuxpt=strpos($trest,":");
	$la=substr($trest,0,$deuxpt);
	$trest=substr($trest,$deuxpt+1);
	$espace=strpos($trest," ");
	$nb=substr($trest,0,$espace);
	$total=$total+$nb;
	$trest=trim(substr($trest,$espace)).' ';
}

if ("$total"!="48") {
	echo "Plateau forg&eacute: $t<br>incorrect: $total graines au lieu de 48, recommencez.<br>\n";
	return;
}
   
	
  }
  

echo "
";
// -------------------------------------


// po hasard}



echo "<head>";
echo "</head>
";
$onaexec=false;
//echo "<br>----------0098---------w:$w---------BOF NS:$NS<br>";

  $refresh=false;
if (isset($_REQUEST['refresh']))$refresh=true;


// pof $w="";
if (isset($_REQUEST['web'])) $w=$_REQUEST['web'];  // obligatoire
if (isset($_REQUEST['w'])) $w=$_REQUEST['w'];  // obligatoire
//alert( "param recu de web w:$w");

// 2: nouvelle partie pour deux joueurs distants avec le nom indiqué , demande choix et passera w=-2 pour jouer et attendre 
// -1:rejoindre la partie dont on donne le nom, adversaire lit l'état dans actuel.txt 
// -2: on joue le coup reçu en parametre, ou attend adversaire lire face.lck   (-vient de 2)
// idiot pas la! = mettre a jour depuis navette sans jouer


//echo "<br>----------0099---------w:$w---------BOF NS:$NS<br>";

if (isset($_REQUEST['adversaire']) ) $adv=$_REQUEST['adversaire'];

$j=".";
if (isset($_REQUEST['jeu']))$j=$_REQUEST['jeu'];
if (strlen($cmd)>0) $j=$cmd;
$prochain=0;
if (isset($_REQUEST['coups'])){
	$prochain=$_REQUEST['coups'];
//	alert("prochain mis a $prochain");
}
$l="";
if (isset($_REQUEST['liste']))$l=$_REQUEST['liste'];
if (strlen($liste)==0) $liste=$l;
$nb=strlen($liste);
$ns="";
$bonnefin="";


if (isset($_REQUEST['nordsud'])) $ns=$_REQUEST['nordsud'];
//echo "<br>----------008---------w:$w---------BOF NS:$NS<br>";

// andiamo 

if (!isset($k)){
	$k="";
if (isset($_REQUEST['token']))	$k=trim($_REQUEST['token']);
}

// ci dessous ans doute inutile 
if (strlen($k)>0){
$nomcsv="$WORK/$k/$k.csv";
$history=fopen($nomcsv,'a');
fclose($history);

}

$d="";
//echo "<br>----------006---------w:$w---------BOF NS:$NS<br>";

 $refresh=false;
if (isset($_REQUEST['refresh'])) {
 $ref=$_REQUEST['refresh'];
 $refresh =true;
 }
//echo  "d mis a ===$d===<br>";

//echo "<br>----------002---------w:$w---------BOF NS:$NS<br>";

// bug si refresh be reaffiche pas 

// refresh si première page
$w99="";
if (isset($_REQUEST['web'])) $w99=$_REQUEST['web'];
if ("$w99"=="2")$fauttimeout=true;

if("$j"=="=" ){
//	$fauttimeout=true;
//	echo "timout a true car =<br>";
}

if (substr($ignns,0,1)==$NS  && "$j"=="="  &$avous ){
		     $fauttimeout=false;
	   }
	

//$maj= ""; 

$AUTOMAJ=" onclick=\"document.getElementById('autoplay').click()\"";
if ("$NS"=="N" && strlen($maj)==0) $maj=$AUTOMAJ; 

//11 echo "on part avec  maj:$maj j:$j avous:$avous NS:$NS <br>";
// if ("$j"=="=" && !$avous && !$termine) {
if ("$j"=="=" && !$avous && !$termine) {
	 $maj= "onload='setTimeout(myRefresh,$periodems)';document.getElementById('autoplay').click() ";
//11 echo "set timeout $maj:$maj<br>";
    echo "\n<script language=\"Javascript\">function myRefresh() {document.getElementById('refresh').click()} </script> ";
} else {
	//11 echo "NOT set timeout<br>";
    echo "\n<script language=\"Javascript\">function myRefresh() {document.getElementById('refresh').click()} </script> ";
}

//11	echo "w:$w $maj perdu $maj<br>";
//if ("$w"!="-1" ){  //$w=
if ("$w"!="-1" ){  //$w=
  if ("$NS"=="N"){
	//11 echo "autoplay et timeout <br>";
	if ("$autrelance"=="2") {
	echo "<!-- \n ECRIT un un  BODY body onload=\"document.getElementById('autoplay').click()-->\n";
	if ($termine) echo "<body>";
	else echo "\n<body onload=\"document.getElementById('autoplay').click(); \">\n";
	}
	else{
	echo "<!-- \n ECRIT un deux BODY body onload=\ myRefresh document.getElementById('autoplay').click()-->\n";
	if ($termine) echo "<body>";
	else echo "\n<body onload=\"setTimeout(myRefresh,".$periodems.");document.getElementById('autoplay').click(); \">\n";
	}
	
  }
  else{
	if ("$autrelance"=="2") {
	echo "<!-- \n ECRIT TROIS BODY body onload=\"document.getElementById('autoplay').click()-->\n";
	echo "<!-- SOUCI ne jpoue pas! : <body onload=\"document.getElementById('autre').click(); \">\n   -->"; 
	if ($termine) echo "<body>";
	else {
		
	if (false &&  "$autrelance"=="2") echo "\n<body onload=\"document.getElementById('autre').click(); \">\n";
else 	{
	if ("$NS"=="N") echo "\n<body onload=\"document.getElementById('autoplay').click(); \">\n";
	if ("$NS"=="S") echo "\n<body >\n";
}
	}
	}
	else{
if (isset($periodems))	{
$bf="";
if (isset($_REQUEST['bonnefin'])) $bf=$_REQUEST['bonnefin'];
echo "<!-- j:$j pas bonne idee bonnefin:$bf-->\n";
// raté!
	 echo "<!-- CINQ tgermine:$termine  sans doute un body de trop -->\n";


	if ("$bf"=="en cours. (A Sud de jouer).") echo "\n<body onload=\"document.getElementById('autoplay').click(); \">\n";
	else {
	 echo "<!-- SIX  -->\n";
		if ($termine) echo "<body>";
		else echo "\n<body onload=\"setTimeout(myRefresh,".$periodems.");document.getElementById('autoplay').click(); \">\n";
	}
}
	}
  }
	  
}
// nom du fichier à attendre (créé par vbs) selon nord ou sud

if (isset($_REQUEST['nordsud'])){
	$NS=$_REQUEST['nordsud'];
	$flag=   "$WORK/$k/$NS/$k.lck";
	$navette="$WORK/$k/$NS/$k.txt";

	//alert("navette DEUX $navette");

	//h echo "541 navette: $navette<br>";
}

// alert("NS: $NS nom du flag: $flag");
// initialisation nouveau/rejoindre ou courrant
// echo "<br>----------001------namevette: $navette---w:$w---------BOF NS:$NS<br>";
//99 if ("$w"=="-1"  || "$wpof"=="-1" ){  // rejoin dre
if ("$w"=="-1" ){  // rejoin dre
//echo "REJOINDRE<b;


$NS="N";
// echo "<br>----------002------------------BOF NS:$NS<br>";

//echo "rejoindre NS N<br>";
$elapsed=0;
 $fautlire=true;
//echo  "rejoindre partie $k<br/";
//echo "GAFFE toujours comme NORD";

}
// echo "<br>----------00000-----fautlire: $fautlire -------------BOF NS:$NS<br>";

if ("$w"=="2"){ //  noiuveau
$NS="S";
$elapsed=0;
$ns="S";
// demarrer nouvelle partie effacer le fichier de retour 
 $oldfi=$k.".txt";
// echo "nouvelle partie nomfi=$flag<br>\n";
 	   // efacere l'historique
	   // conserver pour reset!
 	   

// echo "<br>----------0000------------------BOF NS:$NS<br>";

   $nb=12;
 $fautlire=false;
 $fautparam=true;
 // w=2 nouvea toujours SUD !


	// envoyer lien pour lancement, pour l'adversaire plus tard
	// encoder les espace du terrain 
}
// echo "<br>----------000------------------BOF NS:$NS  w:$w<br>";

if ("$w"=="-2"){  // encours
   $fautparam=true;
   $fautlire=true;
//h  echo  "fautlire true jouer le param, vbs et question<br/";
   
}

$AWALEVBS="awale.vbs";
$ti="";

// if (!$fauttimeout && "$j"!="=" && strlen($w99)>0 ) echo "si cette page persiste, utilisez le bouton Continuer en bas de page.<br>";
// tronc commun
$minutes=(int)($elapsed/60);
$secondes=$elapsed-60*$minutes;
//echo "<br>----------00------------------BOF NS:$NS<br>";

	if ("$k"!=""){
	if ("$prochain"!="0"){
	}
	else{
//		echo "Soon...(1)<br>\n";
		$SOON=true;
	}
		}

//$g=""; // pour bouton	

$aqui=$NS;	 ;
//echo "<br>---------2-------------------BOF NS:$NS<br>";

$pojoueur="";

// éliminer tout cas de faux départ
$motif=0;

if ("$ns"=="N" && !file_exists($navette) )$motif=1;
if ("$ns"=="N" && !file_exists($flag) )$motif=1;

if ("$k"=="") {
	$motif=3;   // nouvelle partie
}

	  
// echo "dispatch selon motif: $motif  w:$w <br>";	  
if ("$motif">"0"){
 // echo "exception motif=$motif ".count($_REQUEST)."<br>";
 if ("$motif"=="1"){
	 // ce serait mieux si as lance seulemet
	 $maj= "onload='setTimeout(myRefresh,1000)' "; // 10000
	 echo "<!-- un  e dessous de alert 1000 -->";
//	 echo " ECRIT DEUX BODY    e dessous de alert 1000 maj:$maj<br>";
	 if ($termine) echo "<body>\n";
	else echo "\n"."<body $maj >";
		 echo "\n<form method='post' action=$AWALE.php >";
//	echo count($_REQUEST);
	if (count($_REQUEST)=="8") {
     echo "Ici, c&apos;est la fen&ecirc;tre pour le Shadok du dessous. <br>Allez jouer sur le dessus.<br>";
	 echo "(si vous &ecirc;tes sur un ordinateur, vous pouvez passer cet onglet dans une nouvelle fen&ecirc;tre)<br>";
	 echo "Cet onglet se fermera automatiquement en fin de partie<br>";
	 echo "<br>\n$adv attend que $by ait jou&eacute; <br>(partie: '$k', le: ".date("Ymj")." &agrave; ".date("H:i:s").").<br>\n";
//	 echo "flag: $flag navette: $navette<br>";
	}
	// ci dessous idiot 
 $web=-1;
   
   $h=" hidden ";
   $show=false; // false;
   $debug=false;
echo "\n<input $h type='text' name='autrelance' title='mail' value=\"$autrelance\"  >";if ($show)echo "mail<br>";
echo "\n<input $h type='text' name='adversaire' title='termine'  value=$adv>";if ($show)echo "adversaire<br>";
echo "\n<input  $h  type='text' name='by'  maxlength='3' size='3'  title='by' alt='by' value=$by>";if ($debug) {echo "go<br>";}
echo "\n<input  $h  type='text' name='web'  maxlength='3' size='3'  title='web' alt='web' value='-1'>";if ($debug) {echo "go<br>";}
echo "\n<input  $h  type='text' name='token'  maxlength='3' size='3'  title='token' alt='token' value='".$k."'>";if ($debug) {echo "go<br>";}
echo "\n<input  $h type='text' name='nordsud' title='norddud'  value=$ns>";if ($show) {echo "ns<br>";}
echo "\n<input $h type='text' name='periode' title='periode'  value=$PERIODE>";if ($show)echo "periode<br>";
if ($MANUMILITARI)$SHOWREFRESH="";
echo "<br>\n<input $SHOWREFRESH  type='submit' id='now' name='refresh' title='Raffraichir' alt='Raffraichir' value='Continuer!'>";
echo "\n<script language=\"Javascript\">function myRefresh() {document.getElementById('now').click();} </script> ";
echo "\n</form>";
 
   }
 if ("$motif"=="2") {
	 //echo "email obligatoiire<br>\n";
	 $motif="";
	 }
 if ("$motif"=="5")echo "partie normale<br>\n";
 if ("$motif"=="3"){
	// echo "nouvelle partie <br>\n";
	// ---------------------------------------------------------------'

// page d'accueil
echo '

<!--<h1>EN PANNE REPARATION EN COURS </h1>-->
<form name="chronoForm" method="post" action="'.$AWALE.'.php">

 	   	   <input  hidden type="text" maxlength="3" size="2" name="web" title="sujet" value="2" alt="..." >
	   <input  hidden type="text" maxlength="300" size="70" name="coups" title="lettres et chiffres" value="1" alt="..." >
	 
	   <input  hidden  type="text" maxlength="1" size="1" name="nordsud" title="sujet" value="S" alt="..." >
 <br>Nom &agrave; donner &agrave; la partie: <input  required type="text" maxlength="30" size="20" name="token" title="lettres et chiffres" alt="pas de sp&eacute;ciaux!" >
<br>
';


echo '
<!--<br>votre email (ou un pseudo pour jouer en solo): <br> -->
<input required hidden value="Shadok_du_dessus" type="text" maxlength="600" size="60" name="by" title="moi" >
<!-- <br>email adversaire (ou pseudo): <br> -->
<input hidden value="Shadok_du_dessous" required type="text" maxlength="600" size="60" name="adversaire" title="" >
<br><br>
';
echo '
<input type="submit" title="valider" alt="valider le formulaire" style="background-color:white;color:green" value="                             D&eacute;marrer une nouvelle partie.                                       " >
';
echo '<br><br>Pour experts: Raffraichissement: <input  required type="text" maxlength="5" size="1" name="periode" title="lettres et chiffres" value="'.$RAF.'" alt="pas de sp&eacute;ciaux!" > secondes.
<br>d&eacute;part forg&eacute;: <input  type="text" maxlength="600" size="60" name="t" title="d&eaécute;part forg&e&acute;" 
value="'.$TERRAIN.'" alt="..." >';
echo '
</form>
</body>
</html>';
pause();

	// ----------------------------------------------------------------
 }// O Irreespàonsable };  // motif 3

return;

 }

// echo "<br>-------3---------------------BOF NS:$NS<br>";

if (strlen($bonnefin)>0 ){
//echo "<br>----------4------------------BOF NS:$NS<br>";

//   document.getElementById("refresh").click(); // Click on the checkbox

echo '
<script langage=';
echo "'Javascript'";
echo '>
  document.getElementById("startstop").click(); // Click on the checkbox

</script>
';


// démpa	rrer le chrono par clic sur startstop
 
   echo "<form name='chronoForm' >";
 	    $pojoueur=substr($bonnefin,13,1);
	    //  echo "$bonnefin<br>\n";
		//  echo "pojoueur:$pfe"ojoueur  ns:$ns<br>\n";
		 $premlettre=substr($bonnefin,0,1);
		 // echo "premlettre $premlettre $bonnefin<br>\n";
		// echo "test $bonnefin<br>\n";
		// echo "NS : $NS premlettre:$premlettre<br>\n";
		
// traitement de gagannt par famine		
		 if (("$premlettre"=="S" || "$premlettre"=="N") && strpos($bonnefin,"gagnant")>0) {
		//	 echo "NS: $NS $premlettre GAGNANT<br>";

			 $termine=true;
		
		 	if ("$premlettre"=="$NS"){
				$verdict= "gagn&eacute; (par famine)  ";
				$verdict= "gagné (par famine) ";
			}
			else       
			{				$verdict= "perdu (par famine)  ";
		    $verdictbrut=$verdict;
			}
       		 
		 }; 
// fini famine 		 
// traitement de gagné 
 if (("$premlettre"=="S" || "$premlettre"=="N") && strpos($bonnefin,"gagne")>0) {
	 $termine=true;
//		echo "NS: $NS $premlettre GAGNE<br>";
		  
	 // ici dfin de partie S ou N a gagné
			 $termine=true;
if ("$premlettre"=="$NS")  $verdict="gagn&eacute; ";
			  else   $verdict="perdu ";
			 $verdictbrut=$verdict;
		 }; 
		 // fini gagne
	$aqui=substr($bonnefin,13,1);

if (strlen($trelu)==0){
	// calcul de avous
   if("$aqui" == "$NS" ) {
	$avous=true;
	//			alert("(2)avous:$avous");

	$stampstart=time();
	}
    else     {
	   $avous=false;
	   	//		alert("(3)avous:$avous");

	// echo "aqui: $aqui NS:$NS passer a false  avous:$avous<br>";
     } // else aqui=NS
  } // relu>0
   // relmu>0
	 // efoni aqui=NS
 }
 else
	 //ici len(bonnefin=0 sans doute jamais
 {
	 // je ne sais plus quand ça se produit
 echo "<form name='chronoForm'  method='post' action=\"$AWALE.php\">";

   //  misen oeuvre de web 

   if ("$w"=="-2")  {
   //GAFFE on vient aussi ici en refresh avant coup a jouer!
 
if ($refresh) {
	$onaexec=false;
}else{
	 if (!file_exists($flag) ){
		 // sans doute protégé en amont
	//	raw(999,"$NS 2clic cmd:$cmd t:$t\r\n");
	    while(!file_exists($flag) )sleep(1);
	 }
}

 	   } //  de w=-2
//  de w=-2 

	   if (file_exists($flag)){  //  de w=-2 and file exist 
	   $fautlire=true;
	   $onaexec=false;
	//   echo "encore faceautlire $fautlire<br>";

       } 
	   }
	  //f  echo " bis encore faceautlire $fautlire<br>";

if ("$w"=="-1"){
//	echo "<br>---------6-------------------BOF NS:$NS<br>";
// rejoindre 
$fautlire=true;
} // w==-1 (rejoibdre)
// w==-1 (rejoindre)

if ($fautparam) {
 if ("$j"!="-" && "$j"!="="){
 //echo"point Z2<br>";
} 
// j!=- et !==

if ("$j$"=="-")$cmd="";
$j=strtolower($j);
//e echo "<br>-------7---------------------BOF NS:$NS<br>";

// diverses options
$fr="";
// echo "token: $k listelog:$log<br>\n";
$jj=$j;
//echo "jj: $jj<br>";
 if       ("$j"!="="){
	 // creer cmdline
	 // on détecte un rebond car t pas défini
	 if (!isset($t)) {
	//		  echo "\nVous avez probablement jou&eacute; trop vite <br>";
	//	  raw(0,"probable trop vite j:$j va faire RESTART(2) \r\n");
	//	  echo "\nVous avez probablement jou&eacute; trop vite <br>";
	//	  echo "(sans attendre la r&eacute;ponse du Shadok du dessous).<br>";
 	RESTART(2);
	
	echo "\n</form></body></html>";
	pause();

		  return;
	 }
	 if (strlen($t)==0) {
		  echo "(2)Vous avez probablement jou&eacute; trop vite j:$j<br>sans attendre la r&eacute;ponse du Shadok du dessous).<br> Recommencez";
		  raw(0,"probable trop vite j:$j va faire RESTART(3) \r\n");
		  RESTART(3);
		  echo "</form></body></html>";
		  pause();

		  return;
	 }
$cmdline=$AWALEVBS  .' "!'."#$prochain(".$k."){".$msg."}".$ns.$t.$fr.$jj.'."'; 

// pair echec jamais bu
$pair=($prochain % 2)==0;
if (($pair && "$NS"=="S" ) || (!$pair && "$NS"=="N" )){
	echo "Ooops, au temps pour le PHP; erreur interne parite prochain:$prochain NS:$NS <br>";
	return;
}

} 

// je ne sais plus ce que sihgnifie le - 
if ("$j"!="-" ){
   $onaexec=false;
   if ("$j"=="=") {
  $t=$trelu;
  //	   raw(1,"$BIG $NS trelu (2) avant plateau : $t\r\n");

  // alert("777");
	if ("$autrelance"!="2") plateau(777);
	if (strlen($verdictbrut)>0) {
	
	echo "$verdict [".hhmmss($elapsed)."]";
// si perdu/gagne N se saborde
	if ("$NS"=="N" && (strpos($verdict,"perdu")||strpos($verdict,"gagn"))) {
	//	echo "je me saborde";
		echo "<script language='javascript'>window.close()</script>";
	} // NS == N
	} // vedict non vide
	
// chronotime element (si il il y a eu des cases à jouer sur leplateau)
	if($yaeubold && !$termine ){  // termine nécessaire pour dernier panneau ??? car bug ????
	echo '
<span id="chronotime">--:--:--</span>
<input type="button" id="ouf" name="startstop" value="start!" onClick="chronoStart('.$elapsed.')" >
';
// lancer chrono
//    sauf premier coup pour S
if ($prochain>1 || "$NS"=="N") 	echo ' <script langage=Javascript> { document.getElementById("ouf").click(); } </script> ';

	} //  yaeubold  
// fin de yaeubold etpas termine 

echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";

	$avous=false;  // pour passer à la prochaine exécution 
}   // = =


   // si mnd pas vide ou mise en place 
   if ("$cmd"!="" || "$j"=="." ){  // bloc re créé
      $onaexec=true;
 	 
if (!file_exists("$WORK/$k")) mkdir("$WORK/$k") ;
if (!file_exists("$WORK/$k/N")) mkdir("$WORK/$k/N") ;
if (!file_exists("$WORK/$k/S")) mkdir("$WORK/$k/S") ;
 if (file_exists($flag)) unlink ($flag);
 if (file_exists($navette))  unlink($navette);
	//alert("$cmdline");
	if (file_exists("../../../html/awale.vbs")) echo "banzai estla: ../../../html/awale.vbs<br>";
    $retour=shell_exec("$cmdline");
 if (file_exists("$k.txt")) echo "OK $k.txt <br>";else echo "pas $k.txt <br>";
 // on n'a pas su jouer dans le bac à sable prévu, déplmacer navette et flag
  copy ("$k.txt","$navette");
  copy ("$k.lck","$flag");
  unlink("$k.txt");  
  unlink("$k.lck");  

	// verrue pour conserver navette
// redondant
if (!file_exists("$flag") ||!file_exists("$navette")) {
	echo "Au temps pour le programme (vbs), pas retrouve $navette ou $flag; play again";
	return;
}

if ($SAVENAVETTES)	{
      $target="$WORK/$k/$k($prochain$NS).txt";
 	  copy ("$navette","$target");
      if(!file_exists($target))alert("LOUPE $navette  vers  $target RATE");
 }


// lecture de test 

	 $termine=false;   // passera à true selon bonnefin relu

	 $YAEUEXEC=true;
     } //e  fin de "$cmd"!="" || "$j"=="." ) en clair appel VBS
	 //e  fin de "$cmd"!="" || "$j"=="." ) en clair appel VBS
	 
     }    // fin de    if j != - 
	 // fin de    if j != - 



if ($onaexec || $fautlire ) {    // si on est en attente ou on vient de exe cmdline

// si ce n'est pas terminé mettre invite à jouer
if (!$termine){
if ("$prochain"=="1"   && strlen($cmd)==0 ) {

				
//	echo "onglet p)rochjain:$prochain  autrelance:$autrelance";
if ("$prochain"=="1" && "$NS"=="S"  ){
	// alert("creer bouton autre autrelance:$autrelance");
	// afficher bouton autre
// ajouter refresh
$ADV=$_REQUEST['adversaire'];
//ajouter refresh
if ("$autrelance"=="2"){
// si c'est premier lancement ouvrir shadok du dessous 
if (!isset($_REQUEST['reset']))	{
    $clic="window.open('$SERVER/$AWALE.php?web=-1&token=$k&by=$by&adversaire=$adv&nordsud=N&periode=$PERIODE', '_blank');document.getElementById('refresh').click();";
	echo "\n<script langage='javascript'>$clic</script>";
}

  $SOON=true;
}
	   $autrelance=$autrelance+1;
//		echo "autrelance mis a $autrelance<br>";
	}
				
				} // prochain=1 et strlen=0
				// prochain=1 et strlen=0
				

// echo "NS: $NS SOON:$SOON yaeubold:$yaeubold autrelance: $autrelance ";
// si pas de ragffraichissement imminent donner consihne
if (!$SOON){
if ( "$NS"=="S")	{
if ( $yaeubold )echo '<span id="trafic" style="color:green">A vous de jouer</span><span style="color: #000000">';
   else 	{
	   echo "<span id='trafic' style='color:red'>Votre fus&eacute;e est lanc&eacute;e...</span><span style='color: #000000'>";
//	   echo "(attend $flag)";
   }
}

if (  "$NS"=="N")	{
if ( $yaeubold ){
    if ($SOLO)	echo '<span id="trafic" style="color:green">Je r&eacute;ponds</span><span style="color: #000000">';
    else	echo "<span id='trafic' style='color:green'>A $adv de jouer</span><span style='color: #000000'>";
}
   else 	echo "<span id='trafic' style='color:red'>J'attends que $by fasse un nouvel essai...</span><span style='color: #000000'>";
}
}


if ("$NS"=="N" && $SOLO  && file_exists($flag) ) {
		// prendre au hasard dans la liste
		// ne jouera que si SOLO sinon bouton pas la
		     $laquelle=rand(0,strlen($liste)-1);
			 $lettre=substr($liste,$laquelle,1);
			 $place=1+strpos("......FEDCBA",$lettre);
			 $idclic='C'.$place;
		  echo "\n<input hidden  type=button id='autoplay' name=\"random\"  style='background-color:green;color:black'  value='Jouer au hasard' onclick=\"document.getElementById('".$idclic."').click()\"  >";
	}
		
		} // !termine
// fin ! terminr 
	
}  // on aexec ou fautlire 
 // fin !SOON & yaeubold
else { // don SOON ou yaeu
//	echo "autrelance: $autrelance";
// message attente 
	if (( "$autrelance">"3" || "$NS"=="N") && ("$prochain">"1"  && "$j"=="=")){
	 if ("$NS"=="N")	echo "<span style='color: #00ff00'><b>J&apos;attends que $by ait jou&eacute; </b>[".hhmmss($elapsed)."]<span style='color: #000000'>";
	 if ("$NS"=="S") echo "<span style='color: #00ff00'><b>Attendez que $adv ait jou&eacute; </b>[".hhmmss($elapsed)."]<span style='color: #000000'>";
    } // >=3 
} // fin de sles soon yaeu
 // fini de sles soon yaeu

 
//echo "<br>(2)soon: $SOON";
} // if fautparamm
//apres fautparam
if (!$SOON && !$termine ){ 
 // pas de bouton abandon si terminé ou réaffichage automatique
  if (strlen($cmd)>0) echo "Soon...";
  else echo "\n<br><input  type='submit' name='abandon' title='abandon'  value='ABANDON'
style='background-color:red;color:black' >&nbsp;&nbsp;&nbsp;&nbsp;"; 
 
} // un de plus!


// echo "prochain: $prochain NS: $NS mail: $MAIL<br>";
$flagla=false;
if (isset($flag))$flagla=file_exists($flag);
//sans doute a virer
if ($refresh && $flagla){
  //echo "refresh supprime car est la $flag<br>\n";
  $refresh=false;
}
// 0819  $flagla=true;
if (!$flagla || $refresh ) {
   $fautlire=false;
   } else{
	   // don ici flagla ou refresh 
	   if($flagla){
		   // flagla
  if(!file_exists($flag)){
 //  if(!file_exists($navette)){
   echo "\nattendez que l'adversaire ait jou&eacute ($navette pas la); "; 

	 $bilan="";
	 }
	 else   // ici flag existe
	 {
		// alert("lire navette");
		
		$old="";
		if (isset($t)) $old=$t;
		// lecture du fichier navette
	if(!$LU1 || $YAEUEXEC || true  ){

	    $fi=fopen($navette,'r');  //2

	 // 	echo "lire navette (2) ";
// pêut estre souci avec *
	   $tnext=trimcrlf(fgets($fi));
	   if (strlen($tnext)>4)$t=$tnext;
	   $t=trim($t);
	  // 	   raw(1,"$BIG $NS trelu (3) yaeuexec: $t\r\n");

// supprimer un double espace dans le terrain	   
	   $double=strpos($t,"  ");
       if ($double>=1) 	 $t=substr($t,0,$double)." ".substr($t,$double+2);

	  
	  
	  //pour history
       //construire ligne compatible tontong	  
	   $ignnb=trimcrlf(fgets($fi));
	   $liste=trimcrlf(fgets($fi));
	   $igncoup=trimcrlf(fgets($fi));
	   $prochain=trimcrlf($igncoup);
	   $ignns=trimcrlf(fgets($fi));
	   $bonnefin=trimcrlf(fgets($fi));
	   $nous="N";
	   $ouf=strpos($bonnefin,"Sud");
	   if ($ouf>0)$nous="S";
	   
	   // en réserve pour achempiner un message entre les joueurs, actuellement pas utilisé
	   $message=trimcrlf(fgets($fi));
	   if ($ns == substr($ignns,0,1)) {
	        if (strlen($message)>2)echo "<br>\npour $ignns: ".substr($message,1,strlen($message)-2);
	   }
	   
	   fclose($fi);
	 // signaler que $navette a été lue	 
	 //  	echo "lu navette (2)";
 	} // not lu1 ouyaeuexec
	// } // maj en test 
	
     
	if (strpos($bonnefin,"$buttoir")==0){  
   // echo "egal";
   }else{
 	// le vbs termine par un message ne commençant pas par encours 
	$ns="";// il n'y a plus personne à jouer 
		//	if ("$bilan" != "") $ns=""; // douteuxaussi! lastone
			
} // buttoir
// buttoir
		} // chtt date

// if not fele_exists navette else
   }  // flagla  
// fin de // flagla
   if ("$j"!=""){ 
// si on nevientpas de lire navette 		   
  if (!$fautlire){
	  $t=$trelu;
	//  	   raw(1,"$BIG $NS trelu (4) !fautlire: $t\r\n");

 echo "Soon...(2)";
 $SOON=true;
	}

  
}  
//   $j != "" !
}     //fin de flagla 
   //fin de flagla 
// sup au pif 13h } // fin dfinautparam
// au pif fautparam

// si manumilitari montrer le bouton refresh 
if ($MANUMILITARI) $SHOWREFRESH="";
echo "\n<input   $SHOWREFRESH   type='submit' id='refresh' name='refresh' title='Raffraichir' alt='Raffraichir' value='Continuer!' 
style='background-color:green;color:black'  >&nbsp;&nbsp;&nbsp;" ;

$w=-2;  //prochain coup sera "suite"
$h=" hidden "; // ne pas afficher liste parametres en fin de jeu (sauf jasis, obsolete, debug )
$show=false;


if (!isset($t))$t="";  // semble improbable à voir
//echo "navette:$navette<br>";
$mt=0;
if (file_exists($mt)) $mt=filemtime($navette);
echo "\n<input $h  type='text' id='filetime' name='filetime' title='mail'  value='$mt' >";if ($show)echo "previous<br>";
echo "\n<input $h type='text' id='shadok' name='shadok' title='mail'  value='0' >";if ($show)echo "previous<br>";
echo "\n<input $h type='text' name='previous' title='mail'  value=\"$cmd\" >";if ($show)echo "previous<br>";
echo "\n<input $h type='text' name='autrelance' title='mail'  value=\"$autrelance\" >";if ($show)echo "autrerelance<br>";
//echo "\n<input $h type='text' name='mail' title='mail'  value=$MAIL>";if ($show)echo "mail<br>";
echo "\n<input $h type='text' name='by' title='by'  value=$by >";if ($show)echo "by<br>";
echo "\n<input $h type='text' name='adversaire' title='termine'  value=$adv>";if ($show)echo "adversaire<br>";
echo "\n<input $h type='text' name='termine' title='termine'  value=\"$termine\" >";if ($show)echo "termine<br>";
echo "\n<input $h type='text' name='avous' title='avous'  value=\"$avous\" >";if ($show)echo "avous<br>";
echo "\n<input $h type='text' name='stampstart' title='ditun'  value=$stampstart>";if ($show)echo "stampstart<br>";
echo "\n<input  $h  type='text' name='t'  maxlength='60' size='60'  title='t' alt='terrain' value='".$t."'>";if ($show) {echo "terrain(t)<br>";}
echo "\n<input  $h  type='text' name='elapsed'  maxlength='60' size='10'  title='elapsed' alt='terrain' value='".$elapsed."'>";if ($show) {echo "elapsed<br>";}
echo "\n<input  $h  type='text' name='jeu' title='jeu' alt='jeu' value='='>";if ($show) {echo "jeu<br>";}
echo "\n<input  $h  type='text' name='liste' title='liste' alt='coups possibles' value='".$liste."'>";if ($show) {echo "liste<br>";}
echo "\n<input $h type='text' name='token' title='partie' alt='token' value=$k>";if ($show) {echo "token<br>";}
echo "\n<input  $h type='text' name='coups' title='compteur' alt='compteur de coups' value=$prochain>";if ($show) {echo "coups<br>";}
echo "\n<input  $h type='text' name='nordsud' title='norddud'  value=$ns>";if ($show) {echo "ns<br>";}
echo "\n<input  $h type='text' name='web' title='web'  value=$w>";if ($show) {echo "web<br>";}
echo "\n<input $h type='text' name='bonnefin' title='bonnefin'  value='".$bonnefin."'>";if ($show)echo "bonnefin<br>";
echo "\n<input $h type='text' name='periode' title='periode'  value=$PERIODE>";if ($show)echo "periode<br>";
echo "\n<input $SHOWREFRESH  type='submit' id='now' name='refresh' title='Raffraichir' alt='Raffraichir' value='Continuer!'>";


//  apropos en interne dans un nouvel onglet
if (strlen($cmd)==0){
	echo "\n&nbsp;&nbsp;&nbsp;\n<input  type=button name='apropos' title='apropos'  value='A propos...' 
	 style='background-color:white;color:#0000ff' 
	 onclick='window.open(\"$SERVER/$AWALE.php?apropos=1&token=$k\",\"_blank\")' >";

// voir historique interne dans nouvel onglet
    echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
	echo "\n<input type=button style='background-color:white;color:#0000ff'  value='Voir historique (".$prochain .").' onclick='window.open(\"$SERVER/$AWALE.php?histo=1&token=$k\", \"_blank\")' >";

// si terminé boutonplay again
 if ($termine) {
	 echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
 }
// afficher les liens relancer une partie  
serialgame();
 } //termine
 // termine
 
// si page intermédiaire pour exécutre click FAUDRA la recharger immédiatement
$AUTO=strlen($cmd)==1 ;

// si on on vient de jouer, passer navette à l'adversaire  
// je ne sais si tyoujours pertinent (.vbs écit les deus essai de false && ) NON nécesairer 
if (strlen($cmd)==1  && file_exists($navette)){
	$ouca="N";
	if ("$NS"=="N") $ouca="S";
	// copier
	// effacer flag
	if (file_exists("$WORK/$k/$ouca/$k.lck"))unlink("$WORK/$k/$ouca/$k.lck");
	if (!file_exists("$navette")){
		echo "pas de navette $navette";
}    
else {
 //  raw(0, " copie de $navette pour l'autre 
	copy($navette,"$WORK/$k/$ouca/$k.txt");
	copy($flag,"$WORK/$k/$ouca/$k.lck");
} // apresq false

}
 
 echo "\n<input hidden type=text id='bounce' name='bounce' value='non'>";
echo "\n</form>
</body>";

echo "</html>\n";
echo "<!-- SOON:$SOON -->\n";
pause();
if ($SOON ) {
	submitnow(1);
}

//echo "auto: $AUTO<br>";
if ($AUTO) {
	if ($MANUMILITARI) {
	 alert("Clic sur le bouton Continuer ");
	}
	else submitnow(2);
}
// alert('done');
?>