Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> (chyba) Bardzo ciężki skrypt, Niewiem jak to opisać ale jest to trudne
Ethel
post 14.01.2006, 11:58:44
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 23.07.2005

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


Witam, mam taki problem, otóż próbuje robić gre internetową, strategiczną i chce zrobić właśnie skrypt na toczenie się bitew. Np. jest taka sytuacja:
Mam 4 rodzaje jednostek, każda jednostka ma określony atak (A) i obronę (B ), np.
1 - 10A, 20B
2 - 20A, 35B
3 - 15A, 100B
4 - 75A, 30B

Następuje atak:
Gracz atakujący wysłał taką armie:
1 - 100 Jednostek
2 - 50 Jednostek
4 - 10 Jednostek
Gracz broniący posiada taką armie:
2 - 30 Jednostek
3 - 20 Jednostek

W sumie gracz Atakujący wysłał 160 Jednostek, Gracz broniący broni się 50 Jednostkami, więc w ciągu jednej tury (wymiany ciosów), gracz atakujący zadaje 160 ciosów, gracz broniący 50 ciosów. Gdybym miał tylko jeden typ armi nie byłoby problemu, ale mam kilka typów i chciałbym aby gracz atakujący w tych 160 ciosach miał 100 ciosów o sile 10A, 50 ciosów o sile 20A, 10 ciosów o sile 75A (i podobnie z graczem broniącym). Chciałbym aby jeden cios był wymierzony tylko w jedną jednostke (losowo), i jeśli jednostka ma więcej obrony niż wynosi atak, to nie ulega zniszczeniu. Oczywiście jeśli jedna strona ma więcej jednostek (czyli zadaje więcej ciosów) niż ma przeciwnik, to na jedną jednostke przeciwnika może spaść kilka ciosów w jednej rundzie. Bardzo zależy mi też na czymś takim, żeby stan zdrowia (ilość pozostałych punktów obrony) jednostek był zapisywany, niewiem czy tak sie da zrobić :/ Wyjaśnie jeśli ktos nie rozumie - jeśli spotkała sie jednostka 3 z jednostką 4, obie miały pełne zdrowie, wymieniły ciosy i po pierwszej rundzie jednostce 3 pozostało 25 obrony, a jednostce 4 15 obrony.


Jeśli jest to bardzo pogmaftane to napiszcie czego nie rozumiecie, wyjaśnie. Powiedzcie czy to wogóle jest możliwe biggrin.gif



P.S.
Może nie wysyłajcie odrazu gotowych skryptów, tylko poprostu powiedzcie w jaki sposób to napisać - jeśli będe wiedział z czym kombinować, to wole sam to napisać, bo nigdy mi dobrze nie szło rozszyfrowywanie obcych skryptów.

Ten post edytował Ethel 14.01.2006, 11:59:13
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
sztosz
post 14.01.2006, 12:19:48
Post #2





Grupa: Zarejestrowani
Postów: 866
Pomógł: 32
Dołączył: 2.06.2004
Skąd: Wrocław

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


Ja to widze jako tablice smile.gif Albo Obiekty, albo połączenie winksmiley.jpg

Każda jednostka to Obiekt który ma własne atrybuty (atak, obron, zycie, etc) i metody typu, GetAtakValue(), GetObronaValue() etc.

Do tego dwie tablice jedna $atakujacy i druga $obronca. Na poczatku bitwy tworzymy odpowiednie obiekty w tablicach (tyle ile trzeba) a potem wybieramy dowolny element z jednej tablicy z dowolnym z drugiej. Porównywujemy wartości ataku i obrony. W razie zadańia jakichś obrażeń obnizamy ilość HP, jak spada do zera, to wyrzucamy dany obiekt z tablicy i niszczymy go. I to w petli albo... sam nie wiem jak winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
ActivePlayer
post 14.01.2006, 13:27:05
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

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


proponuje, kartke, olowek, siądz i przemysl algorytm. bo problem masz z nim, jak on juz bedzie zaprojektowany to z implementacją sobie poradzisz.
Go to the top of the page
+Quote Post
bela
post 14.01.2006, 15:08:13
Post #4


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

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


Cytat(sztosz @ 2006-01-14 13:19:48)
i metody typu, GetAtakValue(), GetObronaValue() etc

Nie mogłem się powstrzymać.

O lol, zdecyduj się na jeden język i bądź konsekwentny, bo to po prostu brzmi śmiesznie winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
sztosz
post 15.01.2006, 13:35:56
Post #5





Grupa: Zarejestrowani
Postów: 866
Pomógł: 32
Dołączył: 2.06.2004
Skąd: Wrocław

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


@bela: Masz rację winksmiley.jpg Strasznie głupio to brzmi biggrin.gif


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 03:11