Loyd-puzzle ala Lazarus 1. diel

V tomto diely o hre Loyd-puzzle si ukážeme ako zostaviť herné prostredie pre slávnu hru z 19. storočia a začneme aj s písaním kódu.
Puzzle známe ako Loydovo puzzle o veľkosti 4x4 si naprogramujeme pre zjednodušnie vo veľkosti 3x3, ale kto má záujem môže si ho prerobiť na 4x4. .


31.7.2010 00:00 | Sebastián Kunec | přečteno 6637×

Trochu histórie nezaškodí

V 19. storočí priviedol tento hlavolam svet k šialenstvu.
V roku 1878 Sam Loyd predstavil verejnosti túto hru, hlavolam. Využil tricku aby vzdbudil záujem o tento hlavolam a to tak že ponúkol 1000$ tomu kto hlavolam vyrieši.
Hlavolam obsahoval 15 štvorčekov ale iba posledné dva 14,15 boli prehodené to spôsobilo hlavolam matematicky nevyriešitelným!

Poďme na to!

Najprv si v Lazarovi vytvoríme nový projekt a spustíme F9 mal by vyzerať takto.



V ďalšom kroku si vytvoríme prostredie takmer finálnej podoby.
Do formulára vložíme 8x TPanel nájdeme ho v lište Standard, 1x TMainMenu tiež v lište Standard a TTimer v lište System.
Po vložení to bude vyzerať trochu rozhádzane ale hneď si to upravíme.



Každému panelu nastavíme Width=45, Height=45 a v možnosti Caption vymažeme Panel tak aby ostalo len číslo 1-8.
Pre Panel1 nastavíme hodnoty left=0 a top=0.
Pre Panel2 nastavíme hodnoty left=46 a top=0.
Pre Panel3 nastavíme hodnoty left=91 a top=0.
Pre Panel4 nastavíme hodnoty left=0 a top=46.
Pre Panel5 nastavíme hodnoty left=46 a top=46.
Pre Panel6 nastavíme hodnoty left=91 a top=46.
Pre Panel7 nastavíme hodnoty left=0 a top=91.
Pre Panel8 nastavíme hodnoty left=46 a top=91.
Pre Form1 nastavíme hodnoty width=145, height=175 a caption=Loyd game .
Pre MainMenu1 nastavíme hodnoty Caption=Nova Hra.
Po spustení dostaneme:


V nasledujúcom kroku si vytvoríme potrebné procedúry pre naše objekty sktorými budeme neskôr pracovať a ktoré sa nám zobrazia v zdrojovom kóde.
V inšpektorovi objektov klikneme na prvý TPanel klikneme na záložku události a v nej dvakrát klikneme na OnMouseDown tak aby sa nám v zdojovom kóde zobrazila príslušná procedúra.
Toto aplikujeme pre každý panel.
Pre formulár v udalostiach dvakrat klikneme na FormCreate, FormDragOver, FormDragDrop.
Na začiatku zdrojového kódu by ste mali mať podobný zoznam Objektov a ich procedúr
.

Zdrojový kód

V tomto diely si do nášho projektu ešte vložíme premenné s ktorými budeme pracovať neskôr.
Funkcie a zbytok kódu si vložíme v druhom diely.
Pred var si vložíme nový typ miesto ktorý opisuje pozíciu daného panelu.

A za var vložíme premenné:

Záver

Dnes sme si načrtli ako bude naša hra vyzerať, spomenuli trochu histórie o tejho hre a vložili časť kódu.
V druhom diely si vložíme zbytok zdrojového kódu a samozrejme zverejním tarball v ktorom bude celý funkčný projekt pre Lazarus.

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=1742