フォームを使用して mastermind のようなゲームを作成しています。私の問題は、変数 $attempts があり、ユーザーが数字を推測するたびに増やしたいのですが、常にゼロにリセットされるように見えるため、試行回数は常に 1 として表示されます。私が使用しているコード:
$black = 0;
$white = 0;
$answer = array(1,2,3,4);
$tries = array();
$attempts = 0;
if ($process == true)
{
$guess = str_split($_POST['guess']);
if ($guess == $answer)
{
$black = 4;
} else
{
for ($i=0;$i<4;$i++)
{
if ($guess[$i] == $answer[$i])
{
$black = $black + 1;
$white = $white - 1;
}
}
$result = array();
foreach ($guess as $val)
{
if (($key = array_search($val, $answer))!==false)
{
$result[] = $val;
unset($answer[$key]);
}
}
$count = count($result);
$white = $white + $count;
}
}
$chance = implode(" ",$guess);
$attempts += 1;
$try = $attempts.".".$chance.".".$white.".".$black;
array_push($tries, $try);