Крестики-нолики с PHP
Я так застреваю с моей домашней работой., как сделать крестики-нолики с php_self?
Итак, у меня есть кнопка 9 с диапазоном номеров от 1 до 9. Затем, когда нажата первая кнопка, значение будет изменено с помощью "O". после того, как игрок с символом "O" нажал кнопку, затем, если пользователь нажал кнопку, появится символ "X". процесс будет продолжаться до тех пор, пока одинаковые символы не появятся в горизонтальной, вертикальной или диагональной последовательности.
Я надеюсь, что кто-нибудь может мне помочь:(Спасибо
2 ответа
Хорошо в процессе ответа на этот вопрос, я в значительной степени сделал твою домашнюю работу для тебя. Но вы должны делать вид, что у меня нет, и я собираюсь забыть и об этом, и просто сосредоточиться на том, что вы просили.
Кроме того, PHP_SELF сам по себе ничего не значит. $_SERVER['PHP_SELF'] - это то, на что вы, скорее всего, ссылаетесь, в основном, на ссылки на саму страницу, на которой вы пишете код. Вы создаете впечатление, что есть что-то, что поможет вам сделать tic-tac -то но я так не думаю. Может быть, вы можете исправить меня, если я ошибаюсь.
Вы, кажется, упоминаете, что у вас уже есть интерфейс, с которым вы работаете. У меня нет кода для этого интерфейса, поэтому я предполагаю, что он выглядит примерно так:
HTML-тег формы обычно содержит другой атрибут, называемый действием. Вы обычно используете это, если хотите, чтобы данные из формы перешли на другую страницу. Поскольку мы не хотим создавать другую страницу, мы можем либо вообще пропустить это, либо использовать что-то вроде:
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"></form>
Это единственное место, куда входит ваш PHP_SELF. Опять же, если вы знаете что-то еще об этом, дайте мне знать.
Итак... теперь давайте начнем решать эту проблему сейчас.
Шаг 1: Выясните, как получить и использовать кнопки.
Каждый раз, когда вы нажимаете кнопку. Форма отправляется и страница перезагружается. Если у вас есть знания о заголовках, он будет добавлять дополнительные нажатие =1 или нажатие =2 и т. Д. Каждый раз, когда вы нажимаете кнопку и отправляете форму. Это "нажатое" ключевое слово происходит из-за того, что наши кнопки имеют name="pressed"
как атрибут (Обратите внимание, что все кнопки имеют одинаковое имя!).
Нам нужно будет использовать эти данные и выяснить, что на самом деле человек нажал.
Так как я использую <form method="post">
Вы можете получить эти данные с помощью <?php $pressed = $_POST['pressed'] ?>
в качестве альтернативы, если вы использовали method="get"
вам пришлось бы использовать $_GET['pressed']
вместо.
В качестве упражнения просто отобразите "X" на той кнопке, на которой нажимает пользователь. Вы должны динамически генерировать HTML-код для кнопок внутри формы, чтобы сделать вашу жизнь проще.
<?php
for ($i=0; $i<9; $i++) {
echo '<button name="pressed" value="'.$i.'">';
if ($_POST['pressed']==$i)
echo 'X';
echo '</button>';
if ($i!=0 && ($i+1)%3==0)
echo "</br>\n";
}
?>
Шаг 2: выяснить, как запомнить данные.
Так как вы используете php. Я бы порекомендовал вам использовать php сессии. Вам просто нужно поместить session_start() в начало файла, а затем вы можете сохранить значения в переменной $_SESSION, и php запомнит их при следующем посещении страницы. Вы можете использовать это, чтобы посчитать, сколько раз была нажата кнопка, чтобы вы могли переключаться между O и X.
Выясните, как уничтожить сессии. (Сделайте так, чтобы кнопка сброса работала). Это очень важно.
Вы также можете использовать куки или записывать в файл, если хотите, но сессии, вероятно, проще всего использовать.
Вот пример простого счетчика.
<?php
session_start();
$count = 0;
if (isset($_SESSION['count']))
$count = $_SESSION['count'];
echo $count;
$_SESSION['count'] = $count+1;
?>
И вы сделали!
Это, вероятно, все, что вам нужно сделать. Остальное просто реализует, как работает игра крестики-нолики. Дайте мне знать, если вам нужны какие-либо разъяснения по поводу всего, что я написал, или если вам нужна дополнительная информация. Надеюсь это поможет!
Не уверен, если вам нужно re-event the wheel
.. что вам нужно сделать, это изменить интерфейс...
Есть так много решений онлайн, которые могут помочь вам с этим
PHP & HTML & Javascript
http://code.activestate.com/recipes/276962-php-tic-tac-toe/
http://scripts.franciscocharrua.com/javascript/tic-tac-toe/
http://www.mystcommunity.com/board/index.php?/topic/11367-tic-tac-toe-in-php/
PHP и HTML
http://refactormycode.com/codes/1524-simple-tic-tac-toe-php-pure-html
Заключение
Если вы выберете какой-либо интересующий вас сценарий, вы можете вернуться, если у вас возникнут трудности с его работой.