A InfoWiki wikiből
A lap korábbi változatát látod, amilyen WikiSysop (vita | szerkesztései) 2010. március 11., 19:00-kor történt szerkesztése után volt.
21-ezés
A 21-es kártyajáték szimulálására fejleszzünk ki objektum osztályokat, amelyek együttműködve megvalósítanak egy 2 fős parti 21-ezést.
Ennek során van egy kártyapakli, melyből a két játékos lapokat kap. A kezdő 2 db lap után az egyes játékosok nyilatkoznak, hogy kérnek-e új lapot. Ha igen, akkor kapnak. Amikor egyik játékos sem kér már új lapot, akkor mindenki bemondja a saját lapjainak értékét (csalás nélkül), és eredményt hirdetünk, ki nyerte a fordulót.
Kártyapakli
Kell egy pakli osztály az alábbi metódusokkal:
- megkever(): alaphelyzetbe állítja a 32 lapos paklit, minden lap bekerül, és összekeveredik
- következő_lap(): fv, ad egy lapot a pakliból. A lap legyen véletlenszerű, de ha egy lap kikerült a pakliból, akkor újra ne lehessen kisorsolni. Ezt a fv-t elvileg maximum 32-szer hívhatjuk meg, minden egyes alkalommal más-más véletlenszerű lapot adjon.
- van_e_meg_lap()': fv, megadja, van-e még lap a pakliban (elfogytak-e a lapok). Ha igen, akkor elvileg újra meg kell hívni a megkever() fv-t, és a pakli újra alaphelyzetbe áll.
Játékos
- kezel lapok egy listáját (kezében lévő lapok), melyen legalább 2 lap van, de további lapok kérése esetén a kapott lapok is ugyanide kerülnek
- van egy merészség értéke, 1..100 közötti érték
- lapok_osszege() fv, megmondja mennyi a nála lévő lapok összege (csalás nélkül)
- konstruktor: a merészség beállítása paraméterbeli értékre
- kersz_lapot() fv, ezt az osztó hívja meg, ezen keresztül kérdezi meg, hogy kér-e még a játékos új lapot (bool fv). A játékos amennyiben értelmes (21-nél kevesebb a lapok összege), a merészségétől függően lapot kér.
- nyerések száma: hányszor nyert már a játékos
- hibák száma: hányszor vesztett úgy, hogy átlépte a 21-t a lapok összege
- vesztések száma: hányszor veszett másik játékossal szemben úgy, hogy 21 vagy alatta volt a lapjainak összege (akár nyerhetett is volna)