Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jak napisać skrypty walki?
Forum PHP.pl > Forum > Przedszkole
kongi90
Witam.

Mam takie pytanie:

Jak napisać skrypt walki??

Chodzi mi o coś takiego jak jest na www.bloodwars.pl
Jak to działa i jak to napisaćquestionmark.gif
Prosze wytłumaczcie mi to na jakiej zasadzie to działa i jak napisać dobrą walke.


Proszę pomóżcie.
atyll
To tak jakbyś spytał "Ej, pomóżcie mi zbudować Kraków".
Musiałbyś troche czasu pobawić się w PHP/HTML/Java, żeby napisać coś takiego.

Pozdrawiam
kongi90
a potrzeban jest java??
Nie da się tylko w PHP, HTML??

Umiem PHP ale nie mam pojęcia jak działa taka walka.

Czy są to pętle czy coś innego i na jakiej to zasadzia działa??

Jak się nie zapytam to nigdy nie będe wiedział jak takie coś napisać.

Jak ktoś wie jak to działa to niech napisze po kolei co robić nie musi być bardzo opisane tylko zebym wiedział jak to działa i jak to napisać.
artekp999
Możesz to w samym PHP napisać.

Ogólnie to musisz napisać silnik w pętli, z losowaniem sytuacji i uwzględnieniem parametrów postaci.
crocodillo
Nie wiem na czym polega bloodwars, ale z grami w samym php to nie zabardzo wyjdzie, jedynie jakieś proste logiczne (tekstowe np). Problem w tym, że php wykonuje się po stronie serwera i należało by co chwilę odświeżać stronę. Przy mniej skomplikowanych grach można wykorzystać HTML5 i JS
markonix
A jak ta walka wygląda?
Chodzi o jakieś animacje?
Może po prostu ajaxem wczytuje kolejne rundy walki zmieniając jakieś napisy (wynik rundy, obrażenia) i obrazki po prostu.
kongi90
Ta walka nie ma żadnych animacji.

Jest np ranking na którym wybiera sie 1 gracza i klika 'atakuj' potem przenosi na strone walka.php z pętlami czy czym tam która wyświetli zwycięzce i rundy

Jest to zwykła tekstówka. Nic tam się nie klika ani nic podczas walki tylko wyświetla zwycięzcę.

Max to np 10 rund i jeśli obaj gracze mają dużo zycia i nie uda się 1 rozwalić to będzie remis.

Jest to zwykła walka która pokazuje u góry statystyki graczy a potem wykonuje się pętla aż jedna z 2 zmiennych nie spadnie do zera lub nie wykona się 10 razy.
Ale nie wiem jak napisać petlę która będzie wykonywała się aż jedna z dwuch zmiennych spadnie do zera lub pętla nie wykona sie 10 razy.
Na takiej to zasadzie ma działać ale nie wiem jak to napisać.

Mam nadzieję ze teraz wiecie o co mi chodzi.

Proszę pomóżcie.
markonix
  1. if ($live1 >= 0 || $live2 >= 0)
  2. break;

Taka instrukcja w pętli jakiekolwiek przerwie jej działanie.
W tym przypadku jeżeli któryś z graczy straci na tyle życia że ginie to pętla się kończy.
kongi90
Dobra dzięki.

A mógłbyś napisać początek pętli jak najlepiej zacząćquestionmark.gif
Jakiej pętli użyćquestionmark.gif

Chodzi mi o sam początek 1 linijka.


Pozdrawiam.
markonix
  1. for($i = 0; $i <= 10; $i++)
kongi90

Dobra dzieki i w tej pętli normalnie mam pisać skrypty obrażeń itd i obojętnie gdzie wkleić ten twój wcześniejszy kod??

Czy on musi być w konkretnym miejscu??
Damonsson
Zobacz jak ładnie działa:

  1. $player1 = '100';
  2. $player2 = '100';
  3. echo "Gracz 1 zaczyna ze $player1 życia \n";
  4. echo "Gracz 2 zaczyna ze $player2 życia \n <br/>";
  5. for($i = 0; $i <= 10; $i++) {
  6. $player1 = $player1-rand(1, 20);
  7. $player2 = $player2-rand(1, 20);
  8. if ($player1 <= 0 || $player2 <= 0){
  9. if ($player1 < $player2){
  10. echo "wygrał gracz 2, gracz 1 padł";
  11. } else {
  12. echo "wygrał gracz 1, gracz 2 padł";
  13. }
  14. break;
  15. }
  16. echo "Runda $i :";
  17. echo "Graczowi 1 zostało $player1 życia \n";
  18. echo "Graczowi 2 zostało $player2 życia <br/>";
  19. }


Ja w przeciwieństwie do Ciebie nie znam PHP smile.gif
kongi90
Dobra.

Wielkie dzięki za pomoc.
markonix
Tak już koncepcyjnie to uważam, żeby pisanie jakiejś gry miało sens to ta walka powinna być oparta o jakieś współczynniki (atrybuty) danych postaci żeby to nie była taka typowa losówka wink.gif

@Damonsson HP początkowe życie to chyba raczej wartości liczbowe więc poprawniej było by:
  1. $player1 = $player2 = 100;


I chciałem spytać czy "\n <br/>" w linii 4 jest celowym zabiegiem?
seba123
Cytat
Umiem PHP ale nie mam pojęcia jak działa taka walka.
Obawiam się że nie wiesz co to znaczy "umieć" ;>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.