Basic Univers

; ************************************************************
;                   Exemple 1 (sans sprite)
; ************************************************************



; parabole
 OpenWindow(0, 0, 0, 860, 180, 1, "3 secondes, ça vient!")
 StartDrawing(WindowOutput())
 
; coord de départ
 x.f = 10
 y.f = 110
 
 ; vitesses de départ
 vx.f = 10
 vy.f = - 45
                             
 pas.f = 0.05
 
  For i = 1 To 1520
   vy = vy + 10*pas
   x = x + vx*pas
   y = y + vy*pas
   Plot(x + 10, y, 0)
   
   If y>120     ; gestion des rebonds en fonction de la valeur de y
    vy =- vy*0.95 ; chgt de signe de la compo verticale de la vitesse
   EndIf             ;+ amortissement de 5% à chaque rebond

  Next i

 StopDrawing()
 Delay(3000)                         ; affichage de l'image durant trois secondes







; ************************************************************
;                   Exemple 2 (avec sprite)
; ************************************************************
;                   CLIC DROIT POUR QUITTER



; *********** initialisation *********
; coord de départ
X.f = 10
Y.f = 110

; vitesses de départ
vx.f = 10
vy.f = - 45

pas.f = 0.05
; ******************************


InitMouse()


; ******** ** pour le sprite *****************
InitSprite()
; ***************************************



OpenWindow(1, 1, 1, 800, 600, #PB_Window_SystemMenu , "test" ) ; on ouvre une fenetre
OpenWindowedScreen( WindowID(1) , 0, 0, 800, 600, 1, 1, 1) ; on met un ecran dedans !!

; *********** on va creer le sprite !! *****************
CreateSprite(1, 16, 16) ; on cree un sprite de 16*16
StartDrawing( SpriteOutput(1)) ; on va dessiner dedans un rond jaune !
Circle(8, 8, 8, RGB($F1, $F8, $C)) ; le voila le beau rond jaune
StopDrawing()
; ********* le sprite est terminer on va jouer avec !! ******



Repeat ; boucle principale

  Event = WaitWindowEvent() ; on regarde si quelqu'un a cliqué sur la croix pour quitter

  ; ************************** ton prog ici ****************

  For i = 1 To 1520
    ExamineMouse()
    If MouseButton(2) ; le bouton de souris droit fait quitter !
      End
    EndIf

    vy = vy + 10*pas
    X = X + vx*pas
    Y = Y + vy*pas
    DisplaySprite(1, X + 10, Y + 150) ; et voila !
    FlipBuffers() ; <---- ceci pour voir le dessin se faire +Lent !!
    ClearScreen(0, 0, 0) ; <--- ceci efface l'ecran !!

    If Y>120 ; gestion des rebonds en fonction de la valeur de y
      vy =- vy*0.95 ; chgt de signe de la compo verticale de la vitesse
    EndIf ;+ amortissement de 5% à chaque rebond

  Next i
  ; ***************************************************

  ; FlipBuffers() <--- c'est la place normale pour le flipbuffer
  ; ClearScreen(0, 0, 0); <--- c'est la place normale pour le clearscreen !!
Until Event = #PB_Event_CloseWindow