screensaver

Programmation avancée de jeux en PureBasic
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

screensaver

Message par garzul »

Bon dsl de cree un topic pour sa mais bon je me servirai de lui pour mettre mes petit truc donc voila j'ai fait un petit ecran de veille que tout le mànde pourrait faire mais bon moi c'est une exception lol dnc voici le premier ps : (laissez le tourner au debut sa fait une jolie figure et apres cliquer a vec le clik de la souris :) sa c le premier qui et pas trop beau:

Code : Tout sélectionner

;*********************
;*     Ecran de      *
;*      veille       *
;*********************

;************Initialisation des composant *************************************

InitSprite() 
InitKeyboard()
InitMouse() 

;************Constant les enumeration******************************************
Enumeration
#Police
#Ball
#Ball2
EndEnumeration


;**********************Declaration des procedure*******************************

Declare rat1()
Declare rat2()

;**********************Variable globale****************************************

Global vita,vitb

;****************affichage de la fenetre***************************************

OpenScreen(640,480,32,"Screensaver") 


;**********************Creation des variable************************************

;Pour la position du sprite1
x = 500
y = 400

;vitesse du sprite1
vit1 = 2
vit2 = 2


;Pour la position du sprite2
a = 20
y = 200

;Vitesse du sprite2
vita = 4
vitb = 4


;**********************Creation des sprite**************************************

CreateSprite(#Ball, 20, 20 )    :; 
StartDrawing(SpriteOutput(#Ball)) :
DrawingMode(0) 
Circle(0, 0, 40,RGB(Random(255),Random(242),Random(185))) : 
StopDrawing() 

CreateSprite(#Ball2, 20, 20 )    :; 
StartDrawing(SpriteOutput(#Ball2)) :
DrawingMode(0) 
Circle(0, 0, 40,RGB(Random(255),Random(242),Random(185))) : 
StopDrawing() 



;******************LA BOUCLE ***************************************************

Repeat

;Vitesse du sprite 1
x + vit1
y + vit2

If x > 620 : vit1=-vit1 : EndIf
If x < 2  : vit1=-vit1 : EndIf

If y > 460  : vit2=-vit2 : EndIf
If y < 2 : vit2=-vit2 : EndIf

DisplaySprite(#Ball,x,y)

;******************SPRITE 2*****************************************************

a + vita
b + vitb

If a > 620 : vita=-vita : EndIf
If a < 2  : vita=-vita : EndIf

If b > 460  : vitb=-vitb : EndIf
If b < 2 : vitb=-vitb : EndIf


DisplaySprite(#Ball2,a,b)



;**********************affichage du texte***************************************


StartDrawing(ScreenOutput())
DrawText("Cliquer sur le bouton 1 de votre souris ou laissez tourner le programme")
Locate(620,20)
DrawingMode(4)
FrontColor(Random(255),Random(242),Random(185))
StopDrawing()


;**********************Affichage des sprite*************************************

rat1()
rat2()
FlipBuffers()


;**********************LA FIN DU PROGRAMME**************************************   
ExamineKeyboard()
Until  KeyboardPushed(#PB_Key_Escape)


;**********************LES PROCEDURE********************************************  

;*******Souris*******

Procedure rat1()
ExamineMouse() 
If MouseButton(1)
vita + 1
EndIf
EndProcedure

Procedure rat2()
ExamineKeyboard()
If KeyboardReleased(#PB_key_up)
vit1 + 5
EndIf
EndProcedure

Alors par contre je tien a dire que j'ai fait un gros effort sur la presentation du code qui et claire et donc voici l'autre code sans le clearscreen(0,0,0)

Code : Tout sélectionner

;*********************
;*     Ecran de      *
;*      veille       *
;*********************

;************Initialisation des composant *************************************

InitSprite() 
InitKeyboard()
InitMouse() 

;************Constant les enumeration******************************************
Enumeration
#Police
#Ball
#Ball2
EndEnumeration


;**********************Declaration des procedure*******************************

Declare rat1()
Declare rat2()

;**********************Variable globale****************************************

Global vita,vitb

;****************affichage de la fenetre***************************************

OpenScreen(640,480,32,"Screensaver") 


;**********************Creation des variable************************************

;Pour la position du sprite1
x = 500
y = 400

;vitesse du sprite1
vit1 = 2
vit2 = 2


;Pour la position du sprite2
a = 20
y = 200

;Vitesse du sprite2
vita = 4
vitb = 4


;**********************Creation des sprite**************************************

CreateSprite(#Ball, 20, 20 )    :; 
StartDrawing(SpriteOutput(#Ball)) :
DrawingMode(0) 
Circle(0, 0, 40,RGB(Random(255),Random(242),Random(185))) : 
StopDrawing() 

CreateSprite(#Ball2, 20, 20 )    :; 
StartDrawing(SpriteOutput(#Ball2)) :
DrawingMode(0) 
Circle(0, 0, 40,RGB(Random(255),Random(242),Random(185))) : 
StopDrawing() 



;******************LA BOUCLE ***************************************************

Repeat

;Vitesse du sprite 1
x + vit1
y + vit2

If x > 620 : vit1=-vit1 : EndIf
If x < 2  : vit1=-vit1 : EndIf

If y > 460  : vit2=-vit2 : EndIf
If y < 2 : vit2=-vit2 : EndIf

DisplaySprite(#Ball,x,y)

;******************SPRITE 2*****************************************************

a + vita
b + vitb

If a > 620 : vita=-vita : EndIf
If a < 2  : vita=-vita : EndIf

If b > 460  : vitb=-vitb : EndIf
If b < 2 : vitb=-vitb : EndIf


DisplaySprite(#Ball2,a,b)



;**********************affichage du texte***************************************


StartDrawing(ScreenOutput())
DrawText("Cliquer sur le bouton 1 de votre souris ou laissez tourner le programme")
Locate(620,20)
DrawingMode(4)
FrontColor(Random(255),Random(242),Random(185))
StopDrawing()


;**********************Affichage des sprite*************************************

rat1()
rat2()
FlipBuffers()
ClearScreen(0,0,0)

;**********************LA FIN DU PROGRAMME**************************************   
ExamineKeyboard()
Until  KeyboardPushed(#PB_Key_Escape)


;**********************LES PROCEDURE********************************************  

;*******Souris*******

Procedure rat1()
ExamineMouse() 
If MouseButton(1)
vita + 1
EndIf
EndProcedure

Procedure rat2()
ExamineKeyboard()
If KeyboardReleased(#PB_key_up)
vit1 + 5
EndIf
EndProcedure
Et voila j'ai finie bon c'est peut etre basique mais bon moi je trouve que sa fait une figure (le premier code ) Pas vous?

Bon je vous embéte pas plus @++ :D