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 6921×
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!
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
.
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é:
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.