Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] problem z funkcjami
Lethys
post
Post #1





Grupa: Zarejestrowani
Postów: 642
Pomógł: 2
Dołączył: 9.03.2006

Ostrzeżenie: (30%)
XX---


Pisze gre php ( wiem ze jestem noobem w php ) ale krok po kroku jakos idzie i teraz mam problem zwiazany z walka w grze , mam kod :

battle.php

  1. <?php $title = "Walka"; include("config.php"); ?>
  2.  
  3. <?
  4. global $stat;
  5. global $enemy;
  6.  
  7. ?>
  8.  
  9. <?php
  10. function attack() {
  11. global $stat;
  12. global $enemy;
  13.  
  14.  
  15. if ($stat[costam] >= $enemy[costam]) {
  16.  
  17. print "Twoj chowaniec wygral";
  18.  
  19.  
  20. mysql_query("update players set walka=walka-1 where id=$stat[id]");
  21. mysql_query("update players set wins=wins+1 where id=$stat[id]");
  22. mysql_query("update players set losses=losses+1 where id=$enemy[id]");
  23.  
  24. } else {
  25.  
  26. print "Twoj chowaniec przegral";
  27.  
  28.  
  29. mysql_query("update players set walka=walka-1 where id=$stat[id]");
  30. mysql_query("update players set wins=wins+1 where id=$enemy[id]");
  31. mysql_query("update players set losses=losses+1 where id=$stat[id]");
  32. }
  33. }
  34.  
  35.  
  36.  
  37. ?>
  38.  
  39. <?php
  40.  
  41.  
  42. if ($battle) {
  43. global $stat;
  44. global $enemy;
  45.  
  46.  
  47. $enemy = mysql_fetch_array(mysql_query("select * from players where id=$battle"));
  48. $stat = mysql_fetch_array(mysql_query("select * from players where email='$email' and pass='$pass'"));
  49.  
  50.  
  51. if (!$enemy[id]) {
  52. print "Nie ma takiego gracza !";
  53. }
  54. if ($enemy[id] == $stat[id]) {
  55. print "Nie mozesz atakowac siebie";
  56. include("footer.php");
  57. }
  58. if ($enemy[page] <= !Chat) {
  59. print "$enemy[user] nie jest w karczmie.";
  60. }
  61. if ($stat[walka] < 1) {
  62. print "Walczyles juz w czasie tej godziny !";
  63. }
  64. $span = ($stat[wiek] - $enemy[wiek]);
  65. if ($span > 5) {
  66. print "Nie mozesz atakowac chowancow o 5 dni starszych/mlodszych !";
  67. }
  68. if ($stat[wiek] < 3) {
  69. print "Nie mozesz atakowac poniewaz twoj chowaniec jeszcze sie nie urodzil !";
  70. }
  71. if ($enemy[wiek] < 3) {
  72. print "Nie mozesz atakowac poniewaz chowaniec wroga jeszcze sie nie urodzil !";
  73. }
  74.  
  75.  
  76. }
  77.  
  78.  
  79. ?>


