<?php
include_once '../../sys/inc/start.php';
include_once '../../sys/inc/compress.php';
include_once '../../sys/inc/sess.php';
include_once '../../sys/inc/home.php';
include_once '../../sys/inc/settings.php';
include_once '../../sys/inc/db_connect.php';
include_once '../../sys/inc/ipua.php';
include_once '../../sys/inc/fnc.php';
include_once '../../sys/inc/user.php';
$set['title']='Крестики,нолики';
include_once '../../sys/inc/thead.php';
title();
err();
aut();
# SET THESE:
$pageimagealt=$pagetitle;

$tblbackground='darkgreen';

$cellbackground='lightgreen';

$ximage='x.gif';
$ximagealt='Крестики';
$oimage='o.gif';
$oimagealt='Нолики';

$defaultdifficulty='Нормально';
#####################
if (isset($new))
{
	session_start();
	unset($b);
	unset($turn);
	unset($cdiff);
	session_destroy();
}

session_start();
if (! isset($turn))
{
	session_register(turn);
	$turn=1;
	session_register(b);
	session_register(cdiff);
	if ($diff == 'e')
		$cdiff = 'Легко';
	elseif ($diff == 'n')
		$cdiff = 'Нормально';
	elseif ($diff == 'i')
		$cdiff = 'Сложно';
	else
		$cdiff = $defaultdifficulty;
}
global $b;
global $gwin;
global $gover;
?>
<HTML><HEAD><TITLE><?php echo $pagetitle ?></TITLE></HEAD>
<BODY BGCOLOR="<?php echo $pagebackground ?>" TOPMARGIN="0">
<IMG SRC="<?php echo $pageimage ?>" ALT="<?php echo $pageimagealt ?>">
<BR>
<FORM ACTION="<?php echo $PHP_SELF ?>" METHOD="POST">
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" BGCOLOR="<?php echo $tblbackground ?>">
<TR><TD>
<TABLE BORDER="1" CELLPADDING="0" CELLSPACING="10">
<?php 
//take input if got input
if (isset($mv))
	$b[$mv]='x';

checkwin();
checkfull();


// calculate computers move
if ($gover <> 1 && $gwin == '' && $mv <> '')
{
	if ($cdiff == 'Легко')
	{
		comprand();
	}
	elseif ($cdiff == 'Нормально')
	{
		compmove();
				
		if ($cmv == '')
		{
			comprand();
		}
	}
	elseif ($cdiff == 'Сложно')
	{
		compmove();
		if ($cmv == '')
		{
			if ($b[4] == '')
				$cmv=4;
			elseif ($b[0] == '')
				$cmv=0;
			elseif ($b[2] == '')
				$cmv=2;
			elseif ($b[6] == '')
				$cmv=6;
			elseif ($b[8] == '')
				$cmv=8;
			if ($cmv == '')
				comprand();
		}
		
	}
	$b[$cmv] = 'o';
}
// **********
checkwin();
checkfull();


// Print board
for ($i = 0; $i <= 8; $i++)
{
	if ($i == 0 || $i == 3 || $i == 6)
		print '<TR>';
	print '<TD WIDTH="75" HEIGHT="75" ALIGN="MIDDLE" VALIGN="MIDDLE" BGCOLOR="'.$cellbackground.'">';
	
	if ($b[$i] == 'x')
		print '<IMG SRC="'.$ximage.'" ALT="'.$ximagealt.'">';
	elseif ($b[$i] == 'o')
		print '<IMG SRC="'.$oimage.'" ALT="'.$oimagealt.'">';
	elseif ($gwin == '')
		print '<INPUT TYPE="SUBMIT" NAME="mv" VALUE="'.$i.'">';
	
	print '</TD>';
	if ($i == 2 || $i == 5 || $i == 8)
		print '</TR>';
}
// *************
?>
</TABLE></TD></TR></TABLE>
<?php
print '<FONT SIZE="-1">Сложность: '.$cdiff.'</FONT>';
if ($gwin == 'O' || $gwin == 'X')
	print "<P><B>$gwin выиграли !</B></P>";
elseif ($gover == 1)
	print "<P><B>Ничья !</B></P>";
print '<P>Выбор сложности: <SELECT NAME="diff"><OPTION VALUE="e">Легко</OPTION><OPTION VALUE="n" SELECTED>Нормально</OPTION><OPTION VALUE="i">Сложно</OPTION></SELECT><BR><INPUT TYPE="SUBMIT" NAME="new" VALUE="Новая игра">';
?>
<?php
## functions:
function checkfull()
{
	global $b;
	global $gover;
	
	$gover = 1;
	for ($ii = 0; $ii <= 8; $ii++)
	{
		if ($b[$ii] == '')
		{
			$gover = 0;
			return;
		}
	}
}
####
function checkwin()
{
	global $b;
	global $gwin;
	$c=1;
	while ($c <= 2)
	{
		if ($c == 1)
			$t='o';
		else
			$t='x';
		if (
		# horizontal
		($b[0] == $t && $b[1] == $t && $b[2] == $t) || 
		($b[3] == $t && $b[4] == $t && $b[5] == $t) || 
		($b[6] == $t && $b[7] == $t && $b[8] == $t) || 
		# vertical
		($b[0] == $t && $b[3] == $t && $b[6] == $t) || 
		($b[1] == $t && $b[4] == $t && $b[7] == $t) ||
		($b[2] == $t && $b[5] == $t && $b[8] == $t) ||
		# diagonal
		($b[0] == $t && $b[4] == $t && $b[8] == $t) ||
		($b[2] == $t && $b[4] == $t && $b[6] == $t))
		{
			$gwin = strtoupper($t);
			return;
		}
		$c++;
	}
}

function compmove()
{
	global $cmv;
	global $b;
	for ($c = 0; $c <=1; $c++)
	{
		if ($c == 0)
			$t='o';
		else
			$t='x';
	
		if ($b[0] == $t && $b[1] == $t && $b[2] == '')
			$cmv = 2;
  	if ($b[0] == $t && $b[1] == '' && $b[2] == $t)
			$cmv = 1;		
		if ($b[0] == '' && $b[1] == $t && $b[2] == $t)
			$cmv = 0;
		if ($b[3] == $t && $b[4] == $t && $b[5] == '')
			$cmv = 5;
		if ($b[3] == $t && $b[4] == '' && $b[5] == $t)
			$cmv = 4;		
		if ($b[3] == '' && $b[4] == $t && $b[5] == $t)
			$cmv = 3;
			
		if ($b[6] == $t && $b[7] == $t && $b[8] == '')
			$cmv = 8;
		if ($b[6] == $t && $b[7] == '' && $b[8] == $t)
			$cmv = 7;		
		if ($b[6] == '' && $b[7] == $t && $b[8] == $t)
			$cmv = 6;
	
		if ($b[0] == $t && $b[3] == $t && $b[6] == '')
			$cmv = 6;
		if ($b[0] == $t && $b[3] == '' && $b[6] == $t)
			$cmv = 3;		
		if ($b[0] == '' && $b[3] == $t && $b[6] == $t)
			$cmv = 0;
			
		if ($b[1] == $t && $b[4] == $t && $b[7] == '')
			$cmv = 7;
		if ($b[1] == $t && $b[4] == '' && $b[7] == $t)
			$cmv = 4;		
		if ($b[1] == '' && $b[4] == $t && $b[7] == $t)
			$cmv = 1;
		if ($b[2] == $t && $b[5] == $t && $b[8] == '')
			$cmv = 8;
		if ($b[2] == $t && $b[5] == '' && $b[8] == $t)
			$cmv = 5;		
		if ($b[2] == '' && $b[5] == $t && $b[8] == $t)
			$cmv = 2;
	
	
		if ($b[0] == $t && $b[4] == $t && $b[8] == '')
			$cmv = 8;
		if ($b[0] == $t && $b[4] == '' && $b[8] == $t)
			$cmv = 4;		
		if ($b[0] == '' && $b[4] == $t && $b[8] == $t)
			$cmv = 0;
			
		if ($b[2] == $t && $b[4] == $t && $b[6] == '')
			$cmv = 6;
		if ($b[2] == $t && $b[4] == '' && $b[6] == $t)
			$cmv = 4;		
		if ($b[2] == '' && $b[4] == $t && $b[6] == $t)
			$cmv = 2;
		if ($cmv <> '')
			break;
	}
}
function comprand()
{
	global $b;
	global $cmv;
	srand ((double) microtime() * 1000000);
	while (! isset($cmv))
	{
		$test=rand(0, 8);
		if ($b[$test] == '')
			$cmv=$test;
	}	
}
include_once '../../sys/inc/tfoot.php';
?>