PHP.SU

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


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

> Описание: Это мой первыйй урок,он посвящён созданию примитивной игры.
DeathStalker
Отправлено: 19 Августа, 2010 - 12:59:53
Post Id



Новичок


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


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




Вот моя первая самостоятельная программа. Никуда не подглядывал. Закатив глазки Это было задание из одного самоучителя. Так уж вышло что это задание совпало с вашим. Выкладываю как альтернативное решение:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. $randF = $_POST['rand'];
  5. $dijit = $_POST['dijit'];
  6. $I = $_POST['i'];
  7.  
  8. logica();   //логические опирации программы
  9. inter();    //функция хранения данных, т. к мы не используем базы данных.
  10.              //в данном случае используются скрытые поля hidden.
  11.  
  12. function logica(){
  13. global $dijit, $rand, $randF, $i, $I;
  14. if (empty($dijit)) {
  15.         $i = 1;
  16.         $rand = rand(1, 100);
  17.         echo "<H1>Введите число от 1 до 100</H1>";
  18. } elseif ($dijit > 100 or $dijit < 1) {
  19.         echo "<H1>Введите пожалуйста корректные данные</H1>!";
  20. }elseif ($dijit > $randF) {
  21.         echo "<H2>Ваше число слишком велико, попробуйте еще</H2>";
  22.         $rand = $randF;
  23.         $I++;
  24.         $i = $I;
  25. } elseif ($dijit < $randF) {
  26.         echo "<H2>Ваше число слишком мало, попробуйте еще</H2>";
  27.         $rand = $randF;
  28.         $I++;
  29.         $i = $I;
  30.  
  31. } else {
  32.         echo "<H1>Подравляю вы угадали! Вам понадобилось $I попыток.</H1>";
  33. } //закрываем цикл if
  34. }//закрываем функцию logica()
  35.  
  36. function inter(){
  37. global $digit, $rand, $i, $I;
  38. echo <<<here
  39.         <form method="post">
  40.         <input name="dijit" type="text" value="">
  41.         <input type="hidden" name="rand" value = $rand>
  42.         <input type="hidden" name="i" value = $i>
  43.         <input type="submit" value="Send">
  44.         </form>
  45. here;
  46. }
  47. ?>
  48.  


Данная программа позволяет пользователю угадывать одно и тоже число мого раз и считает сколько на это ушло попыток. Если кому нибудь нужно будет подробнее объясню Улыбка
 
 Top
Libiros
Отправлено: 26 Августа, 2010 - 17:06:55
Post Id


Новичок


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


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




Мне тоже пришла в голову мысль сделать такую игру.
Но у меня она немного отличается:
PHP:
скопировать код в буфер обмена
  1. <?
  2. $a = mt_rand(10, 100);
  3. echo "Я загадал число от <b>10</b> до <b>100</b>. Попробуй его угадать.<br><br>";
  4. echo "<form action=3.php method=post>";
  5. echo "Ввод: <input type=text name=number maxlen=2><input type=hidden name=a value=$a><br>";
  6. echo "<br><input type=submit value=send></form>";
  7. ?>

И следующий файл:
PHP:
скопировать код в буфер обмена
  1. define("a",$a);
  2. if ($number==$a) {echo "<div align='center'><font color='green' size='4'><b>Правильно! :)</font></b> <br><br>"; echo "<a href='2.php'>Сыграть ещё раз</a>";}
  3. elseif (($number>($a-10))&&($number<($a+10))) {echo "<div align='center'><font color='orange' size='4'><b>Неправильно, но ты уже рядом :)<br><br>";
  4. echo "<form action=3.php method=post>";
  5. echo "Ввод: <input type=text name=number><input type=hidden name=a value=$a><br>";
  6. echo "<br><input type=submit value=send></form>";}
  7. else {echo "<div align='center'><font color='red' size='4'><b>Неправильно. Попробуй ещё раз<br><br></font>";
  8. echo "<form action=3.php method=post>";
  9. echo "Ввод: <input type=text name=number><input type=hidden name=a value=$a><br>";
  10. echo "<br><input type=submit value=send></form>";}
  11. ?>


Строго не судите. Писал её ещё тогда, когда дошёл до главы if Улыбка
 
 Top
Yashko
Отправлено: 01 Сентября, 2010 - 16:29:41
Post Id


Гость


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


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

[+][+]


Libiros А вы как учитесь? Через самоучитель? Можно ссылку, или чтонебудь)
 
 Top
But
Отправлено: 24 Января, 2011 - 19:44:12
Post Id


Новичок


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


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




У меня не запускается игра. Игра на беспл. Хостинге . Там все как надо есть надпись выбири число , патом там есть калонка с числами но она не открывается. И нет кнопки Играть! . Не подскажите из за чего ? Код как у афтора темы.
 
 Top
3d quattro
Отправлено: 01 Февраля, 2011 - 17:43:01
Post Id



Новичок


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


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




