Chess for Mac 2011

Dokumentácia zdrojového kódu

Unit1 - dialóg s otázkou, či nechcem pred začatím novej hry uložiť tú stávajúcu

boxstyle := MB_ICONQUESTION + MB_YESNO;
odpoved:= Application.MessageBox('Ak ju neuložíte, rozohratá hra sa stratí. Chcete ju uložiť?', 'Súčasná hra nie je uložená.', boxstyle);
if odpoved = IDYES then ...

Unit1 - Image1MouseDown

Zisťuje X a Y vybratej figúrky na ťah, vyvoláva funkcie z ChessUnit na zistenie, či je na ťahu správny hráč a či je vôbec políčko hratelné (či je na ňom figúrka).

Unit1 - Image1MouseMove

Kontroluje, či prebieha ťah a ak áno, tak prekresluje grafickú plochu podľa polohy kurzora. Kontrola okrajov.

Unit1 - Image1MouseUp

Kontroluje, že prebieha ťah. Vyhodnocuje ťah vyvolávaním funkcií SpravnyHrac, Playable (či je políčko hratelné), MozeTah (správnosť ťahu, či dotyčná figúrka môže ísť na dané políčko), OhrozenyKral, Zachrana (či po odohratí ťahu bude alebo nebude král ohrozený). Vyvoláva metódy ChangePointers (výmena smerníkov - políčok), VymenaPesiaka (ak prešiel pešiak na druhú stranu) a taktiež kontrolue na konci každého ťahu prípadný šachmat.

Unit3 - Image1MouseDown

Skontroluje, či si hráč vybral figúrku (kontrola súradníc kliknutia) a ak áno, tak odošle informáciu o X-ovej súradnici.

Form1.NastavNovuFigurku((X - 10) div 100);
Form3.Close;

ChessUnit - THra.MozeTah

Vstupom sú štyri celočíselné premenné - prvé dve hovoriace o tom, z ktorej pozície figúrka ide a druhé dve hovoriace o výslednej pozícii. Zistí si typ figúrky na danom políčku, z ktorého si vyberie o ktorú figúrku ide. Prechádza možné ťahy a tie porovnáva s výslednou pozíciou. Vyhodnotí, či True alebo False.

ChessUnit - THra.OhrozenyKral

Prechádza súperove figúrky a za pomoci MozeTah zisťuje, či sa nejaká môže dostať na pozíciu krála.

ChessUnit - THra.SachMat

Pracuje na podobnom princípe ako OhrozenyKral. Kontroluje všetky možné králove ťahy vrátane jeho aktuálnej pozície a zisťuje možné ohrozenie.