mirror of
https://github.com/Relintai/programming_tutorials.git
synced 2025-05-11 22:52:11 +02:00
Typo fixes.
This commit is contained in:
parent
53cb378bfb
commit
f355203ce7
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
Írni fogunk egy leegyszerűsített monopoly szerűséget.
|
Írni fogunk egy leegyszerűsített Monopoly szerűséget.
|
||||||
|
|
||||||
Ebben a példában már használni fogunk öröklődést, és polimorfizmust is!
|
Ebben a példában már használni fogunk öröklődést, és polimorfizmust is!
|
||||||
|
|
||||||
@ -26,8 +26,8 @@ voltak írva, de mostantól nem fogom annyira átszerkeszteni.
|
|||||||
|
|
||||||
A játékszabályok, amiket implementálni fogunk:
|
A játékszabályok, amiket implementálni fogunk:
|
||||||
|
|
||||||
A játék n db játákossal indul. Mindenkinek van valamennyi pénze
|
A játék n db ját;kossal indul. Mindenkinek van valamennyi pénze
|
||||||
(legyen egyeenként megadható). És van egy játékmező. (Mint a valódi
|
(legyen egyenként megadható). És van egy játékmező. (Mint a valódi
|
||||||
monopolyban kb).
|
monopolyban kb).
|
||||||
A játékmezőn vannak mezők. Ezeknek a típusai:
|
A játékmezőn vannak mezők. Ezeknek a típusai:
|
||||||
|
|
||||||
@ -36,12 +36,12 @@ A játékmezőn vannak mezők. Ezeknek a típusai:
|
|||||||
- OwnableTile - Ez olyan mező, amit meg lehet venni. Van vátelára,
|
- OwnableTile - Ez olyan mező, amit meg lehet venni. Van vátelára,
|
||||||
illetve egy belépési költsége. Ha egy játékos rálép, és még senkié,
|
illetve egy belépési költsége. Ha egy játékos rálép, és még senkié,
|
||||||
akkor az a játékos megveheti a vételárért cserébe. Ha nem veszi meg,
|
akkor az a játékos megveheti a vételárért cserébe. Ha nem veszi meg,
|
||||||
nem kell fizetnie semit. Ha valaki megveszi, akkor mindenki másnak,
|
nem kell fizetnie semmit. Ha valaki megveszi, akkor mindenki másnak,
|
||||||
aki rálép meg kell fiyetnie a tulajdonosnak a belépési díjat.
|
aki rálép meg kell fizetnie a tulajdonosnak a belépési díjat.
|
||||||
Ha a tulajdonos kiesik a játékból, akkor az összes tulajdona
|
Ha a tulajdonos kiesik a játékból, akkor az összes tulajdona
|
||||||
felszabadul.
|
felszabadul.
|
||||||
|
|
||||||
- GainTile - Aki rálép az egy meghatározott össszeget kap.
|
- GainTile - Aki rálép az egy meghatározott összeget kap.
|
||||||
|
|
||||||
- LuckTile - Aki rálép kaphat megadott %-nyi eséllyel,
|
- LuckTile - Aki rálép kaphat megadott %-nyi eséllyel,
|
||||||
két megadott érték közötti pénzt.
|
két megadott érték közötti pénzt.
|
||||||
@ -54,12 +54,12 @@ Egy játékos akkor esik ki, ha elfogyott minden pénze.
|
|||||||
Az nyer, aki a legutoljára bent marad.
|
Az nyer, aki a legutoljára bent marad.
|
||||||
|
|
||||||
A játékosok előre meghatározott, fix sorrendben jönnek egymás után,
|
A játékosok előre meghatározott, fix sorrendben jönnek egymás után,
|
||||||
a körük elején dobnak 1db 6 oldalú dobókockával, majd anyit lépnek,
|
a körük elején dobnak 1db 6 oldalú dobókockával, majd annyit lépnek,
|
||||||
amennyit dobtak, és a mező amire érkeztek hatásal lesz rájuk.
|
amennyit dobtak, és a mező amire érkeztek hattásal lesz rájuk.
|
||||||
|
|
||||||
A játékosok a játékmezőn körbe-körbe haladnak.
|
A játékosok a játékmezőn körbe-körbe haladnak.
|
||||||
|
|
||||||
A játékot úgy fogjuk megírni, hogy legyenek különböző szemályiségü
|
A játékot úgy fogjuk megírni, hogy legyenek különböző személyiségü
|
||||||
gépi játékosok:
|
gépi játékosok:
|
||||||
|
|
||||||
Agresszív: Mindent megvesz, amíg van rá pénze.
|
Agresszív: Mindent megvesz, amíg van rá pénze.
|
||||||
@ -68,13 +68,13 @@ Konzervatív: Ha a mező ára kevesebb, mint a pénzének a fele, akkor megveszi
|
|||||||
Emberi: Megkérdezi a felhasználót, hogy mit akar tenni.
|
Emberi: Megkérdezi a felhasználót, hogy mit akar tenni.
|
||||||
Csaló: Mindent megvesz, amit csak tud. (csak 4, 5, 6-okat dobhat)
|
Csaló: Mindent megvesz, amit csak tud. (csak 4, 5, 6-okat dobhat)
|
||||||
|
|
||||||
A játokosok beállításait, és a mezőket is fájlból tötsük be.
|
A játékosok beállításait, és a mezőket is fájlból töltsük be.
|
||||||
|
|
||||||
Konzolos program lesz, szóval mindent ami fontos, a konzolra kell
|
Konzolos program lesz, szóval mindent ami fontos, a konzolra kell
|
||||||
majd kiírnunk, és a konzolról kell beolvasni, ha kérdezni szeretnénk a
|
majd kiírnunk, és a konzolról kell beolvasni, ha kérdezni szeretnénk a
|
||||||
felhasználótól.
|
felhasználótól.
|
||||||
|
|
||||||
A feladatm hogy ezt implementáljuk.
|
A feladat, hogy ezt implementáljuk.
|
||||||
|
|
||||||
Kezdjük a játékos osztályokkal:
|
Kezdjük a játékos osztályokkal:
|
||||||
|
|
||||||
@ -120,7 +120,7 @@ set_money, set_jail_time -> írjon üzenetet a konzolra.
|
|||||||
|
|
||||||
set_lost(val) -> ha a val true, hívja meg az on_lost() függvényt.
|
set_lost(val) -> ha a val true, hívja meg az on_lost() függvényt.
|
||||||
|
|
||||||
want_buy() függvénnyel fogja meegkérdezni a rendszer, hogy meg akarja-e
|
want_buy() függvénnyel fogja megkérdezni a rendszer, hogy meg akarja-e
|
||||||
venni a játékos a jelenlegi mezőt.
|
venni a játékos a jelenlegi mezőt.
|
||||||
|
|
||||||
Megj.: nagy programban valószínűleg érdemes lenne a magát a Tile osztályt
|
Megj.: nagy programban valószínűleg érdemes lenne a magát a Tile osztályt
|
||||||
@ -129,7 +129,7 @@ Player osztály.
|
|||||||
|
|
||||||
Ezt aműgy meg lehet oldani, méghozzá úgy, hogy a Tile osztály a Player
|
Ezt aműgy meg lehet oldani, méghozzá úgy, hogy a Tile osztály a Player
|
||||||
headerje tetején előre van deklarálva (class Tile;), a Player osztály
|
headerje tetején előre van deklarálva (class Tile;), a Player osztály
|
||||||
a Tile headerje tetején van előre deklarálva (class Player;), és acsak a
|
a Tile headerje tetején van előre deklarálva (class Player;), és csak a
|
||||||
.cpp fájlokoban vannak maguk a headerek beincludeolva.
|
.cpp fájlokoban vannak maguk a headerek beincludeolva.
|
||||||
|
|
||||||
Hogy könnyítsek a dolgotokon, ezt kihagytam, viszont ha valaki elég erőt
|
Hogy könnyítsek a dolgotokon, ezt kihagytam, viszont ha valaki elég erőt
|
||||||
@ -273,11 +273,11 @@ A rendszer majd az on_player_arrived() függvényt hívja meg, miután egy
|
|||||||
játékos dobott, és rálép a következő mezőre.
|
játékos dobott, és rálép a következő mezőre.
|
||||||
Ez a függvény mindent releváns információt írjon a konzolra.
|
Ez a függvény mindent releváns információt írjon a konzolra.
|
||||||
|
|
||||||
Itt maja a Mező fogja pl növelnia játékos pénzét, vagy börtönbe tenni,
|
Itt maja a Mező fogja pl növelni a játékos pénzét, vagy börtönbe tenni,
|
||||||
vagy megkjérdezni, hogy meg akarja e venni megát a mezőt.
|
vagy megkérdezni, hogy meg akarja-e venni meg át a mezőt.
|
||||||
|
|
||||||
reset() csak a OwnableTIle fog itt valamit csinálni, ugyanis ebben
|
reset() csak a OwnableTile fog itt valamit csinálni, ugyanis ebben
|
||||||
ki fogja nulláyni a tulajdonosát. (Ez két játék közötti kinullázásra való)
|
ki fogja nullázni a tulajdonosát. (Ez két játék közötti kinullázásra való)
|
||||||
|
|
||||||
A többit, ami esetleg nem triviális, lásd a player-nél.
|
A többit, ami esetleg nem triviális, lásd a player-nél.
|
||||||
|
|
||||||
@ -327,11 +327,11 @@ A többit, ami esetleg nem triviális, lásd a player-nél.
|
|||||||
| - Player *_owner; |
|
| - Player *_owner; |
|
||||||
|--------------------------------------------------------------------------|
|
|--------------------------------------------------------------------------|
|
||||||
|
|
||||||
- OwnableTile - Ez olyan mező, amit meg lehet venni. Van vátelára,
|
- OwnableTile - Ez olyan mező, amit meg lehet venni. Van vételára,
|
||||||
illetve egy belépési költsége. Ha egy játékos rálép, és még senkié,
|
illetve egy belépési költsége. Ha egy játékos rálép, és még senkié,
|
||||||
akkor az a játékos megveheti a vételárért cserébe. Ha nem veszi meg,
|
akkor az a játékos megveheti a vételárért cserébe. Ha nem veszi meg,
|
||||||
nem kell fizetnie semit. Ha valaki megveszi, akkor mindenki másnak,
|
nem kell fizetnie semmit. Ha valaki megveszi, akkor mindenki másnak,
|
||||||
aki rálép meg kell fiyetnie a tulajdonosnak a belépési díjat.
|
aki rálép meg kell fizetnie a tulajdonosnak a belépési díjat.
|
||||||
Ha a tulajdonos kiesik a játékból, akkor az összes tulajdona
|
Ha a tulajdonos kiesik a játékból, akkor az összes tulajdona
|
||||||
felszabadul.
|
felszabadul.
|
||||||
|
|
||||||
@ -352,7 +352,7 @@ felszabadul.
|
|||||||
| - int _gain; |
|
| - int _gain; |
|
||||||
|--------------------------------------------------------------------------|
|
|--------------------------------------------------------------------------|
|
||||||
|
|
||||||
- GainTile - Aki rálép az egy meghatározott össszeget kap.
|
- GainTile - Aki rálép az egy meghatározott összeget kap.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -401,7 +401,7 @@ két megadott érték közötti pénzt.
|
|||||||
|--------------------------------------------------------------------------|
|
|--------------------------------------------------------------------------|
|
||||||
|
|
||||||
- JailTile - Aki rálép, a megadott környi ideig börtönbe kerül, azaz
|
- JailTile - Aki rálép, a megadott környi ideig börtönbe kerül, azaz
|
||||||
annzi körig nem léphet.
|
annyi körig nem léphet.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -480,11 +480,11 @@ TaxTile N 3433
|
|||||||
|--------------------------------------------------------------------------|
|
|--------------------------------------------------------------------------|
|
||||||
|
|
||||||
|
|
||||||
on_game_finished() a játékról kiír a konyolra mindenféle információt,
|
on_game_finished() a játékról kiír a konzolra mindenféle információt,
|
||||||
miután véget ért.
|
miután véget ért.
|
||||||
|
|
||||||
run() a fő ciklus, a step() fggvényt hívogatja, amíg több mint 1
|
run() a fő ciklus, a step() függvényt hívogatja, amíg több mint 1
|
||||||
aktív játékos van. Esetleg kiléphez nagy _turn szám után is.
|
aktív játékos van. Esetleg kiléphet nagy _turn szám után is.
|
||||||
|
|
||||||
Ha a ciklus kilépett, hívja meg az on_game_finished()-et.
|
Ha a ciklus kilépett, hívja meg az on_game_finished()-et.
|
||||||
|
|
||||||
@ -506,10 +506,10 @@ Az algoritmus:
|
|||||||
on_player_arrived(p); függvényét, a játékost adjuk be paraméternek.
|
on_player_arrived(p); függvényét, a játékost adjuk be paraméternek.
|
||||||
7. Állítsuk be a _previous_player osztályváltozót a jelenlegi játékosra.
|
7. Állítsuk be a _previous_player osztályváltozót a jelenlegi játékosra.
|
||||||
8. Ha ajátékos vesztett (get_lost()), akkor rakjuk ár a _lost_players
|
8. Ha ajátékos vesztett (get_lost()), akkor rakjuk ár a _lost_players
|
||||||
veektorba, majd ellenűrizzük, hogy a _current_player_index nem indexel-e
|
veektorba, majd ellenőrizzük, hogy a _current_player_index nem indexel-e
|
||||||
túl a játékosok vektorán. Ha igen, akkor állítsuk a
|
túl a játékosok vektorán. Ha igen, akkor állítsuk a
|
||||||
_current_player_index-et 0-ra. (ugye eggyel csökkent a vektor mérete.)
|
_current_player_index-et 0-ra. (ugye eggyel csökkent a vektor mérete.)
|
||||||
9. Egyébként növeljük meg a _current_player_index-et 1-el, és ugyanűgy
|
9. Egyébként növeljük meg a _current_player_index-et 1-el, és ugyanúgy
|
||||||
ellenűrizzük, hogy a _current_player_index nem indexel-e
|
ellenűrizzük, hogy a _current_player_index nem indexel-e
|
||||||
túl a játékosok vektorán, ha igen, akkor állítsuk a
|
túl a játékosok vektorán, ha igen, akkor állítsuk a
|
||||||
_current_player_index-et 0-ra.
|
_current_player_index-et 0-ra.
|
||||||
|
Loading…
Reference in New Issue
Block a user