Re: Invaders 2016
Publié : dim. 12/juin/2016 10:19
Tous comme les munitions que tu n'avais pas réinitialisées quand tu reviens dans ton case 0, tu ne réinitialises pas le nombre de vies des ennemis.
Tu as une procédure qui se nomme InitGame() dans laquelle tu initialises tes ennemis. Je te propose d'ajouter la modification que je t'ai donné précédemment c'est à dire un ClearList(shoot())
Dans ton case 0 on supprime ClearList(shoot()) et on ajoute InitGame().
■ la portion de code de ton case 0
■ Le code de ta procédure InitGame()
Tu as une procédure qui se nomme InitGame() dans laquelle tu initialises tes ennemis. Je te propose d'ajouter la modification que je t'ai donné précédemment c'est à dire un ClearList(shoot())
Dans ton case 0 on supprime ClearList(shoot()) et on ajoute InitGame().
■ la portion de code de ton case 0
Code : Tout sélectionner
Case 0 ; Intro du jeu
;--- On joue la musique
If JoueMusique=#False
PlaySound(#Music, #PB_Sound_Loop)
SoundVolume(#Music,30)
JoueMusique = #True
EndIf
Intro_Game()
;Si on appuie sur Espace on lance le jeu
If KeyboardPushed(#PB_Key_Space)
StopSound(#Music)
InitGame()
gScenes =1
EndIf
Code : Tout sélectionner
Procedure InitGame()
;--- Création du vaisseau
Ship\PosX=350
Ship\PosY=500
gMunitions=10
;--- Création des invaders sur 3 rangées et 5 colonnes soit au total 15 invaders
ClearList(Invader())
For gRow = 1 To 3
For gCol =1 To 5
AddElement(Invader())
With Invader()
\Sprite = CopySprite(#Invader,#PB_Any)
\PosX=gCol *120
\PosY= gRow*60
\Life=5
\Total = 15
EndWith
Next
Next
;--- Reset des tirs résiduel (Meme si il y a en a pas lors de la premiere partie)
ClearList(shoot())
EndProcedure