Размер файла: 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';
}
?>