PDA játékprogramozás

Kütyü magazin, 2007. szeptember 21. 12:15
Egy kis programozás

Sok régi számítógép-felhasználóban kelt kellemes emlékeket a BASIC-nyelv. Sokan kezdték ezzel a nyelvvel számítógépes életüket. Nálam a Spectrum Basic volt az első, és innen is származik nicknevem, ”játékgyáros”, melyet a Speccyalista Baráti Körtől kaptam (1999-ben !), a sok-sok játékprogram írásáért... 
Most már Pocket PC-n is használható, miután Basic4ppc néven megjelent egy olyan programnyelv, amely a BASIC-en alapul, de sok olyan modern elemet is tartalmaz, mint a Visual Rajzolás, Visual Basic,eseménykezelő, form-ok, control-ok és még sok más. A Basic4ppc-vel saját Pocket PC alkalmazásokat fejleszthetünk és forgalmazhatunk. 
Programozás bemutató, így néz ki egy játékprogram, a WindowsMobile 5.0 operációs rendszerre:
 
A program Visual BASIC-ban készült, és futtatható *.EXE fájl-lá alakítva, a WM5 op.rendszeren közvetlenül indítható.



itt látszik a "párok" könyvtárlista a Storage Card-on ( a MortPlayer ikonjaival )
 
A programocska a közismert párok nevet viseli, a 16 lehetőségből két egyforma párt kell kiválasztani. Itt a két pár - két hangot jelent - a telefoncsörgéstől, a hegedűhúr - pengetésig.
Ezeket kell összehasonlítani,egymás után választva. A program leveszi a "hang" négyzetét, melyből összesen 8-8 van, a játéknak akkor van vége, mikor mind a 8 párt (négyzetet) sikerült megtalálnunk.


kezdéskor még 4x4=16 négyzet a képernyőn, koppintsunk rá... kezdés 3.14-perckor
 
Nos, ilyen egy Visual BASIC program:



Értékadások, táblák, szubrutinok

Sub rajzolas
addform(Form1,"form1","",220,220,220)@
addlabel(form1,Label2,5,240,75,25,"Lepesek:",220,220,220,0,0,0,True,True,9)@
addlabel(form1,Label1,115,195,45,35,"",220,220,220,0,0,0,True,False,15)@
addbutton(form1,Button1,5,200,60,20,"HINT",212,208,200,0,0,0,True,True,9)@
addtable(form1,Table1,30,10,115,105,"",245,245,245,0,0,0,True,False,9
addmenuitem(form1,Menu1,"About",True,False)@r,addmenuitem(menu1,Menu2,True,False)@
End SubEnd SubEnd SubEnd SubEnd SubEnd SubEnd SubEnd SubEnd Sub
@EndOfDesignText@Sub Globals
dim negyzet(100)
alap=0
elso=0
masodik=0
lepesek=0
End Sub

Indítómenű, az alap behívása: a violinkulcs kép



Sub App_Start

Form1.Show
form1.Refresh
form1.LoadPicture("sol1.bmp")
oldal
nagysag
end sub


a violinkulcs a négyzetek alatt.. (vízszintesen széthúzza a képet,és nagyobb lesz )

Zene "négyzet" elrendezések alatt az 5 vonal kirajzolása

sub nagysag
h=10
for x=1 to 4
addbutton(form1,negyzet(x)&"b"&x,44*x,h,40,40)
addbutton(form1,negyzet(x+4)&"b"&x+4,44*x,h+44,40,40)
addbutton(form1,negyzet(x+8)&"b"&x+8,44*x,h+88,40,40)
addbutton(form1,negyzet(x+12)&"b"&x+12,44*x,h+132,40,40)
next x

Zene "négyzet" elrendezések-négyzetek száma=16



első lépés-kiválasztás - a kiválasztott négyzet-hang megszólal

for i=1 to 16
AddEvent (negyzet(i)&"b" & i, Click, "MySub")
next i

end sub



megtaláltam a párját, a páros-négyzetet levette

Ciklusok 1-től 16-ig,és ismétlések a megoldásig

sub oldal
for i=1 to 16
negyzet(i)=i
next i
for i = 1 to 16
j = int(rnd(1,16))
if j<>i then
temp = negyzet(i)
negyzet(i)=negyzet(j)
negyzet(j)=temp
end if
next i

ha nem talált, a kiválasztott(letörölt) négyzet újrarajzolása
 
for i=1 to 16
if negyzet(i)>8 then negyzet(i)=negyzet(i)-8
next i
table1.AddCol(cNumber,"INDX",50,TRUE)
table1.AddCol(cNumber,"CARTA",50,false)
for i = 1 to 16
table1.AddRow(i,negyzet(i))
next i
End Sub
a zenenégyzet kijelölése,ellenőrzése
Sub Button1_Click
if label1.Visible=false then
label1.Visible=true
else
label1.Visible=false
end if
End Sub
 
Lépések és a kiválasztott négyzet összehasonlítása

Sub Mysub
lepesek=lepesek+1
label2.Text="Lepesek: " & lepesek
if alap=0 then
control(sender).visible=false
elso=sender.name
hang(strat(elso,0) & ".wav")
label1.Text=strat(elso,0)
alap=1
else
masodik=sender.name

a kiválasztott négyzet-zene összehasonlítása
 
hang(strat(masodik,0) & ".wav")
label1.Text=strat(masodik,0)
if strat(elso,0)= strat(masodik,0) then
control(masodik).visible=false
control(elso).visible=false
else
control(elso).visible=true

end if
alap=0
end if


már közeleg a vég,alig van levehető négyzet
 
Ha már nincs újabb négyzet,akkor tényleg vége

end sub abcd


erre ment ki a játék,mindnek meglett a párja..csak 2 percig tartott az egész játék...3.16 perc
 
A program ingyenes, külön kérhető honlapomon lévő email címről:
http://jatekgyaros.fw.hu –ról vagy (jatekgyaros kukac gmail pont com ) címről...
Aki ír nekem, annak ingyenesen megküldöm.(A parok.zip 393.462 bájt hosszú,a program tartalmaz egy parok.win.exe fájlt is, mellyel PC-n is futtatható). A kicsomagolt fájlokat egy könyvtárban (a fenti képen látható módon) kell elhelyezni, és az *.exe file-t kell futtatni. Külön telepíteni nem kell.

játékgyáros... - folytatom...


Kapcsolódó cikkek: