kongi90
12.02.2012, 18:53:54
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ć

Prosze wytłumaczcie mi to na jakiej zasadzie to działa i jak napisać dobrą walke.
Proszę pomóżcie.
atyll
12.02.2012, 18:57:24
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
12.02.2012, 20:35:21
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
12.02.2012, 21:32:23
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
13.02.2012, 00:00:35
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
13.02.2012, 13:11:00
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
13.02.2012, 18:27:30
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
13.02.2012, 19:28:54
if ($live1 >= 0 || $live2 >= 0)
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
13.02.2012, 19:33:19
Dobra dzięki.
A mógłbyś napisać początek pętli jak najlepiej zacząć

Jakiej pętli użyć

Chodzi mi o sam początek 1 linijka.
Pozdrawiam.
markonix
13.02.2012, 19:41:31
for($i = 0; $i <= 10; $i++)
kongi90
13.02.2012, 19:53:50
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
13.02.2012, 20:17:45
Zobacz jak ładnie działa:
$player1 = '100';
$player2 = '100';
echo "Gracz 1 zaczyna ze $player1 życia \n"; echo "Gracz 2 zaczyna ze $player2 życia \n <br/>"; for($i = 0; $i <= 10; $i++) {
$player1 = $player1-rand(1
, 20
); $player2 = $player2-rand(1
, 20
); if ($player1 <= 0 || $player2 <= 0){
if ($player1 < $player2){
echo "wygrał gracz 2, gracz 1 padł"; } else {
echo "wygrał gracz 1, gracz 2 padł"; }
break;
}
echo "Graczowi 1 zostało $player1 życia \n"; echo "Graczowi 2 zostało $player2 życia <br/>"; }
Ja w przeciwieństwie do Ciebie
nie znam PHP
kongi90
14.02.2012, 14:45:28
Dobra.
Wielkie dzięki za pomoc.
markonix
14.02.2012, 16:48:00
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

@Damonsson HP początkowe życie to chyba raczej wartości liczbowe więc poprawniej było by:
$player1 = $player2 = 100;
I chciałem spytać czy "\n <br/>" w linii 4 jest celowym zabiegiem?
seba123
14.02.2012, 17:31:06
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.