Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Создание игры "Угадай число"

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 » 

> Описание: Это мой первыйй урок,он посвящён созданию примитивной игры.
3d quattro
Отправлено: 05 Июня, 2010 - 14:51:26
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Март 2010  


Помог: 0 раз(а)




http://3dqscripts[dot]22web[dot]net/game1/ - Результат урока
Для выполнения урока нам понадобится установленный Денвер или просто бесплатный хостинг,текстовый редактор с подсветкой кода PHP,у меня это - NuSphere PhpED,можно notepad++,для html интерфейса я использовал Adobe Dreamweaver CS3.Выполнение урока занимает не больше 5 минут.Игра состоит из 2 файлов!index.html (Визуал) и game.php (Обработчик)
Приступим!
Визуал игры - Html делается по вашему вкусу и соображениям,единственное что нам понадобится,чтобы игра работала,это вот этот код
CODE (html):
скопировать код в буфер обмена
  1. <form id="form1" name="form1" method="post" action="game.php">
  2.       <label>Число
  3.       <select name="choose" id="choose">
  4.         <option value="0">0</option>
  5.         <option value="1">1</option>
  6.         <option value="2">2</option>
  7.         <option value="3">3</option>
  8.         <option value="4">4</option>
  9.         <option value="5">5</option>
  10.         <option value="6">6</option>
  11.         <option value="7">7</option>
  12.         <option value="8">8</option>
  13.         <option value="9">9</option>
  14.         <option value="10">10</option>
  15.             </select>
  16.       </label>
  17.             <label>
  18.             <input type="submit" name="submit" id="submit" value="Играть!" />
  19.             </label>
  20.  

Можно сделать выбор числа полем,но мне по душе select Улыбка
Обработчик
С обработчиком тоже не так трудно.Алгоритм игры у нас такой:Пользователь выбирает число,нажимает кнопку Играть!,скрипт-обработчик генерирует число функцией rand (*,#),где "*" -нижний барьер генерации числа,а "#" - верхний,я знаю что есть функция seed,но я использую rand(Подробнее о функции rand можете почитать здесь http://www.php.su/functions/?rand ),берёт число,выбраное пользователем,затем скрипт сравнивает случайное и выбранное пользователем число и в зависимости от того,угадал человек или нет выводит результат.
Вот код обработчика
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $comp = rand(0, 10);  // Генерируем случайное число от 0 до 10
  3. if ($comp == $_POST['choose'])   //Инициализируем число которое выбрал человек в переменную и сравниваем числа
  4. {
  5.     echo 'Поздравляю,вы угадали!';
  6. }
  7. else
  8. {
  9.     echo 'Извините,вы проиграли,число которое загадал компьютер это - '.$comp ;
  10. }
  11. ?>
  12.  

Спасибо за то,что прочитали,мне очень приятно.
(Добавление)
Я понимаю,что статьи писать мне рано,но раз уж сделал,так почему же не поделится?
Большая просьба выполнившим урок отписаться здесь,если делали на хостинге,то киньте ссылку на игру,вам нетрудно,а мне приятно Закатив глазки .

(Отредактировано автором: 08 Июня, 2010 - 14:44:47)



-----
Is there saberfighters?
 
 Top
Cube
Отправлено: 28 Июня, 2010 - 09:14:57
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Июнь 2010  


Помог: 0 раз(а)




При нажатии на кнопку "Играть", у меня в поле браузера отображается код из файла game.php... Хм


-----
Что бы не случилось - всё к лучшему!
 
 Top
AdMeen
Отправлено: 28 Июня, 2010 - 11:55:28
Post Id



Посетитель


Покинул форум
Сообщений всего: 370
Дата рег-ции: Сент. 2009  
Откуда: Воронеж


Помог: 1 раз(а)




Cube пишет:
При нажатии на кнопку "Играть", у меня в поле браузера отображается код из файла game.php... Хм


apache+php не настроен
 
 Top
Cube
Отправлено: 28 Июня, 2010 - 11:55:40
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Июнь 2010  


Помог: 0 раз(а)




Разобрался. Если запускать игру путем двойного клика по файлу Index.html, то будет ситуация, как я описал выше, т.к. в строке адреса в таком случае будет что-то вроде: file://localhost/C:/www/Index.html
Но если запустить игру, набрав в адресной строке http://localhost/Index[dot]html , то всё работает Ниндзя


-----
Что бы не случилось - всё к лучшему!
 
 Top
Максим21
Отправлено: 16 Июля, 2010 - 11:38:59
Post Id



Новичок


Покинул форум
Сообщений всего: 46
Дата рег-ции: Июнь 2010  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1.       <select name="choose" id="choose">
  2.  
  3.             <input type="submit" name="submit" id="submit" value="Играть!" />



Добрый день!

А зачем нужен id="submit" и id="choose"? Для идентификации если кнопок несколько?

Заранее спасибо!
 
 Top
ZeiZ
Отправлено: 16 Июля, 2010 - 13:20:21
Post Id



Частый гость


Покинул форум
Сообщений всего: 231
Дата рег-ции: Нояб. 2009  
Откуда: Москва


Помог: 0 раз(а)




Максим21 пишет:
PHP:
скопировать код в буфер обмена
  1.       <select name="choose" id="choose">
  2.  
  3.             <input type="submit" name="submit" id="submit" value="Играть!" />



Добрый день!

А зачем нужен id="submit" и id="choose"? Для идентификации если кнопок несколько?

Заранее спасибо!


можно убрать =) для CSS и для JS это.

