i/s23 Zsombó István 12. évfolyam Pécsi Leőwey Klára Gimnázium Visual Basic .NET - Visual Studio 2015 A bemenet alapján létrehozom a Gyalog osztály tagjait, melyeket a gyalogok listába gyűjtök. A Gyalog osztály tartalmazza egy-egy gyalog helyét a táblán (x és y, azaz sorok és oszlopok), valamint azt, hogy a többi gyalog közül melyikeket "éri el" a futó, miután ezt leütötte (oketelerem lista). Két gyalog "eléri" egymást, ha azok helyét, mint síkbéli pontokat összekötő vektor is "átlós" helyzetű, azaz koordinátái megegyeznek vagy egymás ellentettjei. A bemeneti adatok rögzítése és az "elérési" listák feltöltése után kezdődik a vizsgalat(). A futó minden lehetséges lépéssorozatát meg fogjuk vizsgálni, és közülük a legtöbb gyalogot leütőnek hosszát írjuk majd ki végeredményül. A futó kezdőpontját helyezzük valamely gyalogra, ezzel leütve azt. A leütött gyalogokat gyűjtsük a leutottek listába. Hívjuk meg a kiválasztott gyalog tovabblepek() metódusát. Egy gyalog tovabblepek() metódusa a leütöttek közé helyezi azt, és meghívja minden általa "elérhető", de le még nem ütött gyalog tovabblepek() metódusát. Lefutása végén törli a gyalogot a leutottek listából, így ha a metódust egy másik gyalog hívta meg, annak metódusa zavartalanul futhat tovább. A leutottek lista számossága az adott lépéssorozatban leütött gyalogok számát adja, csökkentésekor vessük azt össze az eddig mért legmagasabb számossággal (rekord), és ha nagyobb, tegyük az új rekorddá. Hívjuk meg a tovabblepek() metódusát ezután az összi többi gyalognak is, így a futó összes érdemleges (gyalogot leütő) lépéssorozatát előállítjuk, melyek közül a legtöbb gyalogot leütő hosszát a rekord változó tartalmazza.