Php 如何完成这个游戏
我正在用php做一个游戏。我的问题是如何将其循环成10轮,如何使其不区分大小写,并接受前两个字母的单词,即使它错了。需要将用户输入到字符串。我成功地编写了这个代码,但不知道下一步该怎么办Php 如何完成这个游戏,php,Php,我正在用php做一个游戏。我的问题是如何将其循环成10轮,如何使其不区分大小写,并接受前两个字母的单词,即使它错了。需要将用户输入到字符串。我成功地编写了这个代码,但不知道下一步该怎么办 剪刀 当对用户IQ有疑问时,尽可能使用下拉框、无线电框等限制预定义答案的选择 我写得很快。如果有任何错误,我认为你将能够调试,但我认为你会得到jist <?php session_start(); if(isset($_POST['play'])) { $p1 = $_POST['p1']; /
剪刀
当对用户IQ有疑问时,尽可能使用下拉框、无线电框等限制预定义答案的选择
我写得很快。如果有任何错误,我认为你将能够调试,但我认为你会得到jist
<?php
session_start();
if(isset($_POST['play']))
{
$p1 = $_POST['p1']; //don't need to check if post empty, 'cause used has a default value
$p2 = $_POST['p2']; //don't need to check if post empty, 'cause used has a default value
$loop = intval($_POST['play']);
echo $p2;
switch($p1)
{
case 'ROCK':
if($p2=='PAPER')$_SESSION['game'][$loop]='Round '. $loop . ' - Player 2 WINS!';
else if($p2=='SCISSORS')$_SESSION['game'][$loop]='Round '. $loop . ' - Player 1 WINS!';
else if($p2=='ROCK')$_SESSION['game'][$loop]='Round '. $loop . ' - It\'s a DRAW!';
break;
case 'PAPER':
if($p2=='ROCK')$_SESSION['game'][$loop]='Round '. $loop . ' - Player 2 WINS!';
else if($p2=='SCISSORS')$_SESSION['game'][$loop]='Round '. $loop . ' - Player 1 WINS!';
else if($p2=='PAPER')$_SESSION['game'][$loop]='Round '. $loop . ' - It\'s a DRAW!';
break;
case 'SCISSORS':
if($p2=='PAPER')$_SESSION['game'][$loop]='Round '. $loop . ' - Player 1 WINS!';
else if($p2=='ROCK')$_SESSION['game'][$loop]='Round '. $loop . ' - Player 2 WINS!';
else if($p2=='SCISSORS')$_SESSION['game'][$loop]='Round '. $loop . ' - It\'s a DRAW!';
break;
}
$loop++;
}
?>
<html>
<body>
<h1>ROCK PAPER SCISSORS</h1>
<form method="post">
<input type="hidden" name="play" value='<?php if(isset($loop))echo $loop; else echo 1; ?>'>
<p>Player 1:
Rock<input type="radio" name="p1" value='ROCK' checked>
PAPER<input type="radio" name="p1" value='PAPER'>
SCISSORS<input type="radio" name="p1" value='SCISSORS'>
</p>
<p>Player 2:
Rock <input type="radio" name="p2" value='ROCK' checked>
PAPER <input type="radio" name="p2" value='PAPER'>
SCISSORS<input type="radio" name="p2" value='SCISSORS'>
</p>
<button>Submit</button>
</form>
<?php
if(!empty($_SESSION['game']))
{
$game=$_SESSION['game'];
foreach($game as $count=>$comment)echo $comment.'<br>';
if($count==10)echo '<h1>END OF GAME</h1>';
}
?>
</body>
</html>
剪刀
要使其不区分大小写,请在输入上使用strtolower使其小写,并使用小写字符串进行比较。
在代码中替换此选项:
$player1 = $_POST['p1'];
$player2 = $_POST['p2'];
为此:
$player1 = strtolower($_POST['p1']);
$player2 = strtolower($_POST['p2']);
还可以通过在中使用多个表达式来减少elseif块的数量
一个
两者
及
结果相同。您可以使用或表达式将两者组合到一个块中,如下所示:
if(($player1 == 'Rock' && $player2 =='Paper') || ($player1 == 'Scissors' && $player2 == 'Rock'))
for($round=1; $round<=10; $round++)
要循环10次,可以使用如下的for循环:
if(($player1 == 'Rock' && $player2 =='Paper') || ($player1 == 'Scissors' && $player2 == 'Rock'))
for($round=1; $round<=10; $round++)
for($round=1;$roundhi tnx)用于您的帮助。我将for循环放在哪里?@datagutten