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

Python Discussion :

Problème Pygame 1.9.30 sur PYcharm


Sujet :

Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 4
    Par défaut Problème Pygame 1.9.30 sur PYcharm
    Bonjour, j'ai actuellement un problème avec mon code, tout d'abord c'est un tape-taupe je souhaite donc que mes taupes apparaissent et disparaissent à des coordonnées précises.Malheureusement, j'ai donc crée une liste contenant les taupes et une autre contenant les coordonées
    Voici les problèmes que je rencontre
    La taupe ne disparaît pas
    Le jeu ne répond pas dès son lancement
    Et j'ai une erreur: libpng warning: Interlace handling should be turned on when using png_read_image le problème est du à mon image de taupe
    Voici le code :
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    import pygame
    import random
    import time
     
    pygame.init()
     
    display_width = 600
    display_height = 480
     
    gameDisplay = pygame.display.set_mode((display_width, display_height))
    fond = pygame.image.load("Fond.jpg").convert()
    gameDisplay.blit(fond, (0, 0))
    pygame.display.set_caption('Tape Taupe')
    clock = pygame.time.Clock()
     
    gameIcon = pygame.image.load('Taupe.png').convert_alpha()
    pygame.display.set_icon(gameIcon)
     
    pygame.display.update()
     
    Marteau = pygame.image.load('Marteau.png')
     
    perso1 = pygame.image.load("troutaup.png").convert_alpha()
    gameDisplay.blit(perso1, (160, 55))
     
    perso2 = pygame.image.load("troutaup.png").convert_alpha()
    gameDisplay.blit(perso2, (320, 55))
     
    perso3 = pygame.image.load("troutaup.png").convert_alpha()
    gameDisplay.blit(perso3, (480, 55))
     
    perso4 = pygame.image.load("troutaup.png").convert_alpha()
    gameDisplay.blit(perso4, (160, 200))
     
    perso5 = pygame.image.load("troutaup.png").convert_alpha()
    gameDisplay.blit(perso4, (320, 200))
     
    perso6 = pygame.image.load("troutaup.png").convert_alpha()
    gameDisplay.blit(perso4, (480, 200))
     
    perso7 = pygame.image.load("troutaup.png").convert_alpha()
    gameDisplay.blit(perso4, (160, 350))
     
    perso8 = pygame.image.load("troutaup.png").convert_alpha()
    gameDisplay.blit(perso4, (320, 350))
     
    perso9 = pygame.image.load("troutaup.png").convert_alpha()
    gameDisplay.blit(perso4, (480, 350))
     
    pygame.display.update()
     
    Taupe1 = pygame.image.load("Taupe.png")
    Taupe2 = pygame.image.load("Taupe.png")
    Taupe3 = pygame.image.load("Taupe.png")
    Taupe4 = pygame.image.load("Taupe.png")
    Taupe5 = pygame.image.load("Taupe.png")
    Taupe6 = pygame.image.load("Taupe.png")
    Taupe7 = pygame.image.load("Taupe.png")
    Taupe8 = pygame.image.load("Taupe.png")
    Taupe9 = pygame.image.load("Taupe.png")
     
    pygame.display.update()
     
    Taupe = random.choice([Taupe1, Taupe2, Taupe3, Taupe4, Taupe5, Taupe6, Taupe7, Taupe8, Taupe9])
    coordinates = random.choice(
        [[160, 55], [320, 55], [480, 55], [160, 200], [320, 200], [480, 200], [160, 350], [320, 350], [480, 350]])
    gameDisplay.blit(Taupe, coordinates)
    time.sleep(10)
    gameDisplay.blit(Taupe, coordinates)
     
    pygame.display.update()
     
     
    def game_loop():
     
       gameExit=False
     
     
    pygame.display.update()
    clock.tick(60)
     
    for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                quit()
     
     
    pygame.quit()

  2. #2
    Membre très actif

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Billets dans le blog
    1
    Par défaut
    Salut !

    Il est inutile de charger la même image plusieurs fois.

    Si je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    i = random.choice([1, 1, 1, 1, 1])
    Tu ne trouves pas ça inutile ?
    Tu fais exactement cela avec tes images de taupes.

    Ton time.sleep() n'a rien à faire ici, je vois même pas à quoi cela peut bien servir et c'est ce qui cause le problème que ton jeu ne répond pas.

    Un jeu sans boucle événementielle ne peut pas être joué, dans ton code il n'y en a pas, ce qui fait que l'on sortira illico du jeu sans rien voir.

    Tu fais des pygame.display.update à foison, tous complètement inutiles hors de la boucle de ton jeu.

    Ta fonction game_loop ne sert à rien.

    La seule chose à garder serait tes coordonnées, et encore des tuples seraient plus appropriés pour ça.

    Comme tu vois, tout ce que tu as fait est à jeter, tu devrais jeter un oeil déjà sur les tutos sur pygame du site pour au moins assimiler les bases de pygame.
    https://python.developpez.com/cours/?page=Autres#pygame

    Un bon pdf en anglais sur pygame : https://inventwithpython.com/makinggames.pdf

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 4
    Par défaut Suite
    Bon j'ai réglé le problème du rafraichissement, mets maintenant j'ai fait quelques modif et j'ai un écran noir qui s'affiche

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    import pygame
    import random
     
    pygame.init()
    display_width = 640
    display_height = 480
     
    gameDisplay = pygame.display.set_mode((display_width, display_height))
    fond = pygame.image.load("Fond.jpg").convert()
    gameDisplay.blit(fond, (0, 0))
    pygame.display.set_caption('Tape Taupe')
    gameIcon = pygame.image.load('Taupe.png').convert_alpha()
    pygame.display.set_icon(gameIcon)
     
    perso1 = pygame.image.load("troutaup.png").convert_alpha()
    gameDisplay.blit(perso1, (160, 55))
    perso2 = pygame.image.load("troutaup.png").convert_alpha()
    gameDisplay.blit(perso2, (320, 55))
    perso3 = pygame.image.load("troutaup.png").convert_alpha()
    gameDisplay.blit(perso3, (480, 55))
    perso4 = pygame.image.load("troutaup.png").convert_alpha()
    gameDisplay.blit(perso4, (160, 200))
    perso5 = pygame.image.load("troutaup.png").convert_alpha()
    gameDisplay.blit(perso4, (320, 200))
    perso6 = pygame.image.load("troutaup.png").convert_alpha()
    gameDisplay.blit(perso4, (480, 200))
    perso7 = pygame.image.load("troutaup.png").convert_alpha()
    gameDisplay.blit(perso4, (160, 350))
    perso8 = pygame.image.load("troutaup.png").convert_alpha()
    gameDisplay.blit(perso4, (320, 350))
    perso9 = pygame.image.load("troutaup.png").convert_alpha()
    gameDisplay.blit(perso4, (480, 350))
     
     
     
     
    while 1:
     
                for event in pygame.event.get():
                    if event.type == pygame.QUIT:
                        quit()
     
                Taupe = pygame.image.load("Taupe.png").convert()
                coordinates = random.choice(
                    [[160, 55], [320, 55], [480, 55], [160, 200], [320, 200], [480, 200], [160, 350], [320, 350],
                     [480, 350]])
                gameDisplay.blit(Taupe, coordinates)
     
     
     
     
     
     
    pygame.quit()
    quit()

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 4
    Par défaut
    Même en ne mettant que cela je tombe sur un fond noir

    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
    import pygame
     
    pygame.init()
    screen = pygame.display.set_mode((640, 480))
    player = pygame.image.load('Marteau.png').convert()
    background = pygame.image.load('Fond.jpg').convert()
    screen.blit(background, (0, 0))
     
    while 1:
     
                for event in pygame.event.get():
                    if event.type == pygame.QUIT:
                        quit()
     
     
    quit()

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 4
    Par défaut
    Bon problème réglé, maintenant j'ai un autre problème les taupes apparaissent toutes mais aucune de siapraissent j'aimerai bien que la taupe disparaissent 10 sec après et que une autre apparaissent juste après

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    import pygame
    import random
    import time
     
    pygame.init()    
    display_width = 600
    display_height = 480
     
    gameDisplay = pygame.display.set_mode((display_width, display_height))
    fond = pygame.image.load("fond.bmp").convert()
    gameDisplay.blit(fond, (0, 0))
    pygame.display.set_caption('Tape Taupe')
    clock = pygame.time.Clock()
     
    BAMimg = pygame.image.load('Marteau.png')
    gameIcon = pygame.image.load('Taupe.png').convert_alpha()
    pygame.display.set_icon(gameIcon)
     
    BAMimg_width = 73
     
    perso1 = pygame.image.load("troutaup.png").convert_alpha()
    gameDisplay.blit(perso1, (160, 55))
     
    perso2 = pygame.image.load("troutaup.png").convert_alpha()
    gameDisplay.blit(perso2, (320, 55))
     
    perso3 = pygame.image.load("troutaup.png").convert_alpha()
    gameDisplay.blit(perso3, (480, 55))
     
    perso4 = pygame.image.load("troutaup.png").convert_alpha()
    gameDisplay.blit(perso4, (160, 200))
     
    perso5 = pygame.image.load("troutaup.png").convert_alpha()
    gameDisplay.blit(perso4, (320, 200))
     
    perso6 = pygame.image.load("troutaup.png").convert_alpha()
    gameDisplay.blit(perso4, (480, 200))
     
    perso7 = pygame.image.load("troutaup.png").convert_alpha()
    gameDisplay.blit(perso4, (160, 350))
     
    perso8 = pygame.image.load("troutaup.png").convert_alpha()
    gameDisplay.blit(perso4, (320, 350))
     
    perso9 = pygame.image.load("troutaup.png").convert_alpha()
    gameDisplay.blit(perso4, (480, 350))
     
    pygame.display.update()
     
     
    def BAMImg(x, y):
        gameDisplay.blit(BAMImg, (x, y))
        x = (display_width * 0.45)
        y = (display_height * 0.8)
     
    def game_loop():
        x = (display_width * 0.45)
        y = (display_height * 0.8)
     
        x_change = 0
        y_change = 0
     
        gameExit = False
     
        while not gameExit:
     
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    pygame.quit()
                    quit()
     
                if event.type == pygame.KEYDOWN:
                    if event.key == pygame.K_LEFT:
                        x_change = -5
                    if event.key == pygame.K_RIGHT:
                        x_change = 5
     
                if event.type == pygame.KEYUP:
                    if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
                        x_change = 0
     
                if event.type == pygame.KEYDOWN:
                    if event.key == pygame.K_UP:
                        y_change = -5
                    if event.key == pygame.K_DOWN:
                        y_change = 5
     
                if event.type == pygame.KEYUP:
                    if event.key == pygame.K_UP or event.key == pygame.K_DOWN:
                        y_change = 0
     
     
                    BAMimg(x, y)
                    x += x_change
                    y += y_change
     
                Taupe = pygame.image.load("Taupe.png").convert_alpha()
                coordinates = random.choice([[160, 55], [320, 55], [480, 55], [160, 200], [320, 200], [480, 200], [160, 350], [320, 350],[480, 350]])
                gameDisplay.blit(Taupe, coordinates)
     
                pygame.display.update()
                clock.tick(60)
     
     
    game_loop()
    pygame.quit()
    quit()

Discussions similaires

  1. Problème de déplacement du personnage sur Pygame
    Par Youpat97 dans le forum Programmation multimédia/Jeux
    Réponses: 7
    Dernier message: 08/05/2013, 02h04
  2. Problème de déplacement du personnage sur Pygame
    Par Youpat97 dans le forum Général Python
    Réponses: 15
    Dernier message: 24/04/2013, 00h42
  3. Problème lors d'un Update sur une date
    Par Nany dans le forum ASP
    Réponses: 3
    Dernier message: 19/05/2004, 22h37
  4. Réponses: 5
    Dernier message: 11/03/2004, 15h34
  5. Réponses: 5
    Dernier message: 27/08/2003, 11h45

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