Wykorzystaj kod napisany podczas zajęć. Jeśli go nie masz to skorzystaj z kodu w katalogu solutions
W klasie Cargo napisz operator porównania (operator==), który będzie sprawdzał, czy towary są takie same.
Do klasy Cargo dopisz gettery oraz odpowiedni konstruktor, który wypełni wszystkie pola tej klasy.
Napisz klasę Island, która będzie posiadała zmienną Coordinates position_ oraz odpowiedni getter.
Klasa Coordinates ma określać współrzędne na mapie. Również ją napisz. Powinna przyjmować w konstruktorze 2 parametry positionX, positionY oraz operator porównania.
Napisz klasę Map, która będzie posiadała std::vector<Island> przechowujący wszystkie wyspy na mapie, oraz zmienną Island* currentPosition_ określającą aktualną pozycję gracza na mapie.
W klasie Map utwórz konstruktor bezargumentowy, a w jego ciele utwórz 10 wysp, które przechowasz w std::vector<Island&>.
Do wygenerowania losowych wartości pozycji wysp na mapie skorzystaj z przykładu na cppreference.
Wymyśl sposób, aby pozycje wysp się nie powielały.
W klasie Map napisz funkcję
Island* getIsland(const Island::Coordinates& coordinate)
Powinna ona przeszukać std::vector<Island> i zwrócić szukaną wyspę.
Napisz klasę Player, która posiadać będzie 3 pola:
std::unique_ptr<Ship> ship_money_availableSpace_
Dopisz także odpowiednie gettery oraz konstruktor.
Dopisz także 2 funkcje, które powinny zwracać dane ze statku:
size_t getSpeed() constCargo* getCargo(size_t index) const
W klasie Player napisz prywatną funkcję, która obliczać będzie availableSpace_ na podstawie aktualnej ilości towaru na statku.