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 :

Besoin d'un Coup de main : Pygame [Python 3.X]


Sujet :

Programmation multimédia/Jeux Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    En Art
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : En Art
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Par défaut Besoin d'un Coup de main : Pygame
    Bonjour.

    Je viens de commencer à toucher à Pygame et je dois avouer que les divers tips que j'ai trouvé sur internet jusqu'a présent était soit pas assez clairs, soit trop complexes pour mon niveau, j'aurrai donc besoin d'un petit coup de pouce.
    Je développe un petit jeu ou il faut proteger une ville de tirs à l'aide d'un drone. Je cherche à faire en sorte que :
    -Le drone puisse bouger de gauche à droite
    -Les tirs partent de sous le vaisseau et de façon aléatoire
    -Si les tirs rencontrent le drone, ils disparaissent
    -Si les tirs touchent la ville, c'est Game Over

    Voici mon programme jusqu'a présent :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    import pygame
    from pygame.locals import *
    import random
    continuer=1
    pygame.init()
     
    fenetre=pygame.display.set_mode((650,800))
    pygame.display.set_caption("Protegez la Ville : Utilisez les fleches pour dirriger le drone.")
     
    ville=pygame.image.load("ville.jpg").convert()
    laser=pygame.image.load("laser.jpg").convert()
    drone=pygame.image.load("drone.jpg").convert()
    fenetre.blit(ville,(0,0))
    pygame.display.flip()
     
     
    while continuer:
        fenetre.blit(ville,(0,0))
        fenetre.blit(drone,(275,650))
        for event in pygame.event.get():
            if event.type==QUIT:
                continuer=0
     
        pygame.display.update()
     
    pygame.quit()
    Et les images que je souhaite utiliser :
    http://image.noelshack.com/fichiers/...4319-drone.jpg
    http://image.noelshack.com/fichiers/...4321-laser.jpg
    http://image.noelshack.com/fichiers/...4323-ville.jpg

    Je ne demande pas que l'on me fasse le programme à ma place, juste que l'on m'explique ce que je dois faire, quel fonction utiliser etc...

    Merci d'avence

  2. #2
    Membre très actif Avatar de fifafou
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 173
    Par défaut
    il sera plus pratique d'utiliser un rect pour ton perso
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    perso =pygame.image.load("drone.jpg").convert_alpha()
    position_perso = perso.get_rect()
    position_perso = position_perso.move(275,650)
    ensuite,pour la gestion de touche,le mieux est de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    key=pygame.key.get_pressed()
    if key[K_RIGHT]:
        position_perso = position_perso.move(3,0)
    if key[K_LEFT]:
        position_perso = position_perso.move(-3,0)
    ça permet de faire plusieurs touches simultanées

  3. #3
    Membre habitué
    Homme Profil pro
    En Art
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : En Art
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Par défaut
    Etrangement, le drone reste immoblie lorsque j'appuis sue les fleches. Ensuite, peut etre que j'ai mal placé les foction.

    Voila ce que j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    import pygame
    from pygame.locals import *
    import random
    continuer=1
    pygame.init()
     
    fenetre=pygame.display.set_mode((650,800))
    pygame.display.set_caption("Protegez la Ville : Utilisez les fleches pour dirriger le drone.")
     
    ville=pygame.image.load("ville.jpg").convert()
    laser=pygame.image.load("laser.jpg").convert()
    drone=pygame.image.load("drone.jpg").convert()
    position_drone=drone.get_rect()
    position_drone=position_drone.move(275,650)
    fenetre.blit(ville,(0,0))
    pygame.display.flip()
     
    key=pygame.key.get_pressed()
    if key[K_RIGHT]:
        position_drone=position_drone.move(3,0)
    if key[K_LEFT]:
        position_drone= position_drone.move(-3,0)
     
    while continuer:
        fenetre.blit(ville,(0,0))
        fenetre.blit(drone,(275,650))
        for event in pygame.event.get():
            if event.type==QUIT:
                continuer=0
     
        pygame.display.update()
     
    pygame.quit()
    Ai-je mal placé quelque chose ?

  4. #4
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    salut,

    Citation Envoyé par Shingleton Voir le message
    Ai-je mal placé quelque chose ?
    si tu poses la question c'est que tu as déjà une petite idée de la réponse

    • où se situe la boucle principale ?
    • à quel moment le clavier est "scanné" pour voir quelle flèche est enfoncée ?

  5. #5
    Membre habitué
    Homme Profil pro
    En Art
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : En Art
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Par défaut
    Pour ce qui est de la boucle principale, ça dois donner ça, si je n'me trompe pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    ...
    while continuer:
        fenetre.blit(ville,(0,0))
        fenetre.blit(drone,(275,650))
        for event in pygame.event.get():
            key=pygame.key.get_pressed()
            if key[K_RIGHT]:
                position_drone=position_drone.move(3,0)
            if key[K_LEFT]:
                position_drone= position_drone.move(-3,0)
            if event.type==QUIT:
                continuer=0
    ....
    Mais je ne vois pas ce que tu veux dire par "Scaner" le clavier.
    C'est une fonction spécifique ?

  6. #6
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    non j'entends par "scanner le clavier" le fait d'appeler pygame.key.get_pressed() si tu préfères

    si tu effectues des changements dans ton code par rapport à celui que tu as posté à l'origine n'hésites pas à les remettre ici

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [webdesign] Je dois reconstituer un frame : besoin d'un coup de main
    Par dom J dans le forum Balisage (X)HTML et validation W3C
    Réponses: 24
    Dernier message: 21/08/2006, 00h24
  2. Besoin d'un coup de main avec print
    Par scaleo dans le forum Langage
    Réponses: 2
    Dernier message: 10/06/2006, 21h12
  3. C++ besoin d'un coup de main
    Par Invité dans le forum C++
    Réponses: 7
    Dernier message: 19/04/2006, 13h28
  4. Problème avec fwrite() : besoin d'un coup de main
    Par yopuke dans le forum Langage
    Réponses: 2
    Dernier message: 16/04/2006, 09h43
  5. besoin d'un coup de main pour une requête ;)
    Par Fabouney dans le forum Requêtes
    Réponses: 3
    Dernier message: 14/11/2005, 23h14

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