But,код кнопки есть.<input ..../> - разве не кнопка?Попробуйте не тупо копировать ХТМЛ,а написать свой,на основе этого.Если что-то не работает,то не надо обвинять ни в чём автора(это уже не к вам,а так,в общем),а просто перепроверить код.И,кстати,если не секрет,скажите что за хостинг.

(Отредактировано автором: 01 Февраля, 2011 - 17:44:18)



-----
Is there saberfighters?
 
 Top
ValentO
Отправлено: 02 Февраля, 2011 - 17:30:15
Post Id


Новичок


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


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




Простите пожалуйста я новичек в этом,но у меня желание это все выучить и понять.
А почему после финального результата,когда обновляеш страницу он выбивает разные результаты? Улыбка
 
 Top
3d quattro
Отправлено: 07 Февраля, 2011 - 16:58:17
Post Id



Новичок


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


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




Насколько хватает моего небольшого понимания великого PHP,то мне кажется что при обновлении обновляется скрипт,а переменная в массиве ПОСТ остаётся,вот поэтому и разные рез-таты.


-----
Is there saberfighters?
 
 Top
t0h0
Отправлено: 15 Марта, 2011 - 23:17:41
Post Id



Новичок


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


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




А вот мой php код игры угадай число от 1 до 5 (значение можно менять от 1 до 100 наример), тока и условия там некоторые надо будет изменить. Код длинный но за то очень простой начинающему легко его понять.
PHP:
скопировать код в буфер обмена
  1. <html>
  2. <head>
  3. <title>Угадай число</title>
  4. </head>
  5. <body>
  6. <form>
  7. <?PHP
  8. if (empty($r))
  9. {
  10. $r=rand(1,5);
  11. echo <<<here
  12. Компьютер загадал число от 1 до 5,
  13.        <input type = "hidden"
  14.               name = "r"
  15.               value = "$r"
  16.               size = "3"><br>
  17. Отгадайте число число:
  18. <input type = "text"
  19.        MAXLENGTH = "3"
  20.        size = "3"
  21.        name = "d"
  22.        value = "">
  23. <input type = "submit"
  24.        value = "Отгадать">
  25. here;
  26. }
  27. else
  28. {
  29. if ($d >5 or $d <1)
  30. {
  31. echo <<<here
  32. Введите числа в диапозоне от 1 до 5<br>
  33.         <input type = "submit"
  34.         value = "Еще раз"><br>
  35. here;
  36. }
  37. else
  38. {
  39. if ($r==$d)
  40. {
  41. echo <<<here
  42.        Числа равны,Вы угадали<br><br>
  43. <input type = "submit"
  44.        value = "Играть снова">
  45. here;
  46. }
  47. else
  48. {
  49. if ($d > $r)
  50. {
  51. echo <<<here
  52. Ваше число больше загаданного, введите другое число:<br><br>
  53. <input type = "text"
  54.        size = "3"
  55.         MAXLENGTH = "3"
  56.        name = "d"
  57.        value = "">
  58. <input type = "submit"
  59.         value = "Еще раз"><br>
  60.        <input type = "hidden"
  61.        name = "r"
  62.        value = "$r"><br>
  63. here;
  64. }
  65. else
  66. {
  67. echo <<<here
  68. Ваше число меньше загаданного, введите другое число:<br><br>
  69. <input type = "text"
  70.        size = "3"
  71.         MAXLENGTH = "3"
  72.        name = "d"
  73.        value = "">
  74. <input type = "submit"
  75.         value = "Еще раз"><br>
  76.        <input type = "hidden"
  77.        name = "r"
  78.        value = "$r"><br>
  79. here;
  80. }
  81. }
  82. }
  83. }
  84. ?>
  85. </form>
  86. </body>
  87. </html>

(Отредактировано автором: 15 Марта, 2011 - 23:23:25)

 
 Top
OrmaJever
Отправлено: 16 Марта, 2011 - 00:12:21
Post Id



Активный участник


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


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




PHP:
скопировать код в буфер обмена
  1. <?PHP session_start();?>
  2. <html>
  3. <head>
  4. <title>Угадай число</title>
  5. </head>
  6. <body>
  7. <?PHP
  8. $max = 2;
  9. $_POST['d'] = isset($_POST['d']) ? (int)$_POST['d'] : 0;
  10. if (!isset($_SESSION['num'])) :
  11. $_SESSION['num'] = rand(1, $max);
  12. ?>
  13. <form method="post">
  14. Компьютер загадал число от 1 до <?=$max?>,<br>
  15. Отгадайте число число:
  16. <input type="text" MAXLENGTH="3" size="5" name="d">
  17. <input type="submit" value="Отгадать">
  18. </form>
  19. <?PHP
  20. elseif($_SESSION['num'] == $_POST['d']) :
  21. unset($_SESSION['num']);
  22. ?>
  23. Числа равны,Вы угадали<br><br>
  24. <input type="submit" onclick="location.reload();" value="Играть снова">
  25. <?PHP
  26. else :
  27. unset($_SESSION['num']);
  28. ?>
  29. числа не угаданы!<br><br>
  30. <input type="submit" onclick="location.reload();" value="Играть снова">
  31. <?PHP
  32. endif;
  33. ?>
  34. </form>
  35. </body>
  36. </html>