используйте лучше
mt_rand() -- Generate a better random value
вместо rand()

а так супер урок для новичков.
 
 Top
3d quattro
Отправлено: 22 Июля, 2010 - 15:59:09
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Март 2010  


Помог: 0 раз(а)




Спасибо,очень рад хоть что-то полезное сделать!Ну визуал делался в дримвивере,там код вышел вот такой,я не стал с html заморачиваться))))
P.s:Извините что долго не было меня Закатив глазки

(Отредактировано автором: 22 Июля, 2010 - 16:06:45)



-----
Is there saberfighters?
 
 Top
Yashko
Отправлено: 16 Августа, 2010 - 17:24:00
Post Id


Гость


Покинул форум
Сообщений всего: 95
Дата рег-ции: Авг. 2010  


Помог: 0 раз(а)

[+][+]


Мне понравился урок, простой и понятный Улыбка Хочу еще, желательно в таком же стиле, и в этом же направлении.
 
 Top
Delf
Отправлено: 17 Августа, 2010 - 14:45:22
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Авг. 2010  


Помог: 0 раз(а)




Спасибо. Это помогло начатьУлыбка
 
 Top
DeathStalker
Отправлено: 19 Августа, 2010 - 01:36:45
Post Id



Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Авг. 2010  
Откуда: Ростов на Дону


Помог: 0 раз(а)




помогите устранить ошибку, уже пол третьего ночи, и возможно я уже просто устал и не вижу очевидное.
Вот фрагмент кода
PHP:
скопировать код в буфер обмена
  1.  
  2. function calc(){
  3. global $rand, $i, $I, $j, $J;
  4.         do {
  5.                 if (empty($rand)) {
  6.                         echo "Вам понадобилось $i попыток";
  7.                         $j == 1;
  8.                         $j = $J;
  9.                 } elseif {
  10.                         $I++;
  11.                         $i = $I;
  12.                 }
  13.  
  14.         }while ($j == 2);
  15. }
  16.  


вот выдает такую ошибку:Parse error: syntax error, unexpected '{', expecting '(' in C:\xampplite\htdocs\hwRandChar.php on line 45

линия 45 здесь это 9 линия.

(Отредактировано автором: 19 Августа, 2010 - 01:45:33)

 
 Top
SAD
Отправлено: 19 Августа, 2010 - 01:44:03
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




$j == 1; а надо $j = 1; и псоле while ($j == 2); точки с запятой не должно быть
 
 Top
DeathStalker
Отправлено: 19 Августа, 2010 - 01:49:17
Post Id



Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Авг. 2010  
Откуда: Ростов на Дону


Помог: 0 раз(а)




SAD пишет:
$j == 1; а надо $j = 1; и псоле while ($j == 2); точки с запятой не должно быть

в книжке и спровочнике стоит точка с запятой. и $j=1 не помогло. Там ведь пунктационная ошибка стоит.
 
 Top
SAD
Отправлено: 19 Августа, 2010 - 01:51:14
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




надо не elseif , а else

(Отредактировано автором: 19 Августа, 2010 - 01:52:56)

 
 Top
DeathStalker
Отправлено: 19 Августа, 2010 - 01:53:53
Post Id



Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Авг. 2010  
Откуда: Ростов на Дону


Помог: 0 раз(а)




до точки с запятой не доходит дело, указывает на строку elseif. В ней все норм и выше по строкам тоже вроде.
Да пробывал убирать. не помогло.
(Добавление)
SAD пишет:
надо не elseif , а else


точно!!! Радость то просто в функции ранее был у мну многоусловный оператор, вот я и гасанул))) спасибо!

з.ы ; все таки нужно)
 
 Top
SAD
Отправлено: 19 Августа, 2010 - 01:56:43
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




ложись спать )
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Уроки php »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB