Jednostavna igrica u BlitzBasicu
- poruka: 14
- |
- čitano: 1.506
- |
- moderatori:
Lazarus Long, XXX-Man, vincimus
- +/- sve poruke
- ravni prikaz
- starije poruke gore
Ko Zeli Moze dobit Source
I ne vidim sta si htio rec sa temom .
Jel to reklama , ili zelis pokazati svoj rad ?
nije reklama nego vidio kako je jedan od forumasa podijelio iks Oks igricu.
Pa sto nebi i ja uradio.
Nemam se sta reklamirati jer sam totalni pocetnik u svijetu programiranja
nije reklama nego vidio kako je jedan od forumasa podijelio iks Oks igricu.
Pa sto nebi i ja uradio.
Nemam se sta reklamirati jer sam totalni pocetnik u svijetu programiranja
A onda si mogo maalcice stavit drugaciji naziv teme , zato kaj se da krivo protumacit ..
Inace , lijepo ti je ispao rad .. Keep it up ..
hvala ti
Igrica ti ima bug, moze se izac "van" ekrana kad se igra i na taj nacin teoretski nikad nemozes poginit jer NLO-i :P koji bacaju bombe nemogu u taj prostor
Znam nisam ogranicio kretanje brodica 800px
Graphics 800,600,16,1
img_hi=LoadImage("k1.bmp")
DrawImage img_hi ,10,10
While Not KeyHit(28)
If KeyDown(1) Exit
Text 400,40,"SPACE BAR ZA PUCANJE",True,False
Text 400,60,"DVA PUTA ESC ZA IZLAZ ENTER ZA POCETAK IGRE",True,False
Text 400,170,"alan92 za BUG FORUM",True,False
Wend
;ime programa
AppTitle "SPACE_MONSTER"
;postavljam prozor gdje ce se sve odvijati
Graphics 800,600,16,1
;ClsColor (255,124,255)
;postavljanje vremenskog brojaca timera
timer=CreateTimer(30)
;postavljanje highscore
If ReadFile ("score.dat")=0 Then
highscore=0
Else
file_score=ReadFile("score.dat")
highscore=ReadInt (file_score)
CloseFile (file_score)
EndIf
;uzimanje slike
AutoMidHandle True
img_raketa=LoadImage("raketa.bmp")
img_metak=LoadImage("star1.bmp")
img_jew=LoadImage("monster1.bmp")
img_bomb=LoadImage("bombe.bmp")
;uzimanje zvuka
snd_shoot=LoadSound("pucanj.wav")
snd_shiphit=LoadSound("pbrod.wav")
snd_bomb=LoadSound("bomba.wav")
snd_exploade=LoadSound("exp.wav")
snd_music=LoadSound ("muzika.mp3")
;type metka
Type bullet
Field x
Field y
End Type
;type bombe
Type bomb
Field x
Field y
End Type
;type monster
Type alien
Field x
Field y
End Type
;koordinate gdje ce se raketa postavit
x=400
y=500
;postavi zivote
lives=5
;level broj
level=0
;postavljanje broja monstera na pocetku
numaliens=0
;kretanje monstera
aspeed=3
chdir=False
;pojeni
score=0
;postavljanje bufera
SetBuffer BackBuffer()
PlaySound (snd_music)
;postavljanje petlje za forme
While Not KeyDown(1)
If numaliens=0 Then
aspeed=aspeed+1
amx=aspeed
;povecaj broj levela
level=level+1
;generiranje monster
For z=1 To 6
For v=1 To 3
a.alien=New alien
a\x=100+50*z
a\y=120+50*v
Next
Next
EndIf
;brise screen
Cls
;crtanje slike
DrawImage img_raketa,x,y
;pozicija igraca
u=3
If level>2 Then u=5
If KeyDown(203) Then x=x-u
If KeyDown(205) Then x=x+u
;pucanje metka
If KeyHit(57) Then
PlaySound (snd_shoot)
b.bullet =New bullet
b\x=x
b\y=y-5
EndIf
;update i crtanje metaka
For b.bullet =Each bullet
b\y=b\y-5
DrawImage img_metak,b\x,b\y
If b\y<0 Then Delete b
Next
If chdir=True Then
amx=-amx
EndIf
chdir=False
numaliens=0
;updatira i crtaj monster
For a.alien= Each alien
;broj monster
numaliens=numaliens+1
;pokreni alien
a\x=a\x+amx
If a\x>800 Then chdir=True
If a\x< 20 Then chdir=True
;generates bomb
If level>8
If Rand(125)=25 Then
PlaySound(snd_bomb)
bombs.bomb=New bomb
bombs\x=a\x
bombs\y=a\y
EndIf
EndIf
If level>3
If Rand(125)=25 Then
PlaySound(snd_bomb)
bombs.bomb=New bomb
bombs\x=a\x
bombs\y=a\y
EndIf
EndIf
If Rand(150)=25 Then
PlaySound(snd_bomb)
bombs.bomb=New bomb
bombs\x=a\x
bombs\y=a\y
EndIf
DrawImage img_jew,a\x,a\y
;provjera kontakta metka sa monsterom
For b.bullet=Each bullet
If ImagesCollide(img_metak,b\x,b\y,0,img_jew,a\x,a\y,0) Then
PlaySound (snd_exploade)
Delete b
Delete a
score=score+10
If score> highscore Then highscore=score
Exit
EndIf
Next
Next
;update i draw bomb
o=4
If level>7 Then
o=5
EndIf
For bombs.bomb= Each bomb
bombs\y=bombs\y+o
DrawImage img_bomb,bombs\x,bombs\y
If ImagesCollide(img_bomb,bombs\x,bombs\y,0,img_raketa,x,y,0) Then
PlaySound (snd_shiphit)
lives =lives-1
Delete bombs
Else If bombs\y>550 Then
Delete bombs
EndIf
Next
;kraj igre
If lives=0 Then
;spasi highscore
file_score=WriteFile ("score.dat")
WriteInt (file_score,highscore)
CloseFile file_score
Text 400,100,"GAME OVER !!!",1,1
Flip
Delay 3000
End
EndIf
;crtaj zivote
Text 10,550,"ZIVOTI: "+lives
;crtaj pojene
Text 600,550,"UBISTVA: "+score
;crtaj highscore
Text 320,30,"HIGHSCORE: "+highscore
;broj levela
Text 400,550,"LEVEL: "+level,1
;cekaj timer
WaitTimer(timer)
;pozvia draw screen na monitor
Flip
;kraj petlje
Wend
;ceka da se pritisne dugme prije nastavka
WaitKey
;zavrsava program
End
aj nije loše
još malo grafiku doradi, da ne izgleda ko da si u paintu crtal
ako je nešt ovakvo početnik napravio, onda mora da je moćan taj blitzbasic!
pravo dobra stvar za ovakve stvari iako vise volim C/C++/C#
Evo ovako ja koji se malo razumin u programiranje... znan princip i algoritam kako ide ali neznan nijedan jezik nego samo općenito... mogu reć kako je ova igra dosta dobra, malo se potrudiš još oko ovih sličica, grafike i bit će odlično, možda da koju pozadinu ubaciš... Inače zvuikovi i pisma u igri mi se sviđaju i još jedan put da kažen ono stvarno si napravija odličan posa sa ovin. samo naprid :)
Svaka čast na igri,stvarno sve 5...ali imam jedan mali shadow of a doubt,a to je da su sve varijable i instance na engleskom...znam da je to praksa u programiranju,ali numaliens mi zvuči malo previše ko iz neke knjige...ali i da si radio po nekakvom tutorijalu stvarno svaka čast za trud!!