Jeux de shoot :D
Publié : jeu. 28/oct./2004 17:04
Bonjour donc voila je pars ce soir pendant une semaine en vacance et donc avant de partir je me suis amuser à crée un petit jeux de shoot ( Dis donc le Garzul il chôme pas ) , il est simple et utilise les linkedlist ( pratique ces petite machine ^^ peux plus m'en passer Dobro tu devrait en faire autant
) donc voila il n'est pas finie car je n'ai pas eu le temps mais il faudrait penser à recharger les cartouche quand on clic sur la recharge du haut puis de mettre un test de fin donc voila je vous refile le code vous en faîte ce que vous voulez quand à moi VIVE LES VACANCE
, donc vous pouvez le terminer si vous vous voulez ou l'ameliorer à votre guise , allez @++ tout le forum ( Sniff ) Le code est moche car manque de temps j'ai fait sa à l'arrache en 2 heure ) =====> CODE <=====
PS : Le jeux utilise cette image d'arriere plan , faîte clic droit puis enregistrez sous pour l'avoir =====> IMAGE <===== 



Code : Tout sélectionner
;/*********************************************
;/* \\ Petit jeux marrant // *
;/* \\ Crée par Garzul | 2004 // *
;/* \\JaPBe > 2.4.7.17 || Purebasic > 3.91 // *
;/*********************************************
#Ecran_Largeur = 500 ;Definie la largeur de l'écran
#Ecran_Hauteur = 248 ;Definie la hauteur de l'écran
;Enumeration des constant
Enumeration
#Fond
#Souris
#Cible
#Recharge
#Balle
EndEnumeration
;- On crée la fenêtre.
If OpenWindow(0, 0, 0, #Ecran_Largeur, #Ecran_Hauteur, #PB_Window_BorderLess | #PB_Window_ScreenCentered, "Stand de tir") = 0
End
EndIf
;- On ouvre l'openscreen.
If InitSprite() = 0
MessageRequester("Erreur", "Impossible d'initialiser la souris ,le clavier ou l'écran. Vérifiez la présence de DirectX 7 ou supérieur.", 0 | #MB_IconError)
End
EndIf
If InitKeyboard() = 0
MessageRequester("Erreur", "Impossible d'initialiser le clavier veuillez verifier si il est bien connecter à votre ordinateur.", 0 | #MB_IconError)
End
EndIf
If InitMouse() = 0
MessageRequester("Erreur", "Impossible d'initialiser la souris veuillez verifier si elle est bien connecter à votre ordinateur.", 0 | #MB_IconError)
End
EndIf
If OpenWindowedScreen(WindowID(), 0, 0, #Ecran_Largeur, #Ecran_Hauteur, 1, 0, 0) = 0
MessageRequester("Erreur", "Impossible d'ouvrir l'écran.", 0 | #MB_IconError )
End
EndIf
;-Liste chainer cible et bullet
Recharger = 1
Structure Cible
x.l
y.l
VitesseX.l
VitesseY.l
EndStructure
NewList Sprite.Cible()
For i = 0 To 25
AddElement(Sprite())
Sprite()\x = Random(#Ecran_Largeur)
Sprite()\y = Random(#Ecran_Hauteur)
Sprite()\VitesseX = 7
Sprite()\VitesseY = 7
Next i
Structure Bullet
x.l
y.l
EndStructure
NewList Balle.Bullet()
For i = 10 To 100 Step 10
AddElement(Balle())
Balle()\x = i
Balle()\y = 225
DisplaySprite(#Balle,i,Sprite()\y)
Next i
;-Sprite
;Création des sprite du jeux
CreateSprite(#Souris,40,40,0)
StartDrawing(SpriteOutput(#Souris)) : DrawingMode(4)
LineXY(5,20,35,20,RGB($FF,250,$80))
LineXY(20,0,20,40,RGB($FF,250,$80))
Circle(20,20,10,RGB($EC,$6,$C))
Circle(20,20,20,RGB($EC,$6,$C))
StopDrawing()
CreateSprite(#Cible,30,30,0)
StartDrawing(SpriteOutput(#Cible)) : DrawingMode(4)
Circle(10,10,3,RGB($D9,$DC,$6D))
Circle(10,10,5,RGB($39,$C9,$29))
Circle(10,10,7,RGB($26,$12,$E0))
Circle(10,10,9,RGB($EF,$3,$A))
Circle(10,10,11,RGB($33,$B8,$BF))
StopDrawing()
CreateSprite(#Recharge,30,30,0)
StartDrawing(SpriteOutput(#Recharge)) : DrawingMode(1)
Circle(10,10,10,RGB($D9,$DC,$6D))
StopDrawing()
CreateSprite(#Balle,30,30,0)
StartDrawing(SpriteOutput(#Balle)) : DrawingMode(1)
Box(0,0,5,15,RGB($FF,$4A,$4F))
StopDrawing()
;Chargement des sprite
UseJPEGImageDecoder()
LoadSprite(#Fond,"Fond.jpg")
;-Affichage des cible et bullet
Procedure Affichage()
ForEach Sprite()
If Sprite()\x > #Ecran_Largeur Or Sprite()\x < 0
Sprite()\VitesseX =- Sprite()\VitesseX
EndIf
If Sprite()\y > #Ecran_Hauteur Or Sprite()\y < 0
Sprite()\VitesseY =- Sprite()\VitesseY
EndIf
DisplayTransparentSprite(#Cible,Sprite()\x,Sprite()\y)
Sprite()\x + Sprite()\VitesseX
Sprite()\y + Sprite()\VitesseY
Next
;Bullet
ForEach Balle()
DisplayTransparentSprite(#Balle,Balle()\x ,Balle()\y)
Next
EndProcedure
;*______________________________________*__**__*__**__*__**__*___________________________________________*
;/**************************************** //\\ BOUCLE //\\ *********************************************
;/**************************************** \\//*||**||*\\// *********************************************
;*______________________________________*__**__*__**__*__**__*___________________________________________*
Repeat
Event = WindowEvent()
Delay(5)
ExamineMouse()
x1 = MouseX()-10
y1 = MouseY()-10
DisplaySprite(#Fond,0,0)
Affichage()
DisplayTransparentSprite(#Recharge,x,y)
DisplayTransparentSprite(#Souris,x1,y1)
ForEach Balle()
If MouseButton(1)
DeleteElement(Balle())
EndIf
If CountList(Balle()) = 0
Recharger = 0
EndIf
Next
If Recharger = 0
StartDrawing(ScreenOutput())
FrontColor(250,250,0)
DrawingMode(1)
Locate(210,110)
DrawText("RECHARGER")
StopDrawing()
ForEach Balle()
If SpriteCollision(#Souris , x1 , y1 , #Recharge , x , y) And MouseButton(1)
EndIf
Next
EndIf
If Recharger = 1
ForEach Sprite()
If SpriteCollision(#Souris , x1 , y1 , #Cible , Sprite()\x , Sprite()\y) And MouseButton(1)
DeleteElement(Sprite())
EndIf
Next
EndIf
FlipBuffers() ;Inversion des deux buffer
ClearScreen( 0 , 0 , 0 )
If IsScreenActive() = 0
End
EndIf
;Fin du programme si appuyer sur echap .
ExamineKeyboard()
Until Event = #PB_Event_CloseWindow Or KeyboardPushed(#PB_Key_Escape)