Mun pelissä on jotain vikaa: siinä ei tule poimimista jos robo menee kohtaan, jossa on pallo. Mikä vikana?
Code: Select all
//Include "päävalikko.cb"
Const PAINOVOIMA = -0.5
yPlus#=0
SCREEN 1024,768,0
SetWindow "PELINNIMI"
FrameLimit 40
peli:
kentta1=LoadMap("map123.til","tileset.bmp")
PositionObject kentta1,2300,-400
PlayObject kentta1,0,0,0.5
oikea=LoadAnimObject("oikeellerobo.bmp",55,55,0,10)
MaskObject oikea,cbMagenta
ShowObject oikea,OFF
ObjectRange oikea,30,51
vasen=LoadAnimObject("vasemmallerobo.bmp",55,55,0,10)
MaskObject vasen,cbMagenta
ShowObject vasen,OFF
ObjectRange vasen,30,51
robo=CloneObject(oikea)
SetupCollision robo,kentta1,1,4,2
ObjectRange robo,30,51
pallo=LoadObject ("pallo.bmp")
ShowObject pallo,OFF
Dim taulukko (1,39) As integer
taulukko (0,0) = 125 : taulukko (1,0) = -80
taulukko (0,1) = 1290 : taulukko (1,1) = 210
taulukko (0,2) = 1305 : taulukko (1,2) = -785
taulukko (0,3) = 1630 : taulukko (1,3) = -785
taulukko (0,4) = 2105 : taulukko (1,4) = -495
taulukko (0,5) = 2900 : taulukko (1,5) = -400
taulukko (0,6) = 2370 : taulukko (1,6) = -112
taulukko (0,7) = 3645 : taulukko (1,7) = -240
taulukko (0,8) = 3675 : taulukko (1,8) = -240
taulukko (0,9) = 2705 : taulukko (1,9) = -240
taulukko (0,10) = 3135 : taulukko (1,10) = -910
taulukko (0,11) = 3965 : taulukko (1,11) = -910
taulukko (0,12) = 3965 : taulukko (1,12) = -690
taulukko (0,13) = 2965 : taulukko (1,13) = -590
taulukko (0,14) = 3135 : taulukko (1,14) = -690
taulukko (0,15) = 3135 : taulukko (1,15) = -590
taulukko (0,16) = 3130 : taulukko (1,16) = 50
taulukko (0,17) = 4315 : taulukko(1,17) = 245
taulukko (0,18) = 4600 : taulukko (1,18) = 210
taulukko (0,19) = 4475 : taulukko (1,19) = 110
taulukko (0,20) = 4475 : taulukko (1,20) = -80
taulukko (0,21) = 4540 : taulukko (1,21) = 112
taulukko (0,22) = 4540 : taulukko (1,22) = -80
taulukko (0,23) = 4285 : taulukko (1,23) = -175
taulukko (0,24) = 4795 : taulukko (1,24) = -175
taulukko (0,25) = 4285 : taulukko (1,25) = -365
taulukko (0,26) = 4800 : taulukko (1,26) = -365
taulukko (0,27) = 4090 : taulukko (1,27) = -975
taulukko (0,28) = 4540 : taulukko (1,28) = -975
taulukko (0,29) = 1630 : taulukko (1,29) = 145
taulukko (0,30) = 1310 : taulukko (1,30) = 560
taulukko (0,31) = 2650 : taulukko (1,31) = 625
taulukko (0,32) = 2875 : taulukko (1,32) = 720
taulukko (0,33) = 2875 : taulukko (1,33) = 525
taulukko (0,34) = 2490 : taulukko (1,34) = 365
taulukko (0,35) = 1415 : taulukko (1,35) = -60
taulukko (0,36) = 2145 : taulukko (1,36) = 112
taulukko (0,37) = 4980 : taulukko (1,37) = -970
taulukko (0,38) = 1275 : taulukko (1,38) = 10
taulukko (0,39) = 1690 : taulukko (1,39) = 112
Type keräys
Field obj
EndType
For i= 0 To 39
obj= CloneObject (pallo)
PositionObject obj, taulukko(0,i), taulukko(1,i)
ShowObject obj,ON
Next i
Repeat
If ObjectsOverlap (obj,robo,2) Then DeleteObject obj
vauhti=0
If RightKey() Then
PaintObject robo,oikea
If maassa Then PlayObject robo,2,11,0.25
vauhti=6
ElseIf LeftKey() Then
PaintObject robo,vasen
If maassa Then PlayObject robo,2,11,0.25
vauhti=-6
Else
PlayObject robo,0
EndIf
TranslateObject robo,vauhti,yPlus#
yPlus=yPlus+PAINOVOIMA
UpdateGame
CloneCameraPosition robo
maassa=0
törmäykset=CountCollisions(robo)
For i=1 To törmäykset
If GetCollision(robo,i)=kentta1
If CollisionAngle(robo,i)=90 Then
yPlus#=-1
maassa=1
EndIf
If CollisionAngle(robo,i)=270 Then
yPlus#=-1
EndIf
EndIf
Next i
If törmäykset=0 Then PlayObject robo,12,0
If UpKey() And maassa Then
yPlus#=13
EndIf
If GetMap(3,ObjectX(robo),ObjectY(robo))=2 Then End
If GetMap(3,ObjectX(robo),ObjectY(robo))=1 Then End
DrawScreen
Until EscapeKey()