[Python] pygame plantage

Fermé
darkneurone Messages postés 39 Date d'inscription dimanche 11 mars 2007 Statut Membre Dernière intervention 12 juin 2008 - 17 juin 2007 à 21:32
 josmiley - 11 août 2008 à 13:21
bonjour à tous :)

voilà mon problème, je suis en train de coder un pong. J'ai commencer par afficher un menu puis je veux que lorsque l'utilisateur appuiera sur la touche "barre d'espace", le jeu commence. Or mon problème se situe au niveau de la transition entre le jeu et la fin du menu.

Je ne peux pas savoir d'où viens l'erreur puisqu'il n y'en a aucune de trouver :S ce qui se passe, c'est juste que je dois fermer le programme avec ctrl+alt+suppr parce qu'il ne veut pas se fermer quand j'appuie sur la touche que j'ai défini :S

voilà un extrait de mon code :

def input(events):
    global px,start
    pygame.event.set_blocked(MOUSEMOTION)
    for event in events:
        if debut == False:
           if event.type == KEYDOWN:
                if event.key == K_LEFT:
                    px -= pspeed
                if event.key == K_RIGHT:
                    px += pspeed
                if event.key == K_SPACE:
                    start = True
        elif debut == True:
            if event.type == KEYDOWN:
                if event.key == K_SPACE:
                    debut == False
        elif event.type == QUIT:
            sys.exit(0)

while debut == True:
    input(pygame.event.get())
    tempsA = time.get_ticks()
    flag = True
    if tempsA - tempsP > 100:
        if i < 255 and flag == True:
            while i < 255:
                 i = i + 1
                 staff = sfont.render("Created by XXX",True,(i,i,i))
                 tempsA = tempsP
                 flag = False
                 screen.fill(black)
                 screen.blit(titre,(250,220))
                 screen.blit(staff,(400,400))
                 display.update()
                 print debut
        if i > 0 and flag == False:
             while i > 0:
                 i = i - 1
                 staff = sfont.render("Created by XXX",True,(i,i,i))
                 tempsA = tempsP
                 flag = True
                 screen.fill(black)
                 screen.blit(titre,(250,220))
                 screen.blit(staff,(400,400))
                 display.update()

while True:
    print "a"
    input(pygame.event.get())
    colraq(px,px2)

    bx = px+40
    by = py+20
    
    screen.fill(black)
    screen.blit(raq1,(px,py))
    screen.blit(raq2,(px2,py2))
    screen.blit(balle,(bx,by))

    display.update()

    while start == True:
        input(pygame.event.get())

        bx += vbx
        by += vby

        IA(bx)
        colraq(px,px2)
        collision(bx,by,px,py,px2,py2)

        screen.fill(black)
        screen.blit(raq1,(px,py))
        screen.blit(raq2,(px2,py2))
        screen.blit(balle,(bx,by))

        display.update()


je suis débutant, donc je sais que mon code doit comporter des énormitées ^^ n'hésitez pas à m'en faire part et à me conseiller sur une possible optimisation !

merci pour votre aide :)
bonne journée !

3 réponses

darkneurone Messages postés 39 Date d'inscription dimanche 11 mars 2007 Statut Membre Dernière intervention 12 juin 2008 12
18 juin 2007 à 15:14
personne ne sait comment résoudre ce problème ? :S
0
darkneurone Messages postés 39 Date d'inscription dimanche 11 mars 2007 Statut Membre Dernière intervention 12 juin 2008 12
22 juin 2007 à 19:53
up :S
0
avec que des bouts de code ça va pas etre facile de t'aider ....
0