View file xo.php

File size: 5.1Kb
<?php

		#################				Автор: redmal								#############
	######################				Сайт: http://srcblog.ru						####################
############################			[email protected]							###########################
error_reporting(0);
if(isset($_GET['id']) and isset($_POST['chem']) and isset($_POST['rand'])){

$rand=intval($_POST['rand']);
$id=$_GET['id'];
$chem=$_POST['chem'];

$file=file('users/'.$rand.'.baz');
$move=explode('|',trim($file[0]));

if($id=="0")
$a0=$chem;
else
$a0=$move[0];

if($id=="1")
$a1=$chem;
else
$a1=$move[1];

if($id=="2")
$a2=$chem;
else
$a2=$move[2];

if($id=="3")
$a3=$chem;
else
$a3=$move[3];

if($id=="4")
$a4=$chem;
else
$a4=$move[4];

if($id=="5")
$a5=$chem;
else
$a5=$move[5];

if($id=="6")
$a6=$chem;
else
$a6=$move[6];

if($id=="7")
$a7=$chem;
else
$a7=$move[7];
if($id=="8")
$a8=$chem;
else
$a8=$move[8];
$man="$a0|$a1|$a2|$a3|$a4|$a5|$a6|$a7|$a8";

#####Запись хода игрока #####
$peop=fopen('users/'.$rand.'.baz','w');
flock($peop,LOCK_EX);
@fputs($peop,$man);
flock ($peop,LOCK_UN);
fclose($peop);


if($chem=="1")
$bot=2;
elseif($chem=="2")
$bot=1;

##############Проверка выигрыша игроком##########

$file=file('users/'.$rand.'.baz');
$move=explode('|',trim($file[0]));

$result=file('scan.dat');

for($k=0;$k<sizeof($result);$k++){
$scan=explode('|',trim($result[$k]));

$one=$scan[0];
$two=$scan[1];
$three=$scan[2];

if($move[$one]==$chem  and $move[$two]==$chem and $move[$three]==$chem){
header("location:igra.php?win");
}elseif($move[0]!="" and
$move[1]!=""
and
$move[2]!=""
and $move[3]!="" and
$move[4]!=""
and
$move[5]!=""
and
$move[6]!="" and
$move[7]!=""
and
$move[8]!=""){
header ("location:igra.php?friend");
}


}


function xo($rand,$chem,$bot){

#########Бот игры#############

$algoritm=file('algoritm.dat');
$file=file("users/$rand.baz");

$move=explode('|',trim($file[0]));

if($move[4]==""){
###Если пуста середина###
$new=4;
}else
$new=rand(1,9)-1;
;


for($i=0;$i<sizeof($algoritm);$i++){

$element=explode('|',trim($algoritm[$i]));


$num1=$element[0];
$num2=$element[1];
$num3=$element[2];

if(($move[$num1]==$chem and $move[$num2]==$chem and 
$move[$num3]=="") OR ($move[$num1]==$bot and $move[$num2]==$bot and $move[$num3]=="")){

$new=$num3;

}

}


if($move[$new]==""){

if($new==0){
$otvet="$bot|$move[1]|$move[2]|$move[3]|$move[4]|$move[5]|$move[6]|$move[7]|$move[8]";
}
elseif($new==1){
$otvet="$move[0]|$bot|$move[2]|$move[3]|$move[4]|$move[5]|$move[6]|$move[7]|$move[8]";
}
elseif($new==2){
$otvet="$move[0]|$move[1]|$bot|$move[3]|$move[4]|$move[5]|$move[6]|$move[7]|$move[8]";
}
elseif($new==3){
$otvet="$move[0]|$move[1]|$move[2]|$bot|$move[4]|$move[5]|$move[6]|$move[7]|$move[8]";
}
elseif($new==4){
$otvet="$move[0]|$move[1]|$move[2]|$move[3]|$bot|$move[5]|$move[6]|$move[7]|$move[8]";
}
elseif($new==5){
$otvet="$move[0]|$move[1]|$move[2]|$move[3]|$move[4]|$bot|$move[6]|$move[7]|$move[8]";
}
elseif($new==6){
$otvet="$move[0]|$move[1]|$move[2]|$move[3]|$move[4]|$move[5]|$bot|$move[7]|$move[8]";
}
elseif($new==7){
$otvet="$move[0]|$move[1]|$move[2]|$move[3]|$move[4]|$move[5]|$move[6]|$bot|$move[8]";
}
elseif($new==8){
$otvet="$move[0]|$move[1]|$move[2]|$move[3]|$move[4]|$move[5]|$move[6]|$move[7]|$bot";
}



}else{



if($move[0]==""){
$otvet="$bot|$move[1]|$move[2]|$move[3]|$move[4]|$move[5]|$move[6]|$move[7]|$move[8]";
}
elseif($move[1]==""){
$otvet="$move[0]|$bot|$move[2]|$move[3]|$move[4]|$move[5]|$move[6]|$move[7]|$move[8]";
}
elseif($move[2]==""){
$otvet="$move[0]|$move[1]|$bot|$move[3]|$move[4]|$move[5]|$move[6]|$move[7]|$move[8]";
}
elseif($move[3]==""){
$otvet="$move[0]|$move[1]|$move[2]|$bot|$move[4]|$move[5]|$move[6]|$move[7]|$move[8]";
}
elseif($move[4]==""){
$otvet="$move[0]|$move[1]|$move[2]|$move[3]|$bot|$move[5]|$move[6]|$move[7]|$move[8]";
}
elseif($move[5]==""){
$otvet="$move[0]|$move[1]|$move[2]|$move[3]|$move[4]|$bot|$move[6]|$move[7]|$move[8]";
}
elseif($move[6]==""){
$otvet="$move[0]|$move[1]|$move[2]|$move[3]|$move[4]|$move[5]|$bot|$move[7]|$move[8]";
}
elseif($move[7]==""){
$otvet="$move[0]|$move[1]|$move[2]|$move[3]|$move[4]|$move[5]|$move[6]|$bot|$move[8]";
}
elseif($move[8]==""){
$otvet="$move[0]|$move[1]|$move[2]|$move[3]|$move[4]|$move[5]|$move[6]|$move[7]|$bot";
}





}





####Запись хода бота####
$botan=fopen("users/$rand.baz","w");
flock($botan,LOCK_EX);
@fputs($botan,$otvet);
flock ($botan,LOCK_UN);
fclose($botan);
}

if(substr_count($file[0],"1")!=substr_count($file[0],"2"))
xo($rand,$chem,$bot);


##############Проверка выигрыша ботом##########


for($i=0;$i<sizeof($result);$i++){
$scan=explode('|',trim($result[$i]));

$one=$scan[0];
$two=$scan[1];
$three=$scan[2];

if($move[$one]==$bot  and $move[$two]==$bot 
and $move[$three]==$bot){
header ("location:igra.php?lose");
}elseif($move[0]!="" and
$move[1]!=""
and
$move[2]!=""
and $move[3]!="" and
$move[4]!=""
and
$move[5]!=""
and
$move[6]!="" and
$move[7]!=""
and
$move[8]!=""){
header ("location:igra.php?friend");
}


}

##############Вывод таблицы из существующим##########


$file=file('users/'.$rand.'.baz');
$move=explode('|',$file[0]);
include 'pole.php';


}
?>