Feladatok‎ > ‎

Kártyajáték

Itt tartunk

Leírás

Középföldén az utóbbi időben igen felkapott lett a kétszemélyes Lénypárbaj nevű kártyajáték. Ebben a játékban rengeteg kártya van, a játékosok igyekeznek minél többet gyűjteni. Minden lapon egy karakter szerepel, egy híres középföldei. A játék során ezek a karakterek egymásra támadnak, cél a másik karaktereinek legyőzése.

Például

Gollam
Erő: 5
Védés: 2
Max élet: 13

Csavardi Samu
Erő: 4
Védés: 3
Max élet: 15

Egy troll
Erő: 11
Védés: 2
Max élet: 7

Ha egy troll megtámadja Csavardi Samut, akkor egy 11 erősségű ütést visz be neki. De Samu az utolsó utáni pillanatban elugrik, így a troll támadása 3-mal gyengítve érvényesül. Tehát Samu élete 15-(11-3)=7 lesz.

Készíts olyan Karakter osztályt, amivel hasonló karaktereket modellezhetünk!

  • Minden Karakter-nek legyen egy neve
  • Legyen egy ereje (egész szám)
  • Legyen egy védése (egész szám)
  • Egy max élete
  • Egy aktuális élete
  • És tudjuk a Karakterekről, hogy élnek-e
A következő viselkedést kell tudnia minden Karakternek:
  • A Karaktereknek le tud menni élete a sebez() metódussal. Ha elfogy az élete, meghalt :/
    Karakter k = …;
    k.sebez(8);

    Standard output:
    [Csavardi Samu] Csökkent az életem ennyivel: 8
    [Csavardi Samu] Meghaltam :'(
  • Minden Karakternek lehessen jelezni, ha x erejű támadás érte, valahogy így:
    Karakter k = …;
    k.ved(11); // 11-gyel támadta meg egy másik lény. A karakter tud 3-at védeni,
               // így a sebez(8) lesz meghívva.
    Standard output:
    [Csavardi Samu] Megtámadtak 11-gyel :O
    [Csavardi Samu] Csökkent az életem ennyivel: 8
    [Csavardi Samu] Meghaltam :'(
  • Minden karakter meg tudja támadni bármely másikat:
    Karakter k1 = …, k2 = …;
    k1.tamad(k2);
    Standard output:
    [Egy troll] Megtámadtam ezt a karaktert: Csavardi Samu
    [Csavardi Samu] Megtámadtak 11-gyel :O
  • ééés vannak Középföldének különleges karakterei is:

Különleges karakterek

Ha ez mind kész

  • Készíts egy paklit, amiben sok középföldei karakter szerepel
  • Majd ezt keverd össze a java.util.Random használatával.
    • A Google segítségével találd meg a Java SE 8-as verziójú hivatalos dokumentációját a Randomnak!
    • Próbáld meg értelmezni a dokumentációt!
    • Keresd meg azt a metódust, amivel tudsz n-féle szám közül sorsolni.
  • Keverd össze a paklit!
  • Ossz a két játékosnak!
  • Játsszanak, amíg nem nyer valaki!
Comments