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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Ваще слоожнякк((
Xakerok
Отправлено: 24 Августа, 2012 - 10:43:17
Post Id


Новичок


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


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




Я создаю онлайн игру на php. Вот форма:
CODE (html):
скопировать код в буфер обмена
  1. <form action="/obrabotka.php" method="post">
  2. <select onchange="submit()" name="sel">
  3. <option value="Обычная атака" class="atack1" name="Обычная атака">Обычная атака</option>
  4. <option value="Спец-атака чакрой" class="atack2" name="Спец-атака чакрой">Спец-атака чакрой</option>
  5. <option value="Мантра" class="atack3" name="Мантра">Мантра</option>
  6. <option value="Спец-заклинание" class="atack4" name="Спец-заклинание">Спец-заклинание</option>
  7. </form>

А вот и код обработчика:
PHP:
скопировать код в буфер обмена
  1. <html>
  2. <a href="/index.php">Возобновить атаку</a>
  3.  
  4. <?PHP
  5. if(isset($_POST['sel'])) {
  6. $sel = $_POST['sel'];
  7. }
  8. if(isset($_POST['file'])) {
  9. $file = $_POST['file'];
  10. }
  11. $fp = fopen("counter.txt", "r"); // Открываем файл в режиме чтения
  12. if ($fp)
  13. {
  14. while (!feof($fp))
  15. {
  16. $wars = fgets($fp, 999);
  17.  
  18. }
  19. }
  20. else echo "Ошибка при открытии файла";
  21. fclose($fp);
  22.  
  23.  
  24. $fp = fopen("counter.txt", "r"); // Открываем файл в режиме чтения
  25. if ($fp)
  26. {
  27. while (!feof($fp))
  28. {
  29. $wars = fgets($fp, 999);
  30.  
  31. }
  32. }
  33. else echo "Ошибка при открытии файла";
  34. fclose($fp);
  35.  
  36.  
  37.  
  38. echo "<font color=green>Вы использовали способность -</font> <font color=gold>$sel</font> <br>";
  39.  
  40. $life=100;
  41. mt_srand(time()+(double)microtime()*1000000);
  42. $tack = mt_rand(1,20);
  43. mt_srand(time()+(double)microtime()*1000000);
  44. $golding2== mt_rand(1,20);
  45. $golding=0;
  46. $gold_v1=1000;
  47. if($sel=="Обычная атака")
  48. {
  49.       $life1=$wars -$tack;
  50.       $fp = fopen("counter.txt", "r+");
  51.          
  52.          
  53.       fwrite($fp,$life1);
  54.          
  55.       $life_fiels1 = fgets($fp, 999);
  56.          
  57.           fclose($fp);
  58.          
  59. }
  60. if($sel=="Спец-атака чакрой")
  61. {
  62.       $life1=$wars-$tack;
  63.       $fp = fopen("counter.txt", "r+");
  64.          
  65.       fwrite($fp,$life1);
  66.          
  67.          
  68.       $life_fiels2 = fgets($fp, 999);
  69.          
  70.           fclose($fp);
  71.          
  72. }
  73. if($sel=="Мантра")
  74. {
  75.       $life1=$wars-$uron3;
  76.       $fp = fopen("counter.txt", "r+");
  77.          
  78.       fwrite($fp,$life1);
  79.          
  80.       $life_fiels3 = fgets($fp, 999);
  81.           fclose($fp);
  82. }
  83. if($sel=="Спец-заклинание")
  84. {
  85.       $life1=$wars-$uron4;
  86.       $fp = fopen("counter.txt", "r+");
  87.          
  88.       fwrite($fp,$life1);
  89.          
  90.           fclose($fp);
  91.       $life_fiels4 = fgets($fp, 999);
  92. }
  93.  
  94. if($wars==00)
  95. {
  96. echo "<h1> Вы нашли- $golding2</h1>";
  97. $fp=fopen('gold.txt','w+');
  98. $golding_zapis= $golding+$gold_v1;
  99. fwrite($golding_zapis);
  100. }
  101. if($sel)
  102. {
  103. echo "<font color=gren> Атака прошла успешно!<br></font><font color=blue>Жизни противника-$wars % <br> Ваша атака - $tack</font>";
  104.  
  105. }
  106. else
  107. {
  108. echo "<font color=red>Атака прошла не удачно :( <br> ";
  109. }
  110.  
  111.  
  112. ?>



А проблема вся в том, что после атаки из переменной $war (жизни противника) отнимается огромная атака, что даже число становится отрицательным..В чем дело? Такая штука происходит когда переменная=100, а если переменная равна 90 или меньше, все как надо происходит. Если это важно - то я пользуюсь денвером
 
 Top
Zuldek
Отправлено: 24 Августа, 2012 - 11:46:50
Post Id


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


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


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




CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. ...
  3. $life=100;
  4. $tack = mt_rand(1,20);
  5. $golding2== mt_rand(1,20);
  6. $golding=0;
  7. $gold_v1=1000;
  8. if($sel=="Обычная атака")
  9. {
  10.       $life1=$wars -$tack;
  11. echo "wars=".$wars."<br/>tack=".$tack."<br/>Значение которое меня не устраивает! :(  life1=".$life1;
  12.       $fp = fopen("counter.txt", "r+");
  13.          
  14.          
  15.       fwrite($fp,$life1);
  16.          
  17.       $life_fiels1 = fgets($fp, 999);
  18. echo "извлекаю life_fiels1 из файла, а там ... ! ".$life_fiels1;    
  19.           fclose($fp);
  20.          
  21. }
  22. ...
  23.  

(Отредактировано автором: 24 Августа, 2012 - 11:48:46)

 
 Top
Xakerok
Отправлено: 24 Августа, 2012 - 16:23:10
Post Id


Новичок


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


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




[quote=Zuldek][/quote]
Сейчас попробую отпишусь
(Добавление)
Проблема осталась, при первой атаке вместо 90 жизней становится 900
(Добавление)
В смысле допустим у противника 100 жизней, при первой атаке отнимается 10 жизней, и вместо 90, в файл записывается 900 с лишним!!!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с файловой системой и файлами »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB