Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 每次在Tic Tac Toe时只允许进行一次移动_Php_Html_Forms_Tic Tac Toe - Fatal编程技术网

Php 每次在Tic Tac Toe时只允许进行一次移动

Php 每次在Tic Tac Toe时只允许进行一次移动,php,html,forms,tic-tac-toe,Php,Html,Forms,Tic Tac Toe,我正在制作一个标准的Tic-Tac-Toe游戏,仅限php。下面是一个屏幕截图,显示了该板的外观以及按钮: 正如您所见,唯一的问题是您可以在同一轮中提交3个“O”或“X”。 我能想到的解决这个问题的唯一办法是: if ($a == 'X' && ($b == 'X' || $c == 'X' || $d == 'X' || $e == 'X' || $f == 'X' || $g == 'X' || $h == 'X' || $i == 'X'))

我正在制作一个标准的Tic-Tac-Toe游戏,仅限php。下面是一个屏幕截图,显示了该板的外观以及按钮: 正如您所见,唯一的问题是您可以在同一轮中提交3个“O”或“X”。 我能想到的解决这个问题的唯一办法是:

      if ($a == 'X' && ($b == 'X' || $c == 'X' || $d == 'X' || 
      $e == 'X' || $f == 'X' || $g == 'X' || $h == 'X' || $i == 'X'))
      echo "You can only choose one square!"
其中,$a-$i表示9个表单中的每一个,而“X”表示表单的值。唯一的问题是这种技术需要大约30行代码。此外,该表格仍将提交。如果他们轮流选择多张表格,我希望它不会发送。有人有其他的解决办法吗?
我不知道要共享代码的哪一部分,所以如果有人感兴趣,下面是完整的代码:

因为我正在参加一个php课程。不允许使用其他任何东西;)使用按钮而不是选择。每一个都可以独立提交。@Torchify:Nice and simple。我打算建议不要使用选择场,而是提供一个实际的“比赛场”,对于当前玩家,将其选择的场标记为“O”,并将其对手的场标记为“X”——对于其他场,使用单选按钮,他们仍然可以选择。(两位玩家都将自己的棋子视为“O”,而对手的棋子视为“X”,这应该无关紧要。或者,如果认为这不可取,可以使用“自定义单选按钮”解决方案,因为有足够的棋子。)例如:
@CBroe单选按钮的想法会奏效。因为我正在参加一个php课程。不允许使用其他任何东西;)使用按钮而不是选择。每一个都可以独立提交。@Torchify:Nice and simple。我打算建议不要使用选择场,而是提供一个实际的“比赛场”,对于当前玩家,将其选择的场标记为“O”,并将其对手的场标记为“X”——对于其他场,使用单选按钮,他们仍然可以选择。(两位玩家都将自己的棋子视为“O”,对手的棋子视为“X”,这应该没有多大关系。或者,如果这被认为是不可取的,可以使用“自定义单选按钮”解决方案,因为已经有足够多的棋子了。)例如:
@CBroe单选按钮想法可行。