Publié : ven. 08/oct./2004 18:52
Avec plaisir BuCkSh0t
Tien voici le code ( A mes debut mon code etais pas clair ^^ ) :
Voila et pour les image va sur mon site telecharge mon jeux Garzul invader puis met la source dans les medias pour que sa marche
@++

Code : Tout sélectionner
;*****************
;* *
;* GARZUL *
;* *
;* INVADERS *
;*****************
;initialisation des composant
InitSprite()
InitKeyboard()
InitMovie()
InitSound()
;constant
Enumeration
#Vaisseau_ennemie
#Vaisseau_joueur
#Police
#Fondecran
#laser
#musiquefond
#explosion
EndEnumeration
;fin des constant
;random pour le derivement du sprite ennemis
alea = Random(2)
;pour le placement du sprite ennemis
pla = Random(50)
Declare moveplayer()
Declare moveennemie()
Declare lasergo()
Global x
Global y
Global a
Global b
Global vita
Global vitB
Global nom$
Global g
Global h
Global tir
;Taper votre nom
nom$ = InputRequester("Garzul invaders","Bienvenue tapez votre nom pour jouer a garzul invaders" ,"Mettez ici votre nom")
;**************ouverture de l'ecran en windowscreen*****************
Resultat = InitSprite()
FontID = LoadFont(#Police, "arial", 18, #PB_Font_Bold )
EcranX = GetSystemMetrics_(#SM_CXSCREEN):;=largeur de l'ecran
EcranY = GetSystemMetrics_(#SM_CYSCREEN):;=hauteur de l'ecran
WindowID = OpenWindow(1, 0, 0, 768, 500, #PB_Window_SystemMenu|#PB_Window_BorderLess |#PB_Window_ScreenCentered , "Garzul invaders")
WindowID = WindowID(1)
Result = OpenWindowedScreen(WindowID,0,0, 768, 650, 1, 0,0)
;-sprite joueur
CreateSprite(#Vaisseau_joueur,20,20,0)
;variable de score
jouscore = 0
vie = 3
StartDrawing(SpriteOutput(#Vaisseau_joueur)) :
DrawingMode(0)
Box(x, y,10 ,10,RGB($12,$F1,$ED)) :StopDrawing()
;placement du sprite laser
g = 370
h = 620
tir = 0
;placement du sprite joueur au coordonnee
x = 370
y = 620
;placement du sprite ennemie au coordonnee
a = 370
b = 50
c = 370
;vitesse du sprite ennemie
vita = 4
vitB = 4
;-load image pour les sprite
UseJPEGImageDecoder()
;chargement du fond d'ecran
LoadSprite(#Fondecran,"etoile.jpg")
;chargement du vaisseau ennemis
LoadSprite(#Vaisseau_ennemie,"ennemy.bmp")
;chargement du sprite du laser
LoadSprite(#laser,"laser.bmp")
;chargement des sons du jeux
LoadMovie(#musiquefond, "laser.mp3")
LoadSound(#explosion, "explosion.wav")
;***********ici c la boucle ***************
Repeat
event =WindowEvent() :
Delay(5)
;vitesse et deplacement du laser
;vitesse et deplacement de l'ennemie
a + vita
c + vita
b + alea
If c < 2 : vita=-vita : EndIf
If a > 720 : vita=-vita : EndIf
If b > 620 : b = pla : EndIf
;deplacement du joueur
ExamineKeyboard()
If KeyboardPushed(#PB_Key_Right): x + 2
EndIf
If KeyboardPushed(#PB_Key_Left): x - 2
EndIf
ExamineKeyboard()
If KeyboardPushed(#PB_Key_F1)
MessageRequester("AIDE","Détruisez tous les ennemie a tant avant qu'il ne vous détruise en vous fonçant dessus il faut que vous arriviez a 500 point pour gagner et ne perdez pas vos 3 vie sinon vous perdez ,pour cela utiliser les flèche pour vous déplacer et la barre espace pour tirer", #PB_MessageRequester_Ok)
EndIf
ExamineKeyboard()
If KeyboardPushed(#PB_Key_Escape)
MessageRequester("A bientot sur garzul invader","Ce jeux a etais crée par garzul pour envoyer vos recomandation mailer moi a cette adresse garzul@tiscali.fr, A BIENTOT "+LCase(nom$), #PB_MessageRequester_Ok)
End
EndIf
;-************************************la vie**********************************************
If vie = 0
Resultat = MessageRequester("Perdue","Vous n'avez pas atteint vos objectif votre score etaient de , "+ Str(jouscore)+ " Vous avez perdu toute vos vie shouaiter vous recommencez le jeu?", #PB_MessageRequester_YesNo)
If Resultat = 6
vie = 3
jouscore = 0
Else
MessageRequester("A bientot sur garzul invader","Ce jeux a etais crée par garzul pour envoyer vos recomandation mailer moi a cette adresse garzul@tiscali.fr, A BIENTOT "+LCase(nom$), #PB_MessageRequester_Ok)
End
EndIf
EndIf
;-***************************LES COLLISION***********************************************
If SpriteCollision(#laser, g, h, #Vaisseau_ennemie, a, b)
jouscore + 25
tir = 0
h = 620
b = pla
StopMovie()
PlaySound(#explosion , 0)
EndIf
If SpriteCollision(#Vaisseau_ennemie,a,b, #Vaisseau_joueur , x , y)
jouscore - 15
b = pla
vie - 1
EndIf
;***********************************************SCORE***********************************
StartDrawing(ScreenOutput())
DrawingMode(1)
Locate(20,600)
BackColor(0,0,0)
FrontColor($0F,$12,$F0)
DrawText("Score de "+LCase(nom$)+ "= " +Str(jouscore))
StopDrawing()
StartDrawing(ScreenOutput())
DrawingMode(1)
Locate(680,600)
BackColor(0,0,0)
FrontColor($0F,$12,$F0)
DrawText("Vie de "+Str(vie))
StopDrawing()
StartDrawing(ScreenOutput())
DrawingMode(1)
Locate(20,25)
BackColor(0,0,0)
FrontColor($0F,$12,$F0)
DrawText("Aide= F1")
StopDrawing()
StartDrawing(ScreenOutput())
DrawingMode(1)
Locate(630,25)
BackColor(0,0,0)
FrontColor($0F,$12,$F0)
DrawText("Quitter = ECHAP")
StopDrawing()
If jouscore = 500
Result = MessageRequester("Bravo","Votre objectif et atteint vous avez gagnez le jeu avec 500 point bravo , voulez vous recommencez?",#PB_MessageRequester_YesNo)
If Result = 6
vie = 3
jouscore = 0
Else
MessageRequester("A bientot sur garzul invader","Ce jeux a etais crée par garzul pour envoyer vos recomandation mailer moi a cette adresse garzul@tiscali.fr, A BIENTOT "+LCase(nom$), #PB_MessageRequester_Ok)
End
EndIf
EndIf
;****************************************fin score**************************************
;image de fond
;*****************commande d'affichage***************
FlipBuffers()
ClearScreen(0, 0, 0);efface l'ecran
moveplayer()
moveennemie()
lasergo()
;*****************fin commande d'affichage*****************
;placer le sprite
DisplaySprite(#Fondecran,-58,-65) ; !!!!!!!!!!!!! ICI !!!!!!!!!!! ICI !!!!
DisplaySprite(#Vaisseau_joueur,x,y)
DisplayTransparentSprite(#Vaisseau_ennemie,a,b)
TransparentSpriteColor(#Vaisseau_ennemie, $00,$00,$00)
If tir = 1
DisplayTransparentSprite(#laser,g,h)
TransparentSpriteColor(#laser, $00,$00,$00)
h - 5
If h < 0
tir = 0
h = 620
EndIf
EndIf
;***Les Procedure !!!************************
;procedure mo
Until event=#PB_Event_CloseWindow ; voila fini!
;*************uvement joueur
Procedure moveplayer()
If x < 10 : x = 10 : EndIf
If x > 745 : x = 745 : EndIf
EndProcedure
;procedure mouvement ennemie
Procedure moveennemie()
If a < 10 : a = 10 : EndIf
If b > 745 : b = 745 : EndIf
EndProcedure
;procedure lancement du laser
Procedure lasergo()
ExamineKeyboard()
If KeyboardPushed(#PB_Key_Space) And tir = 0
PlayMovie(#musiquefond, FenetreID)
g = x
tir = 1
EndIf
EndProcedure
