voici Mange tout
Publié : ven. 05/mars/2004 20:23
je vous presente ces quelques lignes de code qui vous donnera des idées pour vos future programmes
une fois le programme lancé il suffit de faire des cliques gauche de la souris pour mettre une petite balle là ou on veut puis pour tout arreter touche echappe
une fois le programme lancé il suffit de faire des cliques gauche de la souris pour mettre une petite balle là ou on veut puis pour tout arreter touche echappe
Code : Tout sélectionner
;================================
;= Mange tout =
;= le Lundi 1er Mars 2004 =
;= Pascal dumas =
;================================
#ENUM_CURRENT_SETTINGS = -1
#ENUM_REGISTRY_SETTINGS = -2
DefType.DEVMODE dm
EnumDisplaySettings_ (#NULL, #ENUM_CURRENT_SETTINGS, @dm)
Largeur=(dm\dmPelsWidth)
Hauteur=(dm\dmPelsHeight)
Mouss_x.w
Mouss_y.w
nb.w=200;nb de balles
nbd.w=0
Dim ball_x.w(nb)
Dim ball_y.w(nb)
Dim Tball_x.w(nb)
Dim Tball_y.w(nb)
Dim dir_x.b(nb)
Dim dir_y.b(nb)
Dim c_r.w(nb)
Dim c_g.w(nb)
Dim c_b.w(nb)
#wMem=0
Global Mem.l
Mem = AllocateMemory(#wMem,1280,0)
Procedure.l DesktopOutput()
PokeL(Mem, 1)
ProcedureReturn Mem
EndProcedure
If OpenWindow(1, 0, 0, 0, 0, #PB_Window_Invisible, "");là je suis obligé de mettre une fenettre car sinon il ne trouve pas la souris
EndIf
Delay(2000)
beep_(1800,80)
Repeat
If GetAsyncKeyState_(#VK_LBUTTON) And nbd<nb;ou #VK_LBUTTON ou #VK_RBUTTON si vous voulez utiliser un autre bouton
While GetAsyncKeyState_(#VK_LBUTTON) :Wend
nbd=nbd+1
ball_x(nbd)=WindowMouseX()
ball_y(nbd)=WindowMouseY()
If ball_x(nbd)<5
ball_x(nbd)=ball_x(nbd)+5
EndIf
If ball_x(nbd)>(Largeur-5)
ball_x(nbd)=ball_x(nbd)-5
EndIf
If ball_y(nbd)<5
ball_y(nbd)=ball_y(nbd)+5
EndIf
If ball_y(nbd)>(Hauteur-5)
ball_y(nbd)=ball_y(nbd)-5
EndIf
Tball_x(nbd)=ball_x(i)
Tball_y(nbd)=ball_y(i)
dir_x(nbd)=Random(1)+1
dir_y(nbd)=Random(1)+1
c_r(nbd)=Random(254)+1
c_g(nbd)=Random(254)+1
c_b(nbd)=Random(254)+1
If c_r(nbd)<150 And c_g(i)<150 And c_b(i)<150
c_r(nbd)=Random(100)+154
c_g(nbd)=Random(100)+154
c_b(nbd)=Random(100)+154
EndIf
EndIf
StartDrawing(DesktopOutput())
For i=1 To nbd
If dir_x(i)=1
ball_x(i)=ball_x(i)-1;(1+(Random(20)/20))
If ball_x(i)<2
ball_x=ball_x+1
dir_x(i)=2
Goto aff
EndIf
If Point(ball_x(i)-1, ball_y(i))>1 Or Point(ball_x(i)-1, ball_y(i)-1)>1 Or Point(ball_x(i)-1, ball_y(i)+1)>1
Plot(ball_x(i)-1, ball_y(i),RGB($00,$00,$00))
Plot(ball_x(i)-1, ball_y(i)-1,RGB($00,$00,$00))
Plot(ball_x(i)-1, ball_y(i)+1,RGB($00,$00,$00))
Plot(ball_x(i)-2, ball_y(i)-1,RGB($00,$00,$00))
Plot(ball_x(i)-2, ball_y(i)+1,RGB($00,$00,$00))
Plot(ball_x(i)-2, ball_y(i),RGB($00,$00,$00))
Plot(ball_x(i)-3, ball_y(i)-1,RGB($00,$00,$00))
Plot(ball_x(i)-3, ball_y(i)+1,RGB($00,$00,$00))
Plot(ball_x(i)-3, ball_y(i),RGB($00,$00,$00))
dir_x(i)=2
If dir_y(i)=1
ball_y(i)=ball_y(i)-1
EndIf
Goto affy
EndIf
EndIf
If dir_x(i)=2
ball_x(i)=ball_x(i)+1
If ball_x(i)>(Largeur)-3
ball_x=ball_x-1
dir_x(i)=1
Goto aff
EndIf
If Point(ball_x(i)+1, ball_y(i))>1 Or Point(ball_x(i)+1, ball_y(i)-1) Or Point(ball_x(i)+1, ball_y(i)+1)
Plot(ball_x(i)+1, ball_y(i),RGB($00,$00,$00))
Plot(ball_x(i)+1, ball_y(i)-1,RGB($00,$00,$00))
Plot(ball_x(i)+1, ball_y(i)+1,RGB($00,$00,$00))
Plot(ball_x(i)+2, ball_y(i)-1,RGB($00,$00,$00))
Plot(ball_x(i)+2, ball_y(i)+1,RGB($00,$00,$00))
Plot(ball_x(i)+2, ball_y(i),RGB($00,$00,$00))
Plot(ball_x(i)+3, ball_y(i)-1,RGB($00,$00,$00))
Plot(ball_x(i)+3, ball_y(i)+1,RGB($00,$00,$00))
Plot(ball_x(i)+3, ball_y(i),RGB($00,$00,$00))
dir_x(i)=1
If dir_y(i)=2
ball_y(i)=ball_y(i)+1
EndIf
Goto aff
EndIf
EndIf
affy:
If dir_y(i)=1
ball_y(i)=ball_y(i)-1
If ball_y(i)<5
dir_y(i)=2
Goto aff
EndIf
If Point(ball_x(i), ball_y(i)-2)>1 Or Point(ball_x(i)-1, ball_y(i)-2)>1 Or Point(ball_x(i)+1, ball_y(i)-2)>1
Plot(ball_x(i), ball_y(i)-2,RGB($00,$00,$00))
Plot(ball_x(i)-1, ball_y(i)-2,RGB($00,$00,$00))
Plot(ball_x(i)+1, ball_y(i)-2,RGB($00,$00,$00))
Plot(ball_x(i)-1, ball_y(i)-3,RGB($00,$00,$00))
Plot(ball_x(i)+1, ball_y(i)-3,RGB($00,$00,$00))
Plot(ball_x(i), ball_y(i)-3,RGB($00,$00,$00))
Plot(ball_x(i)-1, ball_y(i)-4,RGB($00,$00,$00))
Plot(ball_x(i)+1, ball_y(i)-4,RGB($00,$00,$00))
Plot(ball_x(i), ball_y(i)-4,RGB($00,$00,$00))
dir_y(i)=2
EndIf
Goto aff
EndIf
If dir_y(i)=2
ball_y(i)=ball_y(i)+1
If ball_y(i)>(hauteur)-4
dir_y(i)=1
Goto aff
EndIf
If Point(ball_x(i), ball_y(i)+2)>1 Or Point(ball_x(i)-1, ball_y(i)+2)>1 Or Point(ball_x(i)+1, ball_y(i)+2)>1
Plot(ball_x(i), ball_y(i)+2,RGB($00,$00,$00))
Plot(ball_x(i)-1, ball_y(i)+2,RGB($00,$00,$00))
Plot(ball_x(i)+1, ball_y(i)+2,RGB($00,$00,$00))
Plot(ball_x(i)-1, ball_y(i)+3,RGB($00,$00,$00))
Plot(ball_x(i)+1, ball_y(i)+3,RGB($00,$00,$00))
Plot(ball_x(i), ball_y(i)+3,RGB($00,$00,$00))
Plot(ball_x(i)-1, ball_y(i)+4,RGB($00,$00,$00))
Plot(ball_x(i)+1, ball_y(i)+4,RGB($00,$00,$00))
Plot(ball_x(i), ball_y(i)+4,RGB($00,$00,$00))
dir_y(i)=1
EndIf
EndIf
aff:
Plot(Tball_x(i), Tball_y(i),RGB($00,$00,$00))
Plot(Tball_x(i), Tball_y(i)+1,RGB($00,$00,$00))
Plot(Tball_x(i), Tball_y(i)-1,RGB($00,$00,$00))
Plot(Tball_x(i)+1, Tball_y(i)+1,RGB($00,$00,$00))
Plot(Tball_x(i)+1, Tball_y(i),RGB($00,$00,$00))
Plot(Tball_x(i)+1, Tball_y(i)-1,RGB($00,$00,$00))
Plot(Tball_x(i)-1, Tball_y(i)+1,RGB($00,$00,$00))
Plot(Tball_x(i)-1, Tball_y(i)-1,RGB($00,$00,$00))
Plot(Tball_x(i)-1, Tball_y(i),RGB($00,$00,$00))
Plot(ball_x(i), ball_y(i),RGB(c_r(i),c_g(i),c_b(i)))
Plot(ball_x(i), ball_y(i)+1,RGB(c_r(i),c_g(i),c_b(i)))
Plot(ball_x(i), ball_y(i)-1,RGB(c_r(i),c_g(i),c_b(i)))
Plot(ball_x(i)+1, ball_y(i),RGB(c_r(i),c_g(i),c_b(i)))
Plot(ball_x(i)+1, ball_y(i)+1,RGB(c_r(i),c_g(i),c_b(i)))
Plot(ball_x(i)+1, ball_y(i)-1,RGB(c_r(i),c_g(i),c_b(i)))
Plot(ball_x(i)-1, ball_y(i)+1,RGB(c_r(i),c_g(i),c_b(i)))
Plot(ball_x(i)-1, ball_y(i)-1,RGB(c_r(i),c_g(i),c_b(i)))
Plot(ball_x(i)-1, ball_y(i),RGB(c_r(i),c_g(i),c_b(i)))
Tball_x(i)=ball_x(i)
Tball_y(i)=ball_y(i)
Next i
StopDrawing()
If nbd<45
Delay(5)
Else
Delay(1)
EndIf
If GetAsyncKeyState_(#VK_ESCAPE)
End
EndIf
Until EventID=#PB_Event_CloseWindow
End
[/quote][/quote]