mirror of
https://github.com/Relintai/programming_tutorials.git
synced 2025-04-21 21:51:22 +02:00
185 lines
10 KiB
Plaintext
185 lines
10 KiB
Plaintext
|
|
|--------------------------------------------------------------------------|
|
|
| class Tile |
|
|
|--------------------------------------------------------------------------|
|
|
| + String get_name(); |
|
|
| + void set_name(const String &name); |
|
|
| |
|
|
| + virtual void on_player_arrived(Player *p); |
|
|
| |
|
|
| + virtual void reset(); |
|
|
| |
|
|
| + virtual void print(); |
|
|
| + virtual String get_class_name(); |
|
|
| |
|
|
| + Tile(); |
|
|
| + virtual ~Tile(); |
|
|
| |
|
|
| - String _name; |
|
|
|--------------------------------------------------------------------------|
|
|
|
|
A Mező osztály.
|
|
|
|
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.
|
|
Ez a függvény mindent releváns információt írjon a konzolra.
|
|
|
|
Itt maja a Mező fogja pl növelni a játékos pénzét, vagy börtönbe tenni,
|
|
vagy megkérdezni, hogy meg akarja-e venni meg át a mezőt.
|
|
|
|
reset() csak a OwnableTile fog itt valamit csinálni, ugyanis ebben
|
|
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.
|
|
|
|
|
|
|
|
|--------------------------------------------------------------------------|
|
|
| class TaxTile : public Tile |
|
|
|--------------------------------------------------------------------------|
|
|
| + int get_tax() const; |
|
|
| + void set_tax(const int tax); |
|
|
| |
|
|
| + void on_player_arrived(Player *p); |
|
|
| + void print(); |
|
|
| + String get_class_name(); |
|
|
| |
|
|
| + TaxTile(); |
|
|
| |
|
|
| - int _tax; |
|
|
|--------------------------------------------------------------------------|
|
|
|
|
- TaxTile - Amikor a játékos rálép ennyi adót kell fizetnie.
|
|
|
|
|
|
|
|
|--------------------------------------------------------------------------|
|
|
| class OwnableTile : public Tile |
|
|
|--------------------------------------------------------------------------|
|
|
| + int get_price() const; |
|
|
| + void set_price(const int val); |
|
|
| |
|
|
| + int get_enter_price() const; |
|
|
| + void set_enter_price(const int val); |
|
|
| |
|
|
| + Player *get_owner() const; |
|
|
| + void set_owner(Player *val); |
|
|
| |
|
|
| + void on_player_arrived(Player *p); |
|
|
| + void print(); |
|
|
| + void reset(); |
|
|
| |
|
|
| + String get_class_name(); |
|
|
| |
|
|
| + OwnableTile(); |
|
|
| |
|
|
| - int _price; |
|
|
| - int _enter_price; |
|
|
| - Player *_owner; |
|
|
|--------------------------------------------------------------------------|
|
|
|
|
- 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é,
|
|
akkor az a játékos megveheti a vételárért cserébe. Ha nem veszi meg,
|
|
nem kell fizetnie semmit. Ha valaki megveszi, akkor mindenki másnak,
|
|
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
|
|
felszabadul.
|
|
|
|
|
|
|
|
|--------------------------------------------------------------------------|
|
|
| class GainTile : public Tile |
|
|
|--------------------------------------------------------------------------|
|
|
| + int get_gain() const; |
|
|
| + void set_gain(const int val); |
|
|
| |
|
|
| + void on_player_arrived(Player *p); |
|
|
| + void print(); |
|
|
| + String get_class_name(); |
|
|
| |
|
|
| + GainTile(); |
|
|
| |
|
|
| - int _gain; |
|
|
|--------------------------------------------------------------------------|
|
|
|
|
- GainTile - Aki rálép az egy meghatározott összeget kap.
|
|
|
|
|
|
|
|
|--------------------------------------------------------------------------|
|
|
| class LuckTile : public Tile |
|
|
|--------------------------------------------------------------------------|
|
|
| + int get_chance() const; |
|
|
| + void set_chance(const int val); |
|
|
| |
|
|
| + int get_gain_min() const; |
|
|
| + void set_gain_min(const int val); |
|
|
| |
|
|
| + int get_gain_max() const; |
|
|
| + void set_gain_max(const int val); |
|
|
| |
|
|
| + void on_player_arrived(Player *p); |
|
|
| + void print(); |
|
|
| + String get_class_name(); |
|
|
| |
|
|
| + LuckTile(); |
|
|
| |
|
|
| - int _chance; |
|
|
| - int _gain_min; |
|
|
| - int _gain_max; |
|
|
|--------------------------------------------------------------------------|
|
|
|
|
- LuckTile - Aki rálép kaphat megadott %-nyi eséllyel,
|
|
két megadott érték közötti pénzt.
|
|
|
|
|
|
|
|
|
|
|--------------------------------------------------------------------------|
|
|
| class JailTile : public Tile |
|
|
|--------------------------------------------------------------------------|
|
|
| + int get_jail_time() const; |
|
|
| + void set_jail_time(const int val); |
|
|
| |
|
|
| + void on_player_arrived(Player *p); |
|
|
| + void print(); |
|
|
| + String get_class_name(); |
|
|
| |
|
|
| + JailTile(); |
|
|
| |
|
|
| - int _jail_time; |
|
|
|--------------------------------------------------------------------------|
|
|
|
|
- JailTile - Aki rálép, a megadott környi ideig börtönbe kerül, azaz
|
|
annyi körig nem léphet.
|
|
|
|
|
|
|
|
|--------------------------------------------------------------------------|
|
|
| class TileLoader |
|
|
|--------------------------------------------------------------------------|
|
|
| + static Vector<Tile *> load_tile_file(const String &file_name); |
|
|
|--------------------------------------------------------------------------|
|
|
|
|
Ugyanolyan betöltő osztály, mint a játékos estében.
|
|
|
|
Példa file szerkezet:
|
|
|
|
Tile A
|
|
TaxTile B 3433
|
|
TaxTile C 3433
|
|
OwnableTile D 222 22
|
|
OwnableTile E 222 22
|
|
OwnableTile F 222 22
|
|
GainTile G 100
|
|
TaxTile H 3433
|
|
LuckTile I 50 100 200
|
|
TaxTile J 3433
|
|
JailTile K 3
|
|
TaxTile L 3433
|
|
TaxTile M 3433
|
|
TaxTile N 3433
|
|
|
|
|