Проблемма:как сделать что бы после того как число угадываешь,игра начиналась заново.Т.е чтоб скрипт после угадывания, сгенерировал новое число. ?? Обязательо нужно в таком виде,т.е что бы форма заполнения была внутри <?php?>.
Помогите плз,а то не догоняю,что сделать надо.
<html>
<headЮ
<title>Guess the number</title>
</head>
<body>
<h1>Угадай число от 1 до 100 </h1>
<form method="post">
<?
//смотрим,впервые ли запущена программа
if(empty($number)){ // если не разу небыл ,То $number будет пустым
$number=rand(1,100); // генерируем число
}
print <<<HERE
<input type= "text"
name= "guess"
value= "">
<input type= "submit"
value= "Проверить">
<input type= "hidden"
name= "number"
value= "$number">
<h3>спрятанное сгенерированное число - $number</h3>
HERE;
if($guess==$number){
print "Вы угадали число!! Это $number";
}
else if($number > $guess){
print "Загаданное число больше";
}
else {
print "Загаданное число меньше";
}
?>
</form>
</body>
</html>[color=red][/color]
Спустя 5 минут, 50 секунд (3.08.2010 - 21:09) Slays написал(а):
if(empty($number)){ // если не разу небыл ,То $number будет пустым
$number=rand(1,100); // генерируем число
}
если проверяешь через empty то для получения нового рандома достаточно присвоить $number= 0,false или пустую строку ' '
также можешь удалять переменную unset($number )
надеюсь это не весь код, потому что о том, что $guess берется из POST['guess'] нигде не сказано
Спустя 9 минут, 2 секунды (3.08.2010 - 21:18) Por$h написал(а):
мм..ну вообще-то весь код. Потому я наверно что-то упустил.. Вообщем не соображаю что надо сделать для обновления.Есть другой вариант,очень похожий и рабочий..но там форма в html'е. А вот чтоб внутри была, не понимаю.
Спустя 9 минут, 51 секунда (3.08.2010 - 21:28) linker написал(а):
Открываем ХТМЛ-код и смотрим на загаданное число, даже угадывать не надо. Меняйте концепцию. Загаднное число можно хранить в сессиях, обновлять которое после сабмита.
Спустя 5 минут, 50 секунд (3.08.2010 - 21:34) Por$h написал(а):
linker
Да я и сам знаю,что можно посмотреть число в коде.Только мне надо для учебных целях. У меня есть 3 рабочих варианта этой игры.С сессией тоже, только вот я их ещё не изучал,потому знаю такой вид создания этой игры и то вот не получается.
Забить на это конечно можно,но есть проблемма в простейшем и я считаю,что без основ дальше нету смысла идти.
Да я и сам знаю,что можно посмотреть число в коде.Только мне надо для учебных целях. У меня есть 3 рабочих варианта этой игры.С сессией тоже, только вот я их ещё не изучал,потому знаю такой вид создания этой игры и то вот не получается.
Забить на это конечно можно,но есть проблемма в простейшем и я считаю,что без основ дальше нету смысла идти.
Спустя 4 минуты, 11 секунд (3.08.2010 - 21:38) Гость_KaFe написал(а):
<b>Нажмите кнопку "Новоя игра",что бы начать новую игру (КЭП!!)</b><br>
<form action="" method="post">
<input name = "reset" type="submit" value="Новая игра"><br><br>
<b>Компьютер загадал число от 1 до 100, отгадай его!</b><br>
<?php
if ($_POST['reset'])
{
$_SESSION['number'] = rand (1,101);
$_SESSION['attemp'] = 0;
}
if ($_POST['enter'])
{
$number = intval($_POST['number']);
if ($number > 0 && $number < 101)
{
if ($_SESSION['number'] == $number)
echo '<br>Вы угадали, компьютер загадал число "'.$number.'"<br>';
else
{
echo '<br>Вы не угадали! Ваше число ';
if ($number < $_SESSION['number'])
echo ' меньше загаданного!';
else
echo ' больше загаданного!';
echo '<br>';
$_SESSION['attemp']++;
}
}
else
echo '<br>Число дожно быть в диапозоне от 1 до 100!<br>';
}
if ($_SESSION['attemp'])
echo "<br><br>Число попыток: ".$_SESSION['attemp']."<br>";
?>
<input name = "number" value = "<?php echo $number;?>" type="text" size="3">
<input name = "enter" type="submit" value="Ввести">
</form>
start_session(); в самом начале только добавь
Спустя 53 минуты, 31 секунда (3.08.2010 - 22:31) Por$h написал(а):
Гость_KaFe
сорри,но мне решить мой трабл,а не другой способ.
сорри,но мне решить мой трабл,а не другой способ.
Спустя 31 минута, 6 секунд (3.08.2010 - 23:02) arvitaly написал(а):
<html>
<head>
<title>Guess the number</title>
</head>
<body>
<h1>Угадай число от 1 до 100 </h1>
<form method="post">
<?
//смотрим,впервые ли запущена программа
if(!empty($number) && !empty($guess)){
if ($guess==$number)
{
$text= "Вы угадали число!! Это $number";
unset($number);
}
else if($number > $guess){
$text= "Загаданное число больше";
}
else {
$text= "Загаданное число меньше";
}
}
if(empty($number)){ // если не разу небыл ,То $number будет пустым
$number=rand(1,100); // генерируем число
}
print <<<HERE
<input type= "text"
name= "guess"
value= "">
<input type= "submit"
value= "Проверить">
<input type= "hidden"
name= "number"
value= "$number">
<h3>спрятанное сгенерированное число - $number</h3>
HERE;
echo $text;
?>
</form>
</body>
</html>
Спустя 33 минуты, 11 секунд (3.08.2010 - 23:36) Por$h написал(а):
arvitaly
Оп спасибо , то что надо ) Хоть ожидал чего-то иного,но всё же )
наверно стоит менять книгу,а то некоторое даже из этих мелочных добавок не было в книге.. и не знаю вот..
например:
(!empty($number) .. ну "!" не знаю что эт...полагаю отрицание,по смыслу если смотреть.
unset($number); ..полагаю обнулить значение или точнее сбросить.
Оп спасибо , то что надо ) Хоть ожидал чего-то иного,но всё же )
наверно стоит менять книгу,а то некоторое даже из этих мелочных добавок не было в книге.. и не знаю вот..
например:
(!empty($number) .. ну "!" не знаю что эт...полагаю отрицание,по смыслу если смотреть.
unset($number); ..полагаю обнулить значение или точнее сбросить.
Спустя 19 минут, 58 секунд (3.08.2010 - 23:56) arvitaly написал(а):
1. Да это отрицание
2. Лучше и вправду $number=0;
2. Лучше и вправду $number=0;
Спустя 10 часов, 28 минут, 6 секунд (4.08.2010 - 10:24) Гость_KaFe написал(а):
Не знаю что там и как, но срочно меняйте книгу.