i kiedy w przegladarce wpisuje .............../battle.php?battle=1
to wyswietla sie biala strona i nic wiecej (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) co jest zle ?
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




  1. <?php
  2. if ($_GET['battle']==1) {
  3. ?>


Manual
Go to the top of the page
+Quote Post
Lethys
post
Post #3





Grupa: Zarejestrowani
Postów: 642
Pomógł: 2
Dołączył: 9.03.2006

Ostrzeżenie: (30%)
XX---


Cos nie dziala ten twoj sposob ...
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




wlacz se obsluge bledow, bo Twoj kod generuje full NOTICOW, o ERRORACH nie wspomne.
Ustaw se w php.ini error_reporting na E_ALL oraz display_errors na ON.

wszelkie odwolywania sie do indexow tablic nie powinno byc tak:
$tab[costam]
a tak:
$tab['costam']

odwolywanie sie do zmiennych z url to $_GET['zmienna'] a nie $zmienna.

No i to co powoduje biala strone:
  1. <?php
  2. if ($enemy[page] <= !Chat) {
  3. ?>

a niby te Chat to co to jest? zmienna? to chyba powiino byc: $Chat. No i co tam ten ! robi?

ps: przenosze
Go to the top of the page
+Quote Post
Lethys
post
Post #5





Grupa: Zarejestrowani
Postów: 642
Pomógł: 2
Dołączył: 9.03.2006

Ostrzeżenie: (30%)
XX---


Chodzi o te ze jak wchodzisz do karczmy to zmienia ci w bazie page na chat a chce zeobic ze jak ktos nie jest na czacie to wyswiwetla ....
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




no i dobrze, skoro chat to tekst, to ma to byc tekst a nie jakis wykrzyknik.
i jesli to ma byc rozne od czat, to ma byc rozne a nie mniejsze rowne.

  1. <?php
  2. if ($enemy['page'] != 'Chat') {
  3. ?>
Go to the top of the page
+Quote Post
Lethys
post
Post #7





Grupa: Zarejestrowani
Postów: 642
Pomógł: 2
Dołączył: 9.03.2006

Ostrzeżenie: (30%)
XX---


Teraz moj kod wyglada :


  1. <?php $title = "Battle Arena"; include("config.php"); ?>
  2.  
  3. <?
  4. global $stat;
  5. global $enemy;
  6.  
  7. ?>
  8.  
  9. <?php
  10. function attack() {
  11. global $stat;
  12. global $enemy;
  13.  
  14.  
  15. if ($stat[wiek] >= $enemy[wiek]) {
  16.  
  17. print "Twoj chowaniec wygral";
  18.  
  19.  
  20. mysql_query("update players set walka=walka-1 where id=$stat[id]");
  21. mysql_query("update players set wins=wins+1 where id=$stat[id]");
  22. mysql_query("update players set losses=losses+1 where id=$enemy[id]");
  23.  
  24. } else {
  25.  
  26. print "Twoj chowaniec przegral";
  27.  
  28.  
  29. mysql_query("update players set walka=walka-1 where id=$stat[id]");
  30. mysql_query("update players set wins=wins+1 where id=$enemy[id]");
  31. mysql_query("update players set losses=losses+1 where id=$stat[id]");
  32. }
  33. }
  34.  
  35.  
  36.  
  37. ?>
  38.  
  39. <?php
  40.  
  41.  
  42. if ($_GET['battle']==1) {
  43. global $stat;
  44. global $enemy;
  45.  
  46.  
  47. $enemy = mysql_fetch_array(mysql_query("select * from players where id=$battle"));
  48. $stat = mysql_fetch_array(mysql_query("select * from players where email='$email' and pass='$pass'"));
  49.  
  50.  
  51. if (!$enemy[id]) {
  52. print "Nie ma takiego gracza !";
  53. }
  54. if ($enemy[id] == $stat[id]) {
  55. print "Nie mozesz atakowac siebie";
  56. include("footer.php");
  57. }
  58. if ($enemy[page] != 'Chat') {
  59. print "$enemy[user] nie jest w karczmie.";
  60. }
  61. if ($stat[walka] < 1) {
  62. print "Walczyles juz w czasie tej godziny !";
  63. }
  64. $span = ($stat[wiek] - $enemy[wiek]);
  65. if ($span > 5) {
  66. print "Nie mozesz atakowac chowancow o 5 dni starszych/mlodszych !";
  67. }
  68. if ($stat[wiek] < 3) {
  69. print "Nie mozesz atakowac poniewaz twoj chowaniec jeszcze sie nie urodzil !";
  70. }
  71. if ($enemy[wiek] < 3) {
  72. print "Nie mozesz atakowac poniewaz chowaniec wroga jeszcze sie nie urodzil !";
  73. }
  74.  
  75.  
  76. }
  77.  
  78.  
  79. ?>


A problem ten sam (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) nie pakozuje nic ...

Sry za posty pod soba ale niech ktos pomoze bo nie wiem co zle (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
UDAT
post
Post #8





Grupa: Zarejestrowani
Postów: 442
Pomógł: 0
Dołączył: 27.12.2005

Ostrzeżenie: (0%)
-----


Posłuchaj nospor'a

Cytat(nospor @ 4.11.2006, 11:28:41 ) *
wszelkie odwolywania sie do indexow tablic nie powinno byc tak:
$tab[costam]
a tak:
$tab['costam']


Tzn. $enemy i $stat też

Ten post edytował UDAT 4.11.2006, 18:33:48
Go to the top of the page
+Quote Post
Lethys
post
Post #9





Grupa: Zarejestrowani
Postów: 642
Pomógł: 2
Dołączył: 9.03.2006

Ostrzeżenie: (30%)
XX---


Przeciez bez tego tez powinno dzialac , poprawilem i nic ( tzn biala strona jak poprzednio ) (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
UDAT
post
Post #10





Grupa: Zarejestrowani
Postów: 442
Pomógł: 0
Dołączył: 27.12.2005

Ostrzeżenie: (0%)
-----


Cytat( @ 4.11.2006, 18:39:52 ) *
Przeciez bez tego tez powinno dzialac , poprawilem i nic ( tzn biala strona jak poprzednio ) (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)


Tak samo jak z superglobalami powinno działać.
Jedak w tym wypadku nie chodzi o to a raczej o to że zapomniałeś dać wywołania funkcji attack

Ten post edytował UDAT 4.11.2006, 18:44:18
Go to the top of the page
+Quote Post
Lethys
post
Post #11





Grupa: Zarejestrowani
Postów: 642
Pomógł: 2
Dołączył: 9.03.2006

Ostrzeżenie: (30%)
XX---


Czyli jak powinno byc ? prosze niech ktos napisze jak powinien wygladac kod ...
Go to the top of the page
+Quote Post
UDAT
post
Post #12





Grupa: Zarejestrowani
Postów: 442
Pomógł: 0
Dołączył: 27.12.2005

Ostrzeżenie: (0%)
-----


W linii 82 wpisz
  1. <?php
  2. attack();
  3. ?>
Go to the top of the page
+Quote Post
Lethys
post
Post #13





Grupa: Zarejestrowani
Postów: 642
Pomógł: 2
Dołączył: 9.03.2006

Ostrzeżenie: (30%)
XX---


I tak nic sie nie zmienilo (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
UDAT
post
Post #14





Grupa: Zarejestrowani
Postów: 442
Pomógł: 0
Dołączył: 27.12.2005

Ostrzeżenie: (0%)
-----


To znaczy że nie masz w adresie w $_GET pozycji battle czyli nie masz w adresie końcówki
Kod
?battle=1
Go to the top of the page
+Quote Post
Lethys
post
Post #15





Grupa: Zarejestrowani
Postów: 642
Pomógł: 2
Dołączył: 9.03.2006

Ostrzeżenie: (30%)
XX---


wpisuje ........../battle.php?battle=1
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 11:17