<?php
class Crisscross {
public $field = [];
//отображаем поле
function showField(){
for ($i=1;$i<=count($this->field);$i++){ if (($i!=0) and ($i%3===0)){
echo "|{$this->field[$i]}|<br>";
}
else{
echo "|{$this->field[$i]}";
}
}
}
//получаем данные из консоли
function getConsolCommand(){
switch (isset($_GET["consol"])){ case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
$key = $_GET["consol"];
break;
}
else {
$this->field[$key] = "x";
$this->save2file();
}
//case "Выход":;
//case "Справка":;
//default:;
}
}
//проверяем массив на пустоту
function isBeginGame(){
if (empty($this->field)){ $this->field = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
}
}
// сохраняем в массив файл
function save2file(){
$f = fopen('memory', 'w+'); }
//загружаем массив из файла
function loadFromFile(){
return false;
}
else {
$f = fopen('memory', "r"); }
}
}
$game = new Crisscross();
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<a>введите цифру</a>
<form >
<input type = "text" name ="consol" value = ""> <br>
<input type="submit" value="Нажми на меня!"> <br>
</form>
<p>
<?php
$game->loadFromFile();
$game->isBeginGame();
$game->showField();
$game->getConsolCommand();
?>
</p>
</body>
</html>
PD9waHAKCmVycm9yX3JlcG9ydGluZygwICk7CmNsYXNzIENyaXNzY3Jvc3MgewogICAgcHVibGljICRmaWVsZCA9IFtdOwoKLy/QvtGC0L7QsdGA0LDQttCw0LXQvCDQv9C+0LvQtQogICAgZnVuY3Rpb24gc2hvd0ZpZWxkKCl7CiAgICAgICAgZm9yICgkaT0xOyRpPD1jb3VudCgkdGhpcy0+ZmllbGQpOyRpKyspewogICAgICAgICAgICBpZiAoKCRpIT0wKSBhbmQgKCRpJTM9PT0wKSl7CiAgICAgICAgICAgICAgICBlY2hvICJ8eyR0aGlzLT5maWVsZFskaV19fDxicj4iOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2V7CiAgICAgICAgICAgICAgICBlY2hvICJ8eyR0aGlzLT5maWVsZFskaV19IjsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCi8v0L/QvtC70YPRh9Cw0LXQvCDQtNCw0L3QvdGL0LUg0LjQtyDQutC+0L3RgdC+0LvQuAogICAgZnVuY3Rpb24gZ2V0Q29uc29sQ29tbWFuZCgpewogICAgICAgIHN3aXRjaCAoaXNzZXQoJF9HRVRbImNvbnNvbCJdKSl7CiAgICAgICAgICAgIGNhc2UgMToKICAgICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICBjYXNlIDM6CiAgICAgICAgICAgIGNhc2UgNDoKICAgICAgICAgICAgY2FzZSA1OgogICAgICAgICAgICBjYXNlIDY6CiAgICAgICAgICAgIGNhc2UgNzoKICAgICAgICAgICAgY2FzZSA4OgogICAgICAgICAgICBjYXNlIDk6CiAgICAgICAgICAgICAgICAka2V5ID0gJF9HRVRbImNvbnNvbCJdOwogICAgICAgICAgICAgICAgaWYgKGlzX3N0cmluZygkdGhpcy0+ZmllbGRbJGtleV0pKXsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICR0aGlzLT5maWVsZFska2V5XSA9ICJ4IjsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+c2F2ZTJmaWxlKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIC8vY2FzZSAi0JLRi9GF0L7QtCI6OwogICAgICAgICAgICAvL2Nhc2UgItCh0L/RgNCw0LLQutCwIjo7CiAgICAgICAgICAgIC8vZGVmYXVsdDo7CiAgICAgICAgfQoKICAgIH0KCiAgICAvL9C/0YDQvtCy0LXRgNGP0LXQvCDQvNCw0YHRgdC40LIg0L3QsCDQv9GD0YHRgtC+0YLRgwogICAgZnVuY3Rpb24gaXNCZWdpbkdhbWUoKXsKICAgICAgICBpZiAoZW1wdHkoJHRoaXMtPmZpZWxkKSl7CiAgICAgICAgICAgICR0aGlzLT5maWVsZCA9IFswLCAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5XTsKICAgICAgICB9CiAgICB9CgogICAgLy8g0YHQvtGF0YDQsNC90Y/QtdC8INCyINC80LDRgdGB0LjQsiDRhNCw0LnQuwogICAgZnVuY3Rpb24gc2F2ZTJmaWxlKCl7CiAgICAgICAgJGYgPSBmb3BlbignbWVtb3J5JywgJ3crJyk7CiAgICAgICAgJG1lbUZpbGUgPSBqc29uX2VuY29kZSgkdGhpcy0+ZmllbGQpOwogICAgICAgIGZ3cml0ZSgkZiwgJG1lbUZpbGUpOwogICAgICAgIGZjbG9zZSgkZik7CiAgICB9CgogICAgLy/Qt9Cw0LPRgNGD0LbQsNC10Lwg0LzQsNGB0YHQuNCyINC40Lcg0YTQsNC50LvQsAogICAgZnVuY3Rpb24gbG9hZEZyb21GaWxlKCl7CiAgICAgICAgaWYoIWlzX2ZpbGUoJ21lbW9yeScpKXsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJGYgPSBmb3BlbignbWVtb3J5JywgInIiKTsKICAgICAgICAgICAgJG91dHB1dCA9IGZyZWFkKCRmLCBmaWxlc2l6ZSgnbWVtb3J5JykpOwogICAgICAgICAgICAkdGhpcy0+ZmllbGQgPSBqc29uX2RlY29kZSgkb3V0cHV0KTsKICAgICAgICAgICAgZmNsb3NlKCRmKTsKICAgICAgICB9CiAgICB9Cn0KCiRnYW1lID0gbmV3IENyaXNzY3Jvc3MoKTsKPz4KPCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICA8dGl0bGU+VGl0bGU8L3RpdGxlPgo8L2hlYWQ+Cjxib2R5Pgo8YT7QstCy0LXQtNC40YLQtSDRhtC40YTRgNGDPC9hPgo8Zm9ybSA+CiAgICA8aW5wdXQgdHlwZSA9ICJ0ZXh0IiAgbmFtZSA9ImNvbnNvbCIgdmFsdWUgPSAiIj4gPGJyPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9ItCd0LDQttC80Lgg0L3QsCDQvNC10L3RjyEiPiA8YnI+CjwvZm9ybT4KPHA+CiAgICA8P3BocAogICAgJGdhbWUtPmxvYWRGcm9tRmlsZSgpOwogICAgJGdhbWUtPmlzQmVnaW5HYW1lKCk7CiAgICAkZ2FtZS0+c2hvd0ZpZWxkKCk7CiAgICAkZ2FtZS0+Z2V0Q29uc29sQ29tbWFuZCgpOwoKICAgID8+CjwvcD4KCjwvYm9keT4KPC9odG1sPg==