OBJEKTOVÉ METODY A PŘÍSTUPY PROJEKT MINY - DOKUMENTACE VYPRACOVALI Eduard Kučera, Matěj Noha, František Volf
I. Úvod Předmětem seminární práce je obdoba známé hry Miny. Smyslem této hry je dostat se z jednoho konce minového pole na druhý a přitom se vyhnout minám, které jsou zde rozmístěny. Miny pochopitelně nevidíme, ale hra nám při každém kroku napovídá, kolik jich je v našem bezprostředním okolí. II. Popis hry Hru spustime z okna Workspace programu Small Talk příkazem MinyClass new start a jeho provedením pomocí Do it. V následně otevřeném dialogovém okně probíhá možnost volby obtížnosti. Označíme jednu z možností a potvrdíme tlačítkem OK.
Při samotné hře je otevřené jedno okno které má dvě části. Vlastní herní plán je v horní části. Bíle je vyvedena bezpečná zóna a žlutě vaše postavička jež má za úkol se dostat k ořechu v horní části. V levé dolní části naleznete informaci o počtu min kolem vás a v pravé dolní pak sdružený ovládací panel. Pomocí šipek se pohybujete, křížkem lze hru ukončit. Klikáme na směrové šipky, podle toho kterým se chceme vydat zároveň se v levém dolním rohu objeví, kolik se okolo vyskytuje min. Panáček za sebou nechává žlutou stopu. Pokud šlápneme na minu, zobrazí se všechny miny v minovém poli a program vypíše že jsme prohráli.
Výhry dosáhneme, pokud se dostaneme k ořechu v horní části pole uprostřed. V tomto případě se také vykreslí všechny miny a program vás prohlásí za vitěze.
III. O programu Program je definován ve třídě MinyClass s instančními metodami které jsou rozděleny do skupin initialize-relealize, dialogs, private. Initialize-realize: inicializační skupina, obsahuje jen jednu metodu. metody: initialize - inicializuje MinyClass, tzn. nastaví všechny proměnné a vytvoří instanci třídy Random generátor náhodných čísel. Dialogs: skupina jež definuje dialogová okna: metody: controlpanel čeká na signál myši a přepočítá kliknutí do okna na rozumnou hodnotu, tj. vlevo, vpravo, nahoru, dolu nebo exit. mydialogcontrolpanelaround - spočítá, kolik je kolem hráče min. mydialoggameover vypíše koncovou hlášku na obrazovku mydialogplayfield vytvoří okno, kam se posílají data, kde se hráč pohybuje využívá instance tříd ScheduledWindow a View. mydialogsetup definuje dialog, který se objeví při startu, kde si lze vybrat obtížnost showcount: kresli na obrazovku počet min které se nalézají kolem hráče. Private: definuje samotnou hru: metody: biggerrandom: vybere náhodné číslo od 1 do zvoleného limitu game: základní kostra hry initbombs: náhodně rozmístí bomby využívá instance třídy Random loadpicture: nahraje obrázek pomocí zadané cesty využívá instance třídy ImageReader start: instrukce, co se má dít při startu IV. Nastavení Před prvním spuštěním hry, je třeba zkontrolovat a případně nastavit správnou cestu ke zdrojovým souborům. To je třeba udělat v instanční metodě skupiny Private jménem loadpicture. Na podtrženém místě zadejte cestu k souborům BMP a potvrďte ACCEPTem. Upozorňujeme, že je třeba zadat cestu se slashem (dle platformy) na konci. loadpicture: filename "nahraje obrazek a vrati image" workingdir workingdir := 'd:\!projekt\'. "slash na konci!!!" ^(ImageReader fromfile: workingdir, filename) image.
V. Závěr Hodnocení uvedeného projektu lze rozdělit do třech základních bodů 1. funkčnost hry a splnění zadání projektu zřejmě nejdůležitější bod hodnocení celého hodnocení, jež se projeví získáním zápočtu z předmětu Objektové metody a přístupy. 2. samotná kvalita hry tento aspekt by samozrejmě neměli hodnotit tvůrci hry, ale hráči otázkou však zůstává jestli tento výtvor nějaké hráče mít bude. To však primárním cílem našeho snažení býti nemělo. 3. zvýšení znalostí v oboru objektového programování a týmové spolupráce ač je samozřejmé, že podíl participace členů skupiny na jednotlivých částech celé práce nemůže být vyrovnaný, myslíme si, že se podařilo tento bod splnit a že každý má svou část na úspěchu tohoto projektu. VI. Zdrojový kód Zdrojový kód programu viz přílohy.