tp4 ex2
This commit is contained in:
parent
74ebab4b24
commit
553b30bdcc
@@ -1,54 +1,83 @@
|
||||
<?php
|
||||
function initializeGame()
|
||||
{
|
||||
// Une grille vide contient 9 cases valant 0.
|
||||
$_SESSION['grid'] = array_fill(0, 9, 0);
|
||||
$_SESSION['playerTurn'] = 1;
|
||||
}
|
||||
|
||||
function nextPlayer($player)
|
||||
{
|
||||
return $player === 1 ? 2 : 1;
|
||||
}
|
||||
|
||||
function isWinner($grid, $player)
|
||||
{
|
||||
$winStates = array
|
||||
(
|
||||
array(0, 1, 2), array(3, 4, 5), array(6, 7, 8), // Horizontal
|
||||
array(0, 3, 6), array(1, 4, 7), array(2, 5, 8), // Vertical
|
||||
array(0, 4, 8), array(2, 4, 6) // Diagonal
|
||||
);
|
||||
$winStates = array(
|
||||
array(0, 1, 2), array(3, 4, 5), array(6, 7, 8),
|
||||
array(0, 3, 6), array(1, 4, 7), array(2, 5, 8),
|
||||
array(0, 4, 8), array(2, 4, 6)
|
||||
);
|
||||
|
||||
foreach ($winStates as $winState)
|
||||
{
|
||||
if ($grid[$winState[0]] == $player &&
|
||||
foreach ($winStates as $winState) {
|
||||
if (
|
||||
$grid[$winState[0]] == $player &&
|
||||
$grid[$winState[1]] == $player &&
|
||||
$grid[$winState[2]] == $player)
|
||||
{
|
||||
$grid[$winState[2]] == $player
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function noWinner($grid)
|
||||
{
|
||||
for($i = 0; $i < 9; $i++)
|
||||
if ($grid[$i] == 0)
|
||||
for ($i = 0; $i < 9; $i++) {
|
||||
if ($grid[$i] == 0) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function displayGrid($grid)
|
||||
function getWinner($grid)
|
||||
{
|
||||
if (isWinner($grid, 1)) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (isWinner($grid, 2)) {
|
||||
return 2;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
function displayGrid($grid, $isInteractive = true)
|
||||
{
|
||||
echo '<table class="morpion">';
|
||||
for ($i = 0; $i < 3; $i ++){
|
||||
echo "<tr>";
|
||||
for ($j = 0; $j < 3; $j ++){
|
||||
for ($i = 0; $i < 3; $i++) {
|
||||
echo '<tr>';
|
||||
for ($j = 0; $j < 3; $j++) {
|
||||
echo '<td>';
|
||||
|
||||
echo "<td>";
|
||||
|
||||
$pos = 3*$i + $j;
|
||||
if ($grid[$pos] == 0)
|
||||
$pos = 3 * $i + $j;
|
||||
if ($grid[$pos] == 0 && $isInteractive) {
|
||||
echo "<a href='?pos=$pos'></a>";
|
||||
if ($grid[$pos] == 1)
|
||||
}
|
||||
if ($grid[$pos] == 1) {
|
||||
echo '<i class="fa fa-times" aria-hidden="true"></i>';
|
||||
if ($grid[$pos] == 2)
|
||||
}
|
||||
if ($grid[$pos] == 2) {
|
||||
echo '<i class="fa fa-circle-o" aria-hidden="true"></i>';
|
||||
}
|
||||
|
||||
echo "</td>";
|
||||
echo '</td>';
|
||||
}
|
||||
echo "</tr>";
|
||||
echo '</tr>';
|
||||
}
|
||||
echo "</table>";
|
||||
echo '</table>';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user