IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Programmation multimédia/Jeux Python Discussion :

Space Shooter Python tkinter


Sujet :

Programmation multimédia/Jeux Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Juin 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2021
    Messages : 4
    Par défaut Space Shooter Python tkinter
    Bonsoir,

    Il y a 2 semaines je me suis lancé dans la programmation d'un jeu du type Space Shooter en tkinter. Cependant je me trouve bloqué, en effet je n'arrive pas à faire en sorte de supprimer mon missile et un astéroïde quand les deux rentrent en contact. Cela devrait se faire dans la méthode impact(). J'ai déjà essayé de parcourir la liste des astéroïdes dans celle des missiles mais sans succès pour ma part. Je vous joins mon code et en espérant recevoir de l'aide.

    Cordialement
    MrTyco

    https://codeshare.io/wnd9m7

    PS: les modules que j'importe ne sont pas dans le code ci-dessus, cependant ils permettent juste créer d'importer les images ou encore de créer les cordonnées des astéroïdes.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 743
    Par défaut
    Salut,

    Il faudrait déjà avoir une idée de l'algorithme que vous voulez utilisez pour détecter les collisions. Cet algo. risque de vous forcer à revoir vos structures de données et le code existant (c'est pour çà qu'il faut y réfléchir avant de coder... sinon on ne sait pas trop quoi coder puisqu'on ne sait pas ce qu'on veut).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Juin 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2021
    Messages : 4
    Par défaut
    J'avais pensé au fait que l'on parcours la liste des astéroïdes, et la liste des missiles et si leurs coordonnées sont les mêmes alors on les supprimes, cependant ca ne semble pas fonctionner

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 743
    Par défaut
    Citation Envoyé par MrTyco Voir le message
    cependant ca ne semble pas fonctionner
    Ce que vous racontez, c'est juste une idée. Un algo. c'est un peu plus précis.
    Déjà vous avez un état à l'instant T et la fonction perform_actions qui provoque le passage en T + 1.
    Si les objets sont trop rapides/petits deux objets peuvent se croiser entre les instants T et T+1 tout en restant disjoints lorsqu'on teste s'ils sont ou pas en collision...

    Après si vous voulez "tester", fabriquer un missile qui percute (ou pas) un astéroïde pour voir si çà le fait, c'est pas 250 lignes (et plus) de code à se farcir.

    Côté Canvas tkinter les méthodes .bbox et .find_overlapping pourraient vous être utiles. (ce qui suppose réfléchir à un algo. en fonction de ce que sait déjà faire un Canvas tkinter mais qui n'est peut être pas ce que vous aviez en tête).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Juin 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2021
    Messages : 4
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Côté Canvas tkinter les méthodes .bbox et .find_overlapping pourraient vous être utiles. (ce qui suppose réfléchir à un algo. en fonction de ce que sait déjà faire un Canvas tkinter mais qui n'est peut être pas ce que vous aviez en tête).
    En faisant des recherches, je suis en effet tombé sur .find_overlapping, cependant mes astéroïdes et mes missiles ne sont pas des rectangles, je ne sais pas alors quoi mettre en paramètre dans la méthode

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 743
    Par défaut
    Citation Envoyé par MrTyco Voir le message
    cependant mes astéroïdes et mes missiles ne sont pas des rectangles, je ne sais pas alors quoi mettre en paramètre dans la méthode
    Si les 2 rectangles qui englobent des figures sont disjoints, on sait déjà que les figures ne se recouvrent pas (et qu'il n'y a pas collision).
    Dans le cas contraire, il va falloir "affiner" (par des calculs) pour savoir s'il y a collision ou pas.... et c'est du code à concevoir (un algo.) avant de pouvoir l'écrire.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Class Python Tkinter
    Par Keyve dans le forum Tkinter
    Réponses: 2
    Dernier message: 04/04/2012, 22h06
  2. Python Tkinter graphe
    Par Nifaste dans le forum Tkinter
    Réponses: 17
    Dernier message: 22/12/2009, 11h19
  3. La POO avec python Tkinter
    Par alberth dans le forum Tkinter
    Réponses: 2
    Dernier message: 06/05/2009, 14h53
  4. python, tkinter et les sockets (et les threads)
    Par bomberwaterman dans le forum Réseau/Web
    Réponses: 6
    Dernier message: 02/01/2009, 19h53
  5. Conteneurs en Python Tkinter ?
    Par tuxout dans le forum Tkinter
    Réponses: 2
    Dernier message: 09/04/2007, 18h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo