PHP的Tic Tac Toe

时间:2012-04-21 14:25:37

标签: php tic-tac-toe

我正忙着做作业。 。 如何用php_self制作井字游戏?

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

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

2 个答案:

答案 0 :(得分: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/

结论

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

答案 1 :(得分:0)

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

此外,PHP_SELF本身并不意味着什么。 $ _SERVER ['PHP_SELF']这是你最有可能指的是你正在编写代码的页面本身。你看起来好像有什么东西可以帮助你做tic-tac但是我不这么认为。如果我错了,也许你可以纠正我。

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

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

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

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

这是您的PHP_SELF唯一进入的地方。再次,如果您对此有所了解,请告诉我。

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

第1步:了解如何获取和使用按钮点击。

每次点击按钮。表单提交并重新加载页面。如果您对标题有所了解,那么每次单击按钮并提交表单时,它都会添加额外的press = 1或者press = 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之间切换。

弄清楚如何销毁会话。 (使重置按钮工作)。这非常重要。

如果您愿意,您也可以使用cookie或写入文件,但会话可能是最容易使用的。

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

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

而且......你已经完成了!

这可能是您需要做的所有重要事项。其余的只是实现游戏滴滴趾的运作方式。如果您需要对我撰写的任何内容或需要更多信息进行任何澄清,请与我们联系。希望这有帮助!