(Отредактировано автором: 16 Марта, 2011 - 00:12:53)



-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
valdislav
Отправлено: 05 Октября, 2012 - 21:57:37
Post Id


Новичок


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


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




PHP:
скопировать код в буфер обмена
  1. <html>
  2. <head>
  3. <title>Покер дайс</title>
  4. <style type="text/css">
  5. body {
  6.         background: gray;
  7.         color: tan;
  8.         }
  9. </style>
  10. </head>
  11. <body>
  12. <center>
  13. <h1>Угадайка</h1>
  14. <form>
  15. <?
  16. $number = $_GET[number];
  17. $userChoise = $_GET[userChoise];
  18. $roll = $_GET[roll];   
  19. function printNumber() {
  20.                 global $number, $roll;
  21.                 $roll++;
  22.                 print "УгадайКа<br>";
  23.                 //Save hidden
  24.                 print <<<HERE
  25.                 <input type = "hidden" name = "roll" value = "$roll">
  26.                 <input type = "hidden" name = "number" value = "$number">
  27.                 <input type = "text" name = "userChoise" maxlength = "3" size = "3" value = ""><br>
  28.                 <input type = submit value = "KnOPKA">
  29. HERE;
  30. }
  31. if (empty($number)) {
  32.         $number = rand(1,100);
  33. }
  34. else {
  35.         if ($userChoise < $number) {
  36.         print "Ваша цифра меньше загаданной<br>";
  37.         }
  38.         elseif ($userChoise > $number) {
  39.         print "Ваша цифра больше загаданной<br>";
  40.         }
  41.         elseif ($userChoise == $number) {
  42.         print "<h1>ВЫ УГАДАЛИ за $roll попыток</h1><br>";
  43.         }
  44.         else {
  45.         print "Чтото не так<br>";
  46.         }
  47. }
  48. printNumber();
  49. ?>
  50. </form>
  51. </body>
  52. </html>

(Добавление)
Вот еще вариант где пользователь задает число, а компьютер должен угадать меньше чем за 7 шагов:

PHP:
скопировать код в буфер обмена
  1. <html>
  2. <head>
  3. <title>Угадайка</title>
  4. <style type="text/css">
  5. body {
  6.         background: gray;
  7.         color: tan;
  8.         }
  9. </style>
  10. </head>
  11. <body>
  12. <center>
  13. <h1>Угадайка</h1>
  14. <form>
  15. <?
  16. function compMind() {
  17.         $userChoise = $_GET[userchoise];//27
  18.         $pcEnd = 100;
  19.         $shag = 50;
  20.         $pcStart = 0;
  21.         for ($i=1;$i<=8;$i++){
  22.                 if ($pcEnd == $userChoise) {
  23.                         print "<h1>Bingo</h1><br>";
  24.                         break; //Досрочный выход
  25.                 }
  26.                 elseif ($i >= 8) {
  27.                         print "<h1>У компьютера только 7 попыток</h1><br>";
  28.                         break; //Досрочный выход
  29.                 }
  30.                 elseif ($pcEnd > $userChoise) {
  31.                         $pcEnd = $pcEnd-$shag; //100-50=50 //50-25=25 //37-6=31 //31-3=28 //28-1
  32.                         $pcEnd = round($pcEnd);
  33.                         $shag = $shag/2; //25 //12 //3 //1 //1
  34.                         $shag = round($shag);
  35.                         print "Шаг $i , ПК выбрал = $pcEnd<br>";
  36.                                                
  37.                 }//end elseif 27
  38.                 elseif ($pcEnd < $userChoise) {
  39.                         $pcEnd += $shag; //25+12=37
  40.                         $pcEnd = round($pcEnd);
  41.                         $shag = $shag/2; //12/2=6
  42.                         $shag = round($shag);
  43.                         print "Шаг $i , ПК выбрал = $pcEnd<br>";                       
  44.                 }//end elseif
  45.                
  46.         }//end for
  47. }//End compMind
  48. function showForm() {
  49.         print <<<HERE
  50.         <table borber=1>
  51.         <tr>
  52.         <td colspan = "5">
  53.         <h3>Загадайте компьютеру число</h3>
  54.         </td></tr><br>
  55.         <tr>
  56.         <td colspan = "5">
  57.         <center><input type = "text" name = "userchoise"
  58.         value = ""></center>
  59.         </td></tr><br>
  60. <tr>
  61.         <td colspan = "5">
  62.         <center>
  63.         <input type = submit value = "Угадай">
  64.         </center>
  65.         </td>
  66.         </tr>
  67. HERE;
  68. }
  69. compMind();
  70. showForm();
  71. ?>
  72. </form>
  73. </body>
  74. </html>
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Уроки php »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB