voilà mes travaux
Publié : sam. 12/juil./2008 21:22
j'arrette là pour les angles.... fatigué
Dobro pour te dire que tu as été un bon prof ...
je prepare une sorte de flipper et depuis c en ce sens que je bosse..
il y a surement des corrections à faire ....
Dobro pour te dire que tu as été un bon prof ...
je prepare une sorte de flipper et depuis c en ce sens que je bosse..
il y a surement des corrections à faire ....
Code : Tout sélectionner
InitSprite()
InitKeyboard()
InitMouse()
OpenScreen(1024, 768, 32, "squelette ecran")
; 992,736
Structure boule
xb.w
yb.w
; sensx.b
; sensy.b
EndStructure
Dim boule.boule(2)
CreateSprite ( 1,100,100)
StartDrawing ( SpriteOutput (1))
Circle (50, 50, 50, RGB (0,255,0))
StopDrawing ()
CreateSprite ( 2,32,32)
StartDrawing ( SpriteOutput (2))
Circle (16,16,16, RGB (0,0,255))
StopDrawing ()
m=0
boule(1)\xb=(1024-100)/2 : boule(1)\yb=100
diam=120
ang=180: st=1
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
rec:
Repeat
StartDrawing(ScreenOutput())
DrawText(0,0,"Chikun",RGB(125,90,30),RGB(0,0,0))
DrawText(370,0,"clic droit > sortir I clic gauche > shooter",RGB(0,200,100), RGB(0,0,0))
StopDrawing()
boule(2)\xb=mx-16: boule(2)\yb=700
DisplayTransparentSprite(1,boule(1)\xb,boule(1)\yb)
DisplayTransparentSprite(2,boule(2)\xb,boule(2)\yb)
ExamineMouse()
mx=MouseX()
ang=ang+st
If ang>=360 : ang=358 : st=-st
EndIf
If ang<=180 : ang=182 : st=-st
EndIf
dx=diam*Cos(ang*#PI/180)
dy=diam*Sin(ang*#PI/180)
StartDrawing(ScreenOutput())
Line(mx,716,dx,dy,RGB(255,0,0))
StopDrawing()
If MouseButton(1) : Goto feu
EndIf
FlipBuffers()
ClearScreen(RGB(0, 0,0))
Until MouseButton(2)
End
feu:
col=0
For i=1 To 200
boule(2)\xb=boule(2)\xb+16*Cos(ang*#PI/180)
boule(2)\yb=boule(2)\yb+16*Sin(ang*#PI/180)
DisplayTransparentSprite(1,boule(1)\xb,boule(1)\yb)
DisplayTransparentSprite(2,boule(2)\xb,boule(2)\yb)
If col=0 And SpritePixelCollision(1,boule(1)\xb,boule(1)\yb,2,boule(2)\xb,boule(2)\yb)
ang=-ang : col=1
EndIf
FlipBuffers()
ClearScreen(RGB(0, 0,0))
If boule(2)\yb<0 Or boule(2)\yb>736 Or boule(2)\xb<0 Or boule(2)\xb>992: Goto rec
EndIf
;Debug dx : Debug dy
;Delay(2000)
Next i
col=0
Goto rec
End