Probleme avec mes vaisseaux ennemis

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Bernie
Messages : 282
Inscription : mar. 22/mars/2016 10:12
Localisation : En France

Probleme avec mes vaisseaux ennemis

Message par Bernie »

Bonjour
je suis entrain de crée un petit jeu , on peux détruire les ennemis et le score s'affiche mon problème c'est que utilisé une liste chainée et je sais pas rajouter quand il y a plus de vaisseaux le texte You WIN
Touche Ctrl gauche pour le tir, et flèche droite et gauche pour le déplacement du vaisseau


Mise à jour :
https://www.dropbox.com/s/52w2g7108lpgkwx/Game.zip?dl=0
Dernière modification par Bernie le sam. 16/avr./2016 10:31, modifié 2 fois.
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: besoin de testeur pour mon petit jeu en cours ...

Message par Ar-S »

Il est trop facile, il faut que la vitesse des ennemis augmente à chaque descente de ligne. Ensuite je n'ai pas remarqué que les ennemis ont un bouclier. Enfin, et c'est le plus problematique, si tu tir une balle, les collisions se font bien, si tu tires plusieurs balles ça fait n'importe quoi coté collision.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Bernie
Messages : 282
Inscription : mar. 22/mars/2016 10:12
Localisation : En France

Re: besoin de testeur pour mon petit jeu en cours ...

Message par Bernie »

Ar-S a écrit :Il est trop facile, il faut que la vitesse des ennemis augmente à chaque descente de ligne. Ensuite je n'ai pas remarqué que les ennemis ont un bouclier. Enfin, et c'est le plus problematique, si tu tir une balle, les collisions se font bien, si tu tires plusieurs balles ça fait n'importe quoi coté collision.

merci de ta réponse mais pour les collisions avec plusieurs balles je sais pas gerer et je sais pas mettre en place quand tous les ennemis sont tués pour dire au joueur qu'il a gagné

dans le tuto de falsam il utilise un tableau , j'utilise une liste chainée pour crée les ennemis

j'ai mis à jour le fichier mais impossible d'afficher le message YOUWIN quand il y a plus d'ennemis
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Probleme avec mes vaisseaux ennemis

Message par falsam »

Bernie a écrit :pour les collisions avec plusieurs balles je sais pas gerer
Ne va pas plus loin tant que tu ne sais pas gérer correctement les collisions.
Bernie a écrit :je sais pas mettre en place quand tous les ennemis sont tués pour dire au joueur qu'il a gagné
Là aussi je pensais que l'exemple que j'avais donné était simple ^^.

Comment gérer ton tir ?

Tu vas commencer par faire un loop de ta liste de balles

Code : Tout sélectionner

ForEach Shoots()
Next
Puis tu vas analyser chaque balle pour voir si elle percute un énnemi.

Ce qui veut dire faire un loop de chaque ennemi pour chaque tir.

Code : Tout sélectionner

ForEach Shoots()
    ForEach Invaders()
       ;Le code de traitement à l'intérieur
    Next
Next
J'espére que tu as compris ce principe.

Afficher YOU WIN (Je me demande si je n'ai pas déja traité ce sujet hier soir ?:p)
Aprés tes collisions, tu testes si la liste des invaders est vide ou pas.
Si vide alors YeahHHHHhhhh You Win :)

Le code maintenant.
Tu remplaces ce qui se trouve entre

Code : Tout sélectionner

;---Il y a t'il collision entre un shoot et un ennemi
...
ExamineKeyboard()
par

Code : Tout sélectionner

;---Il y a t'il collision entre un shoot et un ennemi
  ForEach Shoots()
    ForEach Invaders()
      If ListSize(Shoots())<>0 And ListSize(Invaders()) <> 0 
        
        If SpriteCollision(Invaders()\Sprite,Invaders()\Pos_X,Invaders()\Pos_Y,Shoots()\Sprite,Shoots()\Pos_X,Shoots()\Pos_Y)
          FreeSprite(Shoots()\Sprite)
          DeleteElement(Shoots(),#True)
          Invaders()\Life-1
          Invaders()\Total-1
          If Invaders()\Life=0
            FreeSprite(Invaders()\Sprite)
            DeleteElement(Invaders(),#True)
            PlaySound(#SoundE)
            SoundVolume(#SoundE,30)
            gScore +10
          EndIf
        EndIf
      EndIf
    Next  
  Next
  
  SpriteVariables(gScore,gVies)
  
  If ListSize(Invaders()) = 0
    DisplaySprite(#TextWin, 200, 100)
  EndIf
;- Evenements clavier
  ExamineKeyboard()
Et ça fonctionnera.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Bernie
Messages : 282
Inscription : mar. 22/mars/2016 10:12
Localisation : En France

Re: Probleme avec mes vaisseaux ennemis

Message par Bernie »

Merci falsam de ton aide

j'ai pas bien compris ce que tu veux dire par :

Code : Tout sélectionner

ForEach Shoots()
    ForEach Invaders()
       ;Le code de traitement à l'intérieur
    Next
Next
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Probleme avec mes vaisseaux ennemis

Message par falsam »

Relis à partir de ■ Comment gérer ton tir ?
http://www.purebasic.fr/french/viewtopi ... 17#p182417

Tu as terminé de lire ? Alors lis à nouveau.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Bernie
Messages : 282
Inscription : mar. 22/mars/2016 10:12
Localisation : En France

Re: Probleme avec mes vaisseaux ennemis

Message par Bernie »

falsam a écrit :Relis à partir de ■ Comment gérer ton tir ?
http://www.purebasic.fr/french/viewtopi ... 17#p182417

Tu as terminé de lire ? Alors lis à nouveau.
Merci j'ai compris .
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Probleme avec mes vaisseaux ennemis

Message par falsam »

Bernie a écrit :Merci j'ai compris .
YeahhHHHhhh ^^

Et le code à remplacer fonctionne ? plus de souci de tir ?
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Bernie
Messages : 282
Inscription : mar. 22/mars/2016 10:12
Localisation : En France

Re: Probleme avec mes vaisseaux ennemis

Message par Bernie »

falsam a écrit :
Bernie a écrit :Merci j'ai compris .
YeahhHHHhhh ^^

Et le code à remplacer fonctionne ? plus de souci de tir ?
Non ça marche bien

merci de ton aide
Répondre