[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: игра Угадай число.PHP = help !!
Por$h
Это програ-игра "Угадай число ".Работает,но кое-что не так.
Проблемма:как сделать что бы после того как число угадываешь,игра начиналась заново.Т.е чтоб скрипт после угадывания, сгенерировал новое число. ?? Обязательо нужно в таком виде,т.е что бы форма заполнения была внутри <?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 рабочих варианта этой игры.С сессией тоже, только вот я их ещё не изучал,потому знаю такой вид создания этой игры и то вот не получается.
Забить на это конечно можно,но есть проблемма в простейшем и я считаю,что без основ дальше нету смысла идти.

Спустя 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(); в самом начале только добавь rolleyes.gif

Спустя 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); ..полагаю обнулить значение или точнее сбросить.

Спустя 19 минут, 58 секунд (3.08.2010 - 23:56) arvitaly написал(а):
1. Да это отрицание
2. Лучше и вправду $number=0;

Спустя 10 часов, 28 минут, 6 секунд (4.08.2010 - 10:24) Гость_KaFe написал(а):
Не знаю что там и как, но срочно меняйте книгу.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.