|
|
|
| Здравствуйте. Помогите пожалуйста как эти все условия записать проще через вложенные циклы??
$gameWinner = null;
if( $game['board'][0][0] == $game['board'][1][0] && $game['board'][1][0] == $game['board'][2][0] && $game['board'][2][0] != 0 )
$gameWinner = $game['board'][0][0];
else if( $game['board'][0][1] == $game['board'][1][1] && $game['board'][1][1] == $game['board'][2][1] && $game['board'][2][1] != 0 )
$gameWinner = $game['board'][0][1];
else if( $game['board'][0][2] == $game['board'][1][2] && $game['board'][1][2] == $game['board'][2][2] && $game['board'][2][2] != 0 )
$gameWinner = $game['board'][0][2];
else if( $game['board'][0][0] == $game['board'][0][1] && $game['board'][0][1] == $game['board'][0][2] && $game['board'][0][2] != 0 )
$gameWinner = $game['board'][0][0];
else if( $game['board'][1][0] == $game['board'][1][1] && $game['board'][1][1] == $game['board'][1][2] && $game['board'][1][2] != 0 )
$gameWinner = $game['board'][1][0];
else if( $game['board'][2][0] == $game['board'][2][1] && $game['board'][2][1] == $game['board'][2][2] && $game['board'][2][2] != 0 )
$gameWinner = $game['board'][2][0];
else if( $game['board'][0][0] == $game['board'][1][1] && $game['board'][1][1] == $game['board'][2][2] && $game['board'][2][2] != 0 )
$gameWinner = $game['board'][1][1];
else if( $game['board'][2][0] == $game['board'][1][1] && $game['board'][1][1] == $game['board'][0][2] && $game['board'][0][2] != 0 )
$gameWinner = $game['board'][1][1];
|
| |
|
|
|
|
|
|
|
для: pavluxa09
(15.06.2012 в 15:58)
| |
$gameWinner = null;
$gb=$gb;
for ($x=0; $x<=2; $x++){
//проверка столбцов
if( $gb[0][$x] == $gb[1][$x] && $gb[1][$x] == $gb[2][$x] && $gb[2][$x] != 0 ){
$gameWinner = $gb[0][$x];
break;
}
//Проверка строк
if( $gb[$x][0] == $gb[$x][1] && $gb[$x][1] == $gb[$x][2] && $gb[$x][2] != 0 ){
$gameWinner = $gb[$x][0];
break;
}
}
if (is_null($gameWinner)){
if (($gb[0][0] == $gb[1][1] && $gb[1][1] == $gb[2][2] && $gb[2][2] != 0 )||
( $gb[2][0] == $gb[1][1] && $gb[1][1] == $gb[0][2] && $gb[0][2] != 0 ))
$gameWinner = $gb[1][1];
}
|
примерно вот так. правда писал прям сюда. Возможно лучше было 2бы разбить первый цикл на 2а, чтобы не проверять лишнее. но тогда кода будет побольше, хотя чуть оптимизированее в некоторых случаях. Но думаю пищи для дальнейшего размышления хватит | |
|
|
|