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

Tkinter Python Discussion :

Erreur programme Pygame


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Caen
    Inscrit en
    Novembre 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Caen
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2012
    Messages : 20
    Par défaut Erreur programme Pygame
    bonjour,
    toujours en apprentissage, et, de nouveau une erreur dans le programme???
    cela fais 4 jours que je suis dessus, j'ai repris le tutoriel ligne par ligne, vérifier les orthographes, et toujours en erreur!
    lors de l'execution, il me dit que j'ai une erreur à la ligne 136 (si je fais pas erreur), j'ai repris la gestion des événement d'entrée, et le soucis persiste.
    je suis sous IDLE 2.7
    merci pour l'aide que vous pourrez m'apporter.

    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
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    import os, sys
    import pygame
    from pygame.locals import *
     
    if not pygame.font : print 'Attention, polices désactivées'
    if not pygame.mixer: print 'Attention, son désactivé'
     
    def load_image(name, colorkey = None):
            fullname = os.path.join('data', name)
            try:
                    image = pygame.image.load(fullname)
            except pygame.error, message:
                    print "impossible de charger l'image :", name
                    raise SystemExit, message
            image = image.convert()
            if colorkey is not None:
                    if colorkey is -1:
                            colorkey = image.get_at((0,0))
                    image.set_colorkey(colorkey, RLEACCEL)
            return image, image.get_rect()
     
    def load_sound(name):
            class NoneSound:
                    def play(self): pass
            if not pygame.mixer:
                    return NoneSound()
            fullname = os.path.join('data', name)
            try:
                    sound = pygame.mixer.Sound(fullname)
            except pygame.error, message:
                    print 'Impossible de charger le son :', wav
                    raise SystemExit, message
            return sound
     
    class Fist(pygame.sprite.Sprite):
            """ Déplacer un poing fermé sur l'écran qui suit la souris """
            def __init__(self):
                    pygame.sprite.Sprite.__init__(self)     # Appel du constructeur de Sprite
                    self.image, self.rect = load_image('fist.bmp', -1)
                    self.punching = 0
     
            def update(self):
                    " Déplace le poing sur la position de la souris "
                    pos = pygame.mouse.get_pos()
                    self.rect.midtop = pos
                    if self.punching:
                            self.rect.move_ip(5, 10)
     
            def punch(self, target):
                    "renvoi true si le poing entre en colision avec la cible"
                    if not self.punching:
                            self.punching = 1
                            hitbox = self.rect.inflate(-5, -5)
                            return hitbox.colliderect(target.rect)
     
            def unpunch(self):
                    "Appelé pour faire revenir le poing"
                    self.punching = 0
     
    class Chimp(pygame.sprite.Sprite):
            """ Déplace un singe à travers l'écran. Elle peut faire tournoyer le singe quand il est frappé."""
            def __init__(self):
                    pygame.sprite.Sprite.__init__(self)     # Appel du constructeur de Sprite
                    self.image, self.rect = load_image('Chimp.bmp', -1)
                    screen = pygame.display.get_surface()
                    self.area = screen.get_rect()
                    self.rect.topleft = 10, 10
                    self.move = 9
                    self.dizzy = 0
     
            def update(self):
                    "déplace ou fait tournoyer, suivant l'etat du singe"
                    if self.dizzy:
                            self._spin()
                    else:
                            self._walk()
     
            def _walk(self):
                    "déplacer le singe à travers l'écran, et le faire pivoter à la fin"
                    newpos = self.rect.move((self.move, 0))
                    if not self.area.contains(newpos):
                            if self.rect.left < self.area.left or \
                                            self.rect.right > self.area.right:
                                    self.move = -self.move((self.move, 0))
                                    self.image = pygame.transform.flip(self.image, 1, 0)
                            self.rect = newpos
     
            def _spin(self):
                    "faire tournoyer l'image du singe"
                    center = self.rect.center
                    self.dizzy += 12
                    if self.dizzy >= 360:
                            self.dizzy = 0
                            self.image = self.original
                    else:
                            rotate = pygame.transform.rotate
                            self.image = rotate(self.original, self.dizzy)
                    self.rect = self.image.get_rect(center=center)
     
            def punched(self):
                    "Entraine le tournoyement du singe"
                    if not self.dizzy:
                            self.dizzy = 1
                            self.original = self.image
     
    pygame.init()
    screen = pygame.display.set_mode((468, 60))
    pygame.display.set_caption('Monkey Fever')
    pygame.mouse.set_visible(0)
     
    background = pygame.Surface(screen.get_size())
    background.convert()
    background.fill((250, 250, 250))
     
    if pygame.font:
            font = pygame.font.Font(None, 36)
            text = font.render("Pumme1 The Chimp, And Win $$$", 1, (10, 10, 10))
            textpos = text.get_rect(centerx = background.get_width()/2)
            background.blit(text, textpos)
     
    screen.blit(background, (0, 0))
    pygame.display.flip()
     
    whiff_sound = load_sound('whiff.wav')
    punch_sound = load_sound('punch.wav')
    chimp = Chimp()
    fist = Fist()
    allsprites = pygame.sprite.RenderPlain((fist, chimp))
    clock = pygame.time.Clock()
     
    while 1:
            clock.tick(60)
     
    for event in pygame.event.get():
            if event.type == QUIT:
                    return
            elif event.type == KEYDOWN and event.key == K_ESCAPE:
                    return
            elif event.type == MOUSEBUTTONDOWN:
                    if fist.punch(chimp):
                            punch_sound.play()      #frappé
                            chimp.punched()
                    else:
                            whiff_sound.play()      #raté
            elif event.type == MOUSEBUTTONUP:
                    fist.unpunch()
     
    allsprites.update()
    screen.blit(background, (0, 0))
    allsprites.draw(screen)
    pygame.display.flip()

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 068
    Par défaut
    et tu veux qu'on te dise l'erreur parce que le traceback te dit rien, c'est ça ?

  3. #3
    Membre averti
    Homme Profil pro
    Caen
    Inscrit en
    Novembre 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Caen
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2012
    Messages : 20
    Par défaut
    le trcaback me dit avoir une erreur sur "return" ligne 136, mais j'ai beau avoir repris le prog dans tout les sens, je ne comprends comment je pourrai résoudre le probleme puisque je ne le comprends pas...

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 068
    Par défaut
    ce qu'on veut, c'est la ligne complète du traceback ...

  5. #5
    Membre averti
    Homme Profil pro
    Caen
    Inscrit en
    Novembre 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Caen
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2012
    Messages : 20
    Par défaut
    j'ai fais un imprim ecran aprés le run:

    [IMG][/IMG]

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Salut,
    L'intitulé de l'erreur est pourtant explicite: 'return' outside function.
    L'interpréteur ne sait pas quoi faire lorsqu'il rencontre "return" à la ligne 136:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    while 1:
            clock.tick(60)
     
    for event in pygame.event.get():
            if event.type == QUIT:
                    return
            elif event.type == KEYDOWN and event.key == K_ESCAPE:
                    return
    ou vous êtes fatigué, ou vous vous lancez dans une programmation sans avoir pris le temps d'acquérir certaines bases.

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

Discussions similaires

  1. Erreur programme en C
    Par Vestigo dans le forum Débuter
    Réponses: 12
    Dernier message: 03/09/2007, 20h52
  2. Erreur programme d'envoi fichier sur serveur ftp
    Par batssa dans le forum Langage
    Réponses: 3
    Dernier message: 17/08/2007, 14h30
  3. ERREUR : programme d'installation
    Par shamima-woop dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 05/07/2007, 17h27
  4. Erreur Programmes!!! (ebesoin d'aide)
    Par charfamine dans le forum MFC
    Réponses: 6
    Dernier message: 08/04/2006, 13h16
  5. [MySQL] Erreur programme
    Par Didier100 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 14/01/2006, 22h12

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