• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Gra w 21 pytan php

VPS Starter Arubacloud
0 głosów
173 wizyt
pytanie zadane 18 lutego 2021 w PHP przez domkub12 Początkujący (480 p.)
<!doctype html>
<html>
<head>
</head>
<body>
	<form method="get">
		<input type="number" name="numer1">
	</form>

<?php
$a = $_GET['numer1'];
$wynik = rand(1,1000);
$liczba = $wynik;
echo("$liczba");
$won = false;
for($i=0;$i<21;$i++){
	if($liczba>$a){
		echo("Podana liczba jest większa");
		}
	else if ($liczba < $a) {
		echo("Podane liczba jest mniejsza");
		}
	else {
		echo("Zgadłeś liczbę wylosowaną przez komputer!!!");
		$won = true;
		break;
		}
}
if(!$won){
	echo("Przegrałeś.");
}
?>
</body>
</html>

ciagle losuje nowa liczbe , jak zapobiec temu?

1 odpowiedź

0 głosów
odpowiedź 18 lutego 2021 przez CSSoup Mądrala (6,460 p.)
Wrzuć tą liczbę w ciasteczko/sesję i losuj nową dopiero wtedy gdy zgadniesz poprawną/przegrasz.
komentarz 18 lutego 2021 przez CSSoup Mądrala (6,460 p.)

Ja w sumie zrobiłbym tak bo to co napisałem jest niejasne:

1. Wrzuca wylosowaną liczbę do zmiennej sesyjnej i ustawiam w niej jeszcze info o rozstrzygnięciu gry.

2. Dodaję warunek który ogarnia to wszystko tzn. sprawdza czy gra jest rozstrzygnięta, jeżeli nie - nie losuje nowej liczby, a jeżeli jest to losuje liczbę.

3. Teraz w trakcie działania programu jeżeli użytkownik wygra to zmieniam info o rozstrzygnięciu gry na "rozstrzygnięta" to samo w przypadku przegranej.

Sesje w PHP

komentarz 22 lutego 2021 przez domkub12 Początkujący (480 p.)
<?php
	session_start();
		$a = rand(1,1000);	
	if (isset($_SESSION['a'])){
        $a=$_SESSION['a'];
	}
?>

<!DOCTYPE HTML>
<html lang = "pl">
<head>
<meta charset = "utf-8"/>
<title>21 pytań</title>
</head>
<body>
<header>
<h1>21 pytań</h1>
</header>
<main>

     <form method="post">
            
            <label for="pierwsza">Twoja liczba: </label>
            <input type="number" name="liczba">
            </br></br>
            <input type="submit" name="prz" value="Sprawdź"/>
</br></br>
<?php
echo("</br>");
	
print("Twoim zadaniem jest odgadniecie mojej liczby z zakresu od 1 do 1000!");
echo("</br>");
echo("</br>");

$_SESSION["a"]= $a;

print_r($_SESSION["a"]);
echo("</br>");

$liczba = $_POST['liczba'];	

$won = false;
for($i=0;$i<=3;$i++){
	
	if ($liczba>$a){
		echo("Podana liczba jest większa");
		break;
	}
		
	else if ($liczba<$a) {
		echo("Podane liczba jest mniejsza");
		break;
	}
		
	else if($liczba == $a){
		echo("Zgadłeś liczbę wylosowaną przez komputer!!!");
		$won = true;
		session_destroy();
		break;
	}

}





?>

działa mi prawie wszystko tylko jest plad podczas inkrementacji probowalem dodac nowa zmiennna  zdefiniowana na 0 i wrzycic do petli z inkrementacja , ale nie liczy jej 

 

 

Podobne pytania

0 głosów
2 odpowiedzi 254 wizyt
0 głosów
0 odpowiedzi 179 wizyt
pytanie zadane 23 kwietnia 2019 w PHP przez Forcer Nowicjusz (180 p.)
0 głosów
2 odpowiedzi 283 wizyt
pytanie zadane 22 października 2016 w PHP przez Raster22 Obywatel (1,640 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...