Jäälleen toinen MAV ongelma
Posted: Tue Dec 10, 2013 10:46 pm
Eli hei,
olen tässä harjoitellut coolbasicciä ja kirjoitin tälläisen pelin:
juu on muute vähä pitkä...
mut ongelma siis on että kun kirjoitin tämän läppärilläni niin suoriutui ilman mitään ongelmia, mutta kun kopioin koodin pöytäkoneelleni (ja luonnollisesti kopioin myös kaikki kuvatiedostot) ja yritän suorittaa sovellusta niin se pyörii jonkin aikaa sujuvasti mutta heittää sitten puskista MAVin...
olen tässä harjoitellut coolbasicciä ja kirjoitin tälläisen pelin:
Code: Select all
SCREEN 1024,600,0,2
tr=LoadObject("data\tr.png")
ttr=LoadObject("data\tr.png")
ShowObject ttr,OFF
tl=LoadObject("data\tl.png")
ShowObject tl,OFF
an=LoadAnimObject("data\an.png",100,100,0,2)
ShowObject an,OFF
ann=LoadAnimObject("data\ann.png",100,100,0,2)
ShowObject ann,OFF
trr=LoadObject("data\trr.png")
ShowObject trr,OFF
bg=LoadImage("data\bg.png")
FrameLimit 60
sl=LoadObject("data\sl.png",36)
gravity=1
og=LoadAnimObject("data\or.png",100,100,0,2)
tnr=LoadFont("times new roman",100)
oog=CloneObject(og)
SetFont tnr
Repeat
oy=-160
ox=560
ooy=-160
oox=-560
lvl=1
x=0
y=0
ShowObject sl,OFF
hit=0
y1=15
y2=0
Repeat
score=lvl-1
Text 10,10,score
TurnObject sl,-10
PositionObject tr,x,y
PositionObject sl,sx,sy
PositionObject og,ox,oy
PositionObject oog,oox,ooy
PlayObject og,0,1,0.1,ON
PlayObject oog,0,1,0.1,ON
If hit=0 Then
sx=x
sy=y
ShowObject sl,OFF
EndIf
DrawImage bg,0,500
If KeyDown(cbkeyright) Then x=x+5
If KeyDown(cbkeyleft) Then x=x-5
If x>512 Then x=512
If x<-512 Then x=-512
If jjump=<2 And KeyHit(cbkeyup) Then
jump=1
jjump=jjump+1
EndIf
If jump=1 Then
gravity=0
If c<15 Then
y=y+y1
c=c+1
y1=y1-1
EndIf
If c=15 Then PaintObject tr,ttr
If c=15 Then jump=0
If c=15 Then gravity=1
If c=15 Then y1=15
If c=15 Then c=0
EndIf
If y=<-160 Then y=-160
If y=-160 Then
jjump=0
y2=0
EndIf
If y>-160 And gravity=1 Then
y=y-y2
y2=y2+1
EndIf
If KeyDown(cbkeyright) Then PaintObject tr,an
If KeyDown(cbkeyleft) Then PaintObject tr,ann
If jjump=<2 and KeyHit(cbkeyup) Then PaintObject tr,trr
If KeyUp(cbkeyright) Then PaintObject tr,ttr
If KeyUp(cbkeyleft) Then PaintObject tr,tl
If KeyDown(cbkeyright) Then PlayObject tr,0,1,0.1,ON
If KeyDown(cbkeyleft) Then PlayObject tr,0,1,0.1,ON
If KeyDown(cbkeyright) Then orientation=0
If KeyDown(cbkeyleft) Then orientation=1
If KeyHit(cbkeyup) Then orientation=2
If KeyDown(cbkeyspace) And hit=0 And orientation=0 Then
hit=1
EndIf
If KeyDown(cbkeyspace) And hit=0 And orientation=1 Then
hit=2
EndIf
If KeyDown(cbkeyspace) And hit=0 And orientation=2 Then
hit=3
EndIf
If hit=1 Then
ShowObject sl,ON
If sx<512 Then
sx=sx+10
EndIf
If sx=>512 Then
ShowObject sl,OFF
hit=0
EndIf
EndIf
If hit=2 Then
ShowObject sl,ON
If sx>-512 Then
sx=sx-10
EndIf
If sx=<-512 Then
ShowObject sl,OFF
hit=0
EndIf
EndIf
If hit=3 Then
ShowObject sl,ON
If sy>-300 Then
sy=sy-10
EndIf
If sy=<-300 Then
ShowObject sl,OFF
hit=0
EndIf
EndIf
If x<ox Then ox=ox-lvl
If x>ox Then ox=ox+lvl
If score=>10 Then
If x>oox Then oox=oox+lvl
If x<oox Then oox=oox-lvl
EndIf
If ox=<x+50 And ox>x-50 And y-50=<oy Then Exit
If ox=<sx+50 And ox>sx-50 And sy-50=<oy Then
ox=560
hit=0
lvl=lvl+1
EndIf
If lvl=>10
If oox=<x+50 And oox>x-50 And y-50=<ooy Then Exit
If oox=<sx+50 And oox>sx-50 And sy-50=<ooy Then
oox=-560
hit=0
lvl=lvl+1
EndIf
EndIf
DrawScreen
Forever
Text 200,10,"You're dead!"
DrawScreen
Wait 1000
WaitKey
Forever
End
mut ongelma siis on että kun kirjoitin tämän läppärilläni niin suoriutui ilman mitään ongelmia, mutta kun kopioin koodin pöytäkoneelleni (ja luonnollisesti kopioin myös kaikki kuvatiedostot) ja yritän suorittaa sovellusta niin se pyörii jonkin aikaa sujuvasti mutta heittää sitten puskista MAVin...
EDIT:
Täältä http://sdrv.ms/1f6CLL1 löytyy kaikki sourcet ja kuvat helpottamaan vian etsintää. Linkissä oleva koodi on tosin paljon erilainen kun yllä laittamani.