Személyes eszközök
Keresés

 

A InfoWiki wikiből

Tartalomjegyzék

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)
  • összes játékok száma': összesen hány játékot játszott (a döntetlenekkel együtt)

AdvJátékos

A Játékos továbbfejlesztése, a merészség részletes beállításával. Minden egyes lapösszeghez meg lehet adni, hogy adott összeg mellett mekkora merészség értékkel kérjen új lapot. Pl 14-es összegnél még 70% a merészsége, 19-nél már csak 20%. A konstruktorán keresztül egy default merészséget lehessen megadni, majd utána külön-külön lehessen szabályozni az egyes lapösszegekhez a merészséget.

  • mereszseg_beallit(laposszeg,szint) fv segítségével lehessen ezt beállítani

Aréna

Legyen összesen 20 db Játékos, és 5 db AdvJátékos példányunk, random merészséggel 20%-90% között, az AdvJatekos példányokat pedig tetszőleges módon (rátok bízom) finomhangolni merészséggel. Az arénában választódjon ki 2 db random játékos, és játszanak egymással. A nyert/vesztett értékek növelődjenek megfelelően. Legyen 10.000 ilyen játék. A végén adjuk meg az 5 legjobb nyertes játék száma/összes játék száma aránnyal rendelkező játékos merészségi beállításait.

Főprogram

Vezényelje le a játékot.

A lap eredeti címe: „http://wiki.ektf.hu/wiki/Mp4/gyak006
Nézetek
nincs sb_3.128.203.143 cikk