Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с рандомными числами, В игре больше \ меньше 
:(
    Опции темы
Gtaman
Дата 20.4.2006, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 10.4.2006

Репутация: нет
Всего: нет



Вобщем пишу вот такой код:

Код

<?php
if($game == bolmen) {
echo "<div align=center>";
$a = rand(1, 100);
echo $a;
?>
<form method="post">
<?php echo $lang_casino["bol"]; ?> - <input type="radio" name="bolmen" value="bol"><br>
<?php echo $lang_casino["men"]; ?> - <input type="radio" name="bolmen" value="men"><br>
<?php echo $lang_casino["yourbet"]; ?> - <input type="text" name="bet" value="0"><br>
<input type="submit" value="<?php echo $lang_casino["gaming"]; ?>">
</form>
<?php
$b = rand(1, 100);
if($bolmen == bol) {
if($a <= $b) {
echo $lang_casino["bolmenwin"]; echo "&nbsp;$b";
}
else { echo $lang_casino["bolmenloos"]; echo "&nbsp;$b"; }
}
if($bolmen == men) {
if($a >= $b) {
echo $lang_casino["bolmenwin"]; echo "&nbsp;$b";
}
else { echo $lang_casino["bolmenloos"]; echo "&nbsp;$b"; }
}
echo "</div>";
}
?>


По идее должно выполнятся так: при обращении к скрипту выпадет случайное число $a. Предлагается выбрать, будет ли следующее число, $b, больше или меньше числа $a, которое сейчас выпало.  Если оно больше или меньше(в зависимости от выбора), то победа, а если нет, то проигрышь.

А выполняется вот как: выпадает число $a. Отправляю форму и получаю результат, но так получается, что это число $a выпадает еще раз после отправки формы и соответсвенно получается, что человек играет вслепую. 
PM MAIL   Вверх
Satana
Дата 20.4.2006, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 564
Регистрация: 15.9.2004
Где: Ставрополь, СЗ ра йон

Репутация: 2
Всего: 5



самое просто что приходит в голову - проверяй если числа равны то еще раз генерировать другое число пока не будет отличаться от заданного. 


--------------------
 Работай на себя 
www.abalentsev.com - Сайт портфолио.
www.pokushau.ru - Рецепты со всего мира.
PM MAIL WWW ICQ   Вверх
Darhazer
Дата 20.4.2006, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 28.9.2005
Где: HellCity (Sofia, Bulgaria)

Репутация: 7
Всего: 29



в PHP rand() не хороший
Да и у тебя нету нигде srnad()
Добави перед rand()
Код
srand((double)microtime()*1000000);
 


--------------------
I'm a wheel, I'm a wheel, I can roll, I can feel
But you can't stop me turning
'Cause I'm the sun, I'm the sun, I can move, I can run
But you'll never stom me burning
PM MAIL WWW ICQ YIM   Вверх
Gtaman
Дата 20.4.2006, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 10.4.2006

Репутация: нет
Всего: нет



Darhazer, не, это что-то не то..... не помогает smile  smile 

Все равно когда форму отсылаешь - генерится совсем другое $a
 
PM MAIL   Вверх
Darhazer
Дата 20.4.2006, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 28.9.2005
Где: HellCity (Sofia, Bulgaria)

Репутация: 7
Всего: 29



А ты хочеш сохранить $a?
Тогда сессию надо юзать...

Код

<?php
session_start();
if($game == bolmen) {
echo "<div align=center>";

$a = (isset($_SESSION['a']))?$_SESSION['a'] :  rand(1, 100);
$_SESSION['a'] = $a;
echo $a;
?>
<form method="post">
<?php echo $lang_casino["bol"]; ?> - <input type="radio" name="bolmen" value="bol"><br>
<?php echo $lang_casino["men"]; ?> - <input type="radio" name="bolmen" value="men"><br>
<?php echo $lang_casino["yourbet"]; ?> - <input type="text" name="bet" value="0"><br>
<input type="submit" value="<?php echo $lang_casino["gaming"]; ?>">
</form>
<?php
$b = rand(1, 100);
if($bolmen == bol) {
if($a <= $b) {
echo $lang_casino["bolmenwin"]; echo "&nbsp;$b";
}
else { echo $lang_casino["bolmenloos"]; echo "&nbsp;$b"; }
}
if($bolmen == men) {
if($a >= $b) {
echo $lang_casino["bolmenwin"]; echo "&nbsp;$b";
}
else { echo $lang_casino["bolmenloos"]; echo "&nbsp;$b"; }
}
echo "</div>";
}
?>
 


--------------------
I'm a wheel, I'm a wheel, I can roll, I can feel
But you can't stop me turning
'Cause I'm the sun, I'm the sun, I can move, I can run
But you'll never stom me burning
PM MAIL WWW ICQ YIM   Вверх
Gtaman
Дата 20.4.2006, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 10.4.2006

Репутация: нет
Всего: нет



Darhazer, в какой-то мере - да, но не так. Нужно, чтобы зашел чел на страницу со скриптом. Выпало рандомно $a. Обновил страницу - $a уже другое число. Отправил форму, и $a, которое выпало при первичном обращении к скрипту - сравнивалось с $b. 
PM MAIL   Вверх
IvanB
Дата 20.4.2006, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 23.5.2005
Где: Irkutsk

Репутация: 2
Всего: 5



Ну тогда на той странице, где лежит форма - добавь то, что написал Darhazer, но строчку 
Цитата(Darhazer @  20.4.2006,  12:00 Найти цитируемый пост)
$a = (isset($_SESSION['a']))?$_SESSION['a'] :  rand(1, 100);

Замени на просто 
Код

rand(1, 100);
 smile
Или тебе не это надо?
 
--------------------
Закон отладки: Каждая последняя ошибка является предпоследней.
PM MAIL ICQ   Вверх
Gtaman
Дата 20.4.2006, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 10.4.2006

Репутация: нет
Всего: нет



Да нет, не то..... там $a имеет одно значение...... А надо...... Вобщем, вот как тут надо:

http://wmlotto.com/?game=guessnum&l=rus 
PM MAIL   Вверх
Gtaman
Дата 20.4.2006, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 10.4.2006

Репутация: нет
Всего: нет



Ну, что? Никто не может мне помочь? 
PM MAIL   Вверх
Darhazer
Дата 20.4.2006, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 28.9.2005
Где: HellCity (Sofia, Bulgaria)

Репутация: 7
Всего: 29



Ну, попробуй... а лучше прочитай по управление сесии и по работе с POST и GET
Код

<?php
session_start();
if($game == bolmen) {
echo "<div align=center>";
$a = (isset($_POST['bolmen']))?$_SESSION['a'] :  rand(1, 100);
$_SESSION['a'] = $a;
echo $a;
?>
<form method="post">
<?php echo $lang_casino["bol"]; ?> - <input type="radio" name="bolmen" value="bol"><br>
<?php echo $lang_casino["men"]; ?> - <input type="radio" name="bolmen" value="men"><br>
<?php echo $lang_casino["yourbet"]; ?> - <input type="text" name="bet" value="0"><br>
<input type="submit" value="<?php echo $lang_casino["gaming"]; ?>">
</form>
<?php
$b = rand(1, 100);
if($bolmen == bol) {
if($a <= $b) {
echo $lang_casino["bolmenwin"]; echo "&nbsp;$b";
}
else { echo $lang_casino["bolmenloos"]; echo "&nbsp;$b"; }
}
if($bolmen == men) {
if($a >= $b) {
echo $lang_casino["bolmenwin"]; echo "&nbsp;$b";
}
else { echo $lang_casino["bolmenloos"]; echo "&nbsp;$b"; }
}
echo "</div>";
}
?>
 


--------------------
I'm a wheel, I'm a wheel, I can roll, I can feel
But you can't stop me turning
'Cause I'm the sun, I'm the sun, I can move, I can run
But you'll never stom me burning
PM MAIL WWW ICQ YIM   Вверх
arial
Дата 21.4.2006, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 772
Регистрация: 11.3.2003
Где: Архангельская обл .

Репутация: 6
Всего: 7



Цитата(Darhazer)
Да и у тебя нету нигде srnad()
Добави перед rand()

Начиная с PHP 4.2.0, больше нет необходимости инициализировать генератор случайных чисел функциями srand() или mt_srand(), поскольку теперь это происходит автоматически. 


--------------------
Есть люди, в которых живет Бог. Есть люди, в которых живет дьявол. А есть люди, в которых живут только глисты. (Ф. Раневская)
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0536 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.