Code:
If InitSprite() And InitMouse() And InitKeyboard()
Else
MessageRequester("Erreur", "InitSprite() And InitMouse() And InitKeyboard() : impossible")
End
EndIf
OpenScreen(1024,768,32,"CasseBriques")
lenx=32
leny=16
;;;;;;;;;;;; dessins de la balle, de la raquette et des briques ;;;;;;;;;;;;;
GrabSprite(0,0,0,1,1) ; pas de brique
StartDrawing(ScreenOutput())
Circle(4,4,4,RGB(255,255,255))
StopDrawing()
GrabSprite(254,0,0,9,9); notre balle
ClearScreen(0)
StartDrawing(ScreenOutput())
Box(0,0,lenx,leny,RGB(255,255,255))
Box(1,1,lenx-1,leny-1,RGB(5,5,5))
Box(1,1,lenx-2,leny-2,RGB(150,150,150))
Box(2,2,lenx-3,leny-3,RGB(70,70,70))
Box(2,2,lenx-4,leny-4,0)
StopDrawing()
GrabSprite(256,0,0,lenx,leny); le cadre des briques
StartDrawing(ScreenOutput())
For i=0 To leny
LineXY(0,i,100,i,RGB(i*8,100+i*5,255))
Next
StopDrawing()
GrabSprite(255,0,0,100,leny); notre raquette
StartDrawing(ScreenOutput())
For i=0 To leny
LineXY(0,i,lenx,i,RGB(255-i*10,i*5,0))
Next
StopDrawing()
DisplayTranslucentSprite(256,0,0,127)
GrabSprite(1,0,0,lenx,leny); brique 1
StartDrawing(ScreenOutput())
For i=0 To leny
LineXY(0,i,lenx,i,RGB(0,255-i*10,i*5))
Next
StopDrawing()
DisplayTranslucentSprite(256,0,0,127)
GrabSprite(2,0,0,lenx,leny); brique 2
StartDrawing(ScreenOutput())
For i=0 To leny
LineXY(0,i,lenx,i,RGB(i*5,0,255-i*10))
Next
StopDrawing()
DisplayTranslucentSprite(256,0,0,127)
GrabSprite(3,0,0,lenx,leny); brique 3
StartDrawing(ScreenOutput())
For i=0 To leny
LineXY(0,i,lenx,i,RGB(255-i*11,255-i*11,i*8))
Next
StopDrawing()
DisplayTranslucentSprite(256,0,0,127)
GrabSprite(4,0,0,lenx,leny); brique 4
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;; la map ;;;;;;;;;;;;;;;;
cmbx=1024/lenx
cmby=550/leny
Dim briques(cmbx,cmby)
For u=0 To cmby
For i=0 To cmbx
briques(i,u)=Random(4)
Next
Next
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
bx.f
by.f
bxf.f=-2.3
byf.f=-2
; ##########################
; ########Boucle du jeu #########
; ##########################
Repeat
ClearScreen(0)
For u=0 To cmby
For i=0 To cmbx
DisplaySprite(briques(i,u),i*lenx,u*leny)
Next
Next
ExamineMouse()
Mb_Left=MouseButton(#PB_MouseButton_Left)
mx=MouseX()-50
DisplaySprite(255,mx,728)
If ok=0
DisplaySprite(254,mx+25,716)
If Mb_Left
ok=1
bx=mx+25
by=716
EndIf
Else
bx+bxf
by+byf
If bx<0 Or bx>1012
bxf*-1
bx+bxf
EndIf
If by<0
byf*-1
by+byf
EndIf
DisplayTransparentSprite(254,bx,by)
EndIf
FlipBuffers()
ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape)