Page 1 sur 1

Besoin d'un conseil pour un bout de code

Publié : jeu. 19/mai/2016 16:54
par Bernie
Bonjour
ce que je veux faire dans son jeu quand ça affiche le texte Game Over
on appuie sur la touche R( par exemple) pour relancer le jeu
j'ai écris ce bout de code mais voilà est ce que je rajoute l'appuie de l'a touche dans la condition ou bien je l'a mais à part dans un autre condtion ? Merci

Code : Tout sélectionner

If GameOver=#True
      DisplayTransparentSprite(#TextGameOver,95,210)
    EndIf
Ou

Code : Tout sélectionner

If GameOver=#True
      DisplayTransparentSprite(#TextGameOver,95,210)
if keyboardPushed....
game=#true
endif     
EndIf

Ps: si je veux effacer le sprite des invaders pour laisser le message Game over je vais comment? si je fait

Code : Tout sélectionner

Freesprite(#Inavder)
ou

Code : Tout sélectionner

Freesprite(invaders()\sprite) 
ça plante ..

Re: Besoin d'un conseil pour un bout de code

Publié : jeu. 19/mai/2016 18:12
par TazNormand
Ton test clavier doit se trouver DANS le test de GameOver, il n'a pas d'intérêt ailleurs, étant donné que la partie n'est justement pas terminée.

Concernant l'effacement des Sprites, FreeSprite() n'efface pas à l'écran, mais libère la mémoire allouée au sprite, détruit le sprite en mémoire si tu préfères.
Si tu veux effacer l'écran, soit tu fais un ClearScreen(), et et réaffiche ce dont tu as besoin, soit tu affiches un sprite "noir" par dessus tous tes sprites "invaders", mais le clearscreen est plus propre à mon sens.

voilà

Re: Besoin d'un conseil pour un bout de code

Publié : jeu. 19/mai/2016 18:59
par Bernie
merci taz
mais si je mets un ClearScreen() j'ai plus mon Background , ni mon scrolling étoilé ni mon score .

Re: Besoin d'un conseil pour un bout de code

Publié : jeu. 19/mai/2016 23:15
par Ar-S
En résumé et schematiquement

Code : Tout sélectionner

Repeat
  ClearScreen()
  
  If GAMEOVER = 1
    PARTIE = 0
    TU AFFICHES GAME OVER
    
    If PRESS R
      PARTIE = 1
    EndIf
    
  ElseIf PARTIE = 1
    GAMEOVER = 0
    
    TU REINITIALISES TES DONNES (vies, scores etc)
    TU AFFICHES TES VAISSEAUX LA PARTIE COMMENCE
    
  EndIf
  
  Flipbuffer()
Until blabla

Re: Besoin d'un conseil pour un bout de code

Publié : ven. 20/mai/2016 6:32
par Bernie
Merci Ar-S

j'ai un autre probleme :
si je mets PlaySound(#Music ,#PB_Sound_Loop ,30) hors de ma boucle principale j'ai la musique au lancement du jeu
mets si je fais gameover j'appuie sur la touche R je reviens au début avec le titre mais pas la musique
comment faire pour que la musique joue dans ma boucle ?

Code : Tout sélectionner

 If DebutJeu = #False
    ;--- On joue la musique 
    PlaySound(#Music ,#PB_Sound_Loop ,30)