0

我被我的家庭作业困住了。. 如何使用 php_self 制作井字游戏?

所以,我有 9 个按钮,数字范围从 1 到 9。然后,当单击第一个按钮时,值将更改为“O”。在带有“O”符号的玩家按下按钮后,如果用户单击该按钮,则会出现“X”符号。该过程将继续进行,直到相同的符号出现在水平、垂直或对角线系列上。

我希望有人可以帮助我:(谢谢

4

2 回答 2

1

不确定您是否需要re-event the wheel..您需要做的是更改界面...

网上有很多解决方案可以帮助您解决这个问题

PHP & HTML & Javascript

http://code.activestate.com/recipes/276962-php-tic-tac-toe/

http://t-dev.iglu.cz/

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

http://jadendreamer.wordpress.com/2012/01/31/php-tutorial-2-player-tic-tac-toe-game-no-database-required/

结论

如果您选择任何您感兴趣的脚本,那么如果您在使其工作有任何困难时可以回来

于 2012-04-25T02:22:08.680 回答
0

好吧,在回答这个问题的过程中,我几乎为你做了功课。但是你应该假装我没有,我也会忘记这一点,只专注于你所问的。

此外,PHP_SELF 本身没有任何意义。$_SERVER['PHP_SELF'] 你最有可能指的是你正在编写代码的页面本身。你让它看起来好像有一些东西可以帮助你制作井字游戏-toe 但我不这么认为。如果我错了,也许你可以纠正我。

您似乎提到您已经有一个正在使用的界面。我没有这个接口的代码,所以我假设它看起来像这样:

http://jsfiddle.net/vyyXP/1/

form html 标记通常包含另一个称为 action 的属性。如果您希望表单中的数据转到其他页面,则通常使用此选项。由于我们不想创建另一个页面,我们可以完全省略它或使用类似的东西:

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"></form>

这是您的 PHP_SELF 唯一出现的地方。同样,如果您对此有所了解,请告诉我。

所以..现在让我们真正开始解决你的这个问题。

第 1 步:弄清楚如何获取和使用按钮点击。

每次点击按钮。表单提交并重新加载页面。如果您了解标题,则每次单击按钮并提交表单时,它都会添加额外的pressed=1 或pressed=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.ini。我建议您使用 php 会话。您基本上只需要将 session_start() 放在文件的开头,然后您可以将值存储到 $_SESSION 变量中,php 会在您下次访问该页面时记住。您可以使用它来计算按钮被按下的次数,以便您可以在 O 和 X 之间切换。

弄清楚如何销毁会话。(使该重置按钮起作用)。这很重要。

如果需要,您还可以使用 cookie 或写入文件,但会话可能是最容易使用的东西。

这是一个简单计数器的示例。

<?php
  session_start();
  $count = 0;
  if (isset($_SESSION['count']))
    $count = $_SESSION['count'];
  echo $count;
  $_SESSION['count'] = $count+1;
?>

而且..你完成了!

这可能是您需要做的所有重要事情。剩下的只是实现井字游戏的工作方式。如果您需要对我所写的任何内容进行任何澄清,或者您是否需要更多信息,请告诉我。希望这可以帮助!

于 2012-04-26T12:44:37.063 回答