GpsMapLib...Library
zajímáVytvořte simulaci provozu na silnicích. K dispozici máte zjednodušenou "mapu" České republiky. Definujte různé dopravní prostředky (vozidla), které se budou pohybovat po mapě, tj. jezdit po silnicích spojujících města v ČR a rozhodovat se na křižovatkách, kam se mají vydat na další cestu. Křižovatky jsou pouze ve městech. Pokud si vozidlo vybere nějakou silnici, tak po ní musí dojet do nejbližšího města. Pak se opět rozhodne, kterou cestou se vydá dál.
Simulaci pojměte jako závod. Vítězí ten dopravní prostředek, který jako první dorazí do svého cíle. Tím celá simulace skončí.
Na začátku si každé vozidlo náhodně zvolí město, ze kterého vyjíždí, a město, do kterého se má dostat. Každé vozidlo bude mít nějakou strategii, podle které se na křižovatce (ve městě) rozhodne, kterým směrem se vydá dál. Každé vozidlo bude mít nějaká omezení (minimální/maximální rychlost, staminu nebo velikost palivové nádrže apod.), podle kterého se rovněž bude řídit jeho pohyb po mapě.
Vozidla v simulaci musejí dodržovat nějaká základní pravidla a dopravní předpisy. Na každé silnici jsou například definovány minimální a maximální rychlost, kterou lze po silnici jet. Tyto požadavky nesmí být porušeny (např. cyklista s max. rychlostí 50 km/h nemůže jet po dálnici, kde je min. rychlost 70 km/h, nebo BMW s max. rychlostí 200 km/h musí i tak dodržet max. rychlost na českých dálnicích, která je 130 km/h). Nelze se pohybovat mimo silnice a města na mapě.
Cyklisté se "staminou" si občas musí odpočinout, když jim "dojdou síly". Auta musejí občas ve městě zastavit a dotankovat apod.
VAR
(Vehlicles and Roads).VarCon
. VS solution s projektem VarCon
pojmenujte VarSol
.VarCon
přidejte knihovnu tříd z repozitáře GpsMapLib
.
(Repozitář najdete na GitLabu ve složce pro vaši třídu.)
Knihovna se jmenuje GpsMapLib...Library
.
Místo tří teček (...) doplňte kód své třídy a skupiny.
Např. pro G3.A 1. skupinu se celý projekt s knihovnou tříd jmenuje GpsMapLibP3Agr1Library
.
Pro přidání existujícího projektu do vaší VS solution proveďte následující:
GpsMapLib...Library
z VS-solution adresáře GpsMapLib...Sol
do svého VS-solution adresáře VarSol
.GpsMapLib...Library
zajímáIRoadMap
RoadMapFactory
Town
Road
Gps
CompassDirection
Vytvořte následující objektovou hierarchii pro dopravní prostředky, se kterými budete provádět simulaci:
Definujte interface IMovable
s těmito metodami:
Pro metody definované interfacem si sami zvolte vhodné parametry a/nebo návratovou hodnotu.
Interface IMovable
pak implementujte v každé specifické třídě vaší hierarchie vozidel
(např. Truck
, Car
, Bicycle
apod.).