Поэтому я решил попробовать и забрать PHP и после завершения некоторых онлайн-курсов и т.д. У меня есть основы в какой-то степени.
Я пытаюсь проверить себя, сделав простую игру.
В игре вы делаете ставку на количество кредитов и генерируется случайное число от 1 до 100, если число превышает 60, вы получаете вдвое больше того, что вы делаете, если ниже 60 вы теряете сумму, которую вы ставите.
Я застрял, создав общее количество, и был бы очень признателен за любые советы.
Код ниже (извинения за плохо написанный код: P)
<?php
$rand = rand(1,100);
$usrBet = $_POST['usrBet'];
$usrCredit = 1000;
if ($rand > 60) {
$usrCredit = ($usrCredit - $usrBet) + ($usrBet * 2);
echo "Your Bet : " ,$usrBet;
echo "<br>";
echo "The Banker Rolled : " ,$rand;
echo "<br>";
echo "You Win";
echo "<br>";
echo "Current Credits : " ,$usrCredit;
} else {
$usrCredit = $usrCredit - $usrBet;
echo "Your Bet : " ,$usrBet;
echo "<br>";
echo "Aww Snap! you loose!";
echo "<br>";
echo "The Banker Rolled : " ,$rand;
echo "<br>";
echo "Current Credits : " ,$usrCredit;
}
?>
<form action="dicegame.php" method="post">
<INPUT TYPE = "Text" VALUE ="Please Enter Your Bet" NAME = "usrBet" placeholder="Please Enter Your Bet">
<p><input type="submit" /></p>
</form>
Я попытался добавить некоторые функции, чтобы вы могли искать таким образом. Как сказано, $ _SESSION решит pbm.
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<head>
<script>
<!-- Some few lines of JS - to disable characters input -->
function isNumberKey(evt)
{
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
}
</script>
</head>
<body>
<!-- U'll to re-edit the target of the form + changed type to number for input -->
<form action="7.php" method="post">
<input type="number" name="usrBet" value="Plz Enter Your Bet"
placeholder="Plz Enter Your Bet" onkeypress="return isNumberKey(event)">
<br>
<input type="submit" value="Submit">
</form>
</body>
</html>
<?php
// Check if user entered a value
if (isset($_POST['usrBet']))
{
if($_POST['usrBet'] == '')
$usrBet = 0;
else
$usrBet = $_POST['usrBet'];
$rand = rand(1,100);
if(!isset($_SESSION['usrCredit']))
$_SESSION['usrCredit'] = 1000;
if($rand > 60)
{
$_SESSION['usrCredit'] = ($_SESSION['usrCredit'] - $usrBet) + ($usrBet * 2);
echo "Your Bet : " . $usrBet;
echo "<br>";
echo "The Banker Rolled : " . $rand;
echo "<br>";
echo "You Won";
echo "<br>";
echo "Current Credits : " . $_SESSION['usrCredit'];
}
else
{
$_SESSION['usrCredit'] = $_SESSION['usrCredit'] - $usrBet;
echo "Your Bet : " . $usrBet;
echo "<br>";
echo "Aww Snap! you lost!";
echo "<br>";
echo "The Banker Rolled : " . $rand;
echo "<br>";
echo "Current Credits : " . $_SESSION['usrCredit'];
}
}
?>
Вы должны использовать сеанс для хранения данных, чтобы счет не сбрасывался
Для использования сеанса вы должны начать сеанс следующим образом:
session_start();
после этого вы должны проверить это, если значение назначено в сеансе, если нет, это означает, что у пользователя есть его первая попытка, поэтому мы будем кредитовать 1000 очков при начале сеанса, как это
if(!isset($_SESSION['userCredits'])){
$_SESSION['userCredits'] = 1000;
}
и когда пользовательские кредиты обновляются, мы должны обновить его в сеансе так, чтобы это было
$_SESSION['userCredits'] = $usrCredit;
если пользователь пришел первым на странице, мы не хотим сначала дать результат, поэтому проверьте, является ли форма сообщением при запуске такого условия.
if(isset($_POST['usrBet'])){
// PHP CODE
}
после этого окончательный код будет выглядеть следующим образом:
<?php
session_start();
if(!isset($_SESSION['userCredits'])){
$_SESSION['userCredits'] = 1000;
}
if(isset($_POST['usrBet'])){
$rand = rand(1,100);
$usrBet = $_POST['usrBet'];
$usrCredit = $_SESSION['userCredits'];
if ($rand > 60) {
$usrCredit = ($usrCredit - $usrBet) + ($usrBet * 2);
echo "Your Bet : " ,$usrBet;
echo "<br>";
echo "The Banker Rolled : " ,$rand;
echo "<br>";
echo "You Win";
echo "<br>";
echo "Current Credits : " ,$usrCredit;
} else {
$usrCredit = $usrCredit - $usrBet;
echo "Your Bet : " ,$usrBet;
echo "<br>";
echo "Aww Snap! you loose!";
echo "<br>";
echo "The Banker Rolled : " ,$rand;
echo "<br>";
echo "Current Credits : " ,$usrCredit;
}
$_SESSION['userCredits'] = $usrCredit;
}
?>
<form action="dicegame.php" method="post">
<INPUT TYPE = "Text" NAME = "usrBet" placeholder="Please Enter Your Bet">
<p><input type="submit" /></p>
</form>
Вы можете добавить к нему больше условий. Надеюсь, это поможет