Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problèmes pour faire un casse brique en python

    26 mai 2015 à 18:25:13

    Bonjour
    Je dois faire un casse briques en python avec Pygame mais python c'est une merde. Mon code est juste, d'ailleurs il n'y a aucune erreur, mes valeurs sont logiques, mais ça fait pas ce que je demande. Quelqu'un peut m'aider ?
    1) Pendant cette boucle de déplacement de la balle, je veux pouvoir bouger ma barre situé en bas à gauche ou à droite, mais je peux pas, car pendant la boucle, le programmé est figé et tant que la boucle n'est pas terminé on peut rien faire. C'est que une fois que la boucle est finie que je peux bouger la barre du bas.
    que faire ???
    Déplacement de la balle:
    if (event.type == pygame.KEYUP and event.key == K_RETURN):
         for x in range(70):
                            posCircley  = posCircley - 10
                            blit()
                            pygame.display.update()
     
                            if (case1Y == posCircley - 50):
                                for x in range(70):
                                    posCircley  = posCircley - 10
                                    posCircley += 20
                                    rebondirHaut()
                                    if (posBarreX <= posCirclex <= posBarreX + 100 and posCircley == posBarreY):
                                        print("detected")
                                        for x in range(70):
                                            posCirclex = posCirclex + deviation
                                            posCircley -= 10
     
                                            rebondirBas()
     
                                        break
                                break
    déplacement du rectangle du bas
    if (event.type == pygame.KEYUP and event.key == K_RIGHT):
                                for x in range(7):
                                    posBarreX += 30
                                    blit()
                                    pygame.display.update()
                                break
    
    2) posCircley désigne la position de la balle en axe Y. Regardez et dites moi pourquoi non seulement ça print rien, et en plus le jeu ne recommence pas ???
     
    #si la barre atterrit en bas de l'écran (640*480), le jeu doit recommencer
    if posCircley >= 480:
     
            print("recommencer")
            menu()
            pygame.display.flip()
    
    merci d'avance

    -
    Edité par Webmasteur 26 mai 2015 à 18:26:40

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      26 mai 2015 à 18:30:02

      Je dois faire un casse briques en python avec Pygame mais python c'est une merde. Mon code est juste, d'ailleurs il n'y a aucune erreur, mes valeurs sont logiques, mais ça fait pas ce que je demande.

      Arrête la programmation.

      • Partager sur Facebook
      • Partager sur Twitter
        27 mai 2015 à 8:23:13

        Bonjour,

        J'ai lu "break" :waw:
        Qui t'a appris à coder infâme garnement !

        Pourquoi y a t'il des boucles for en triple imbriqué !
        A moins de réaliser des modules très complexes c'est très couteux en temps.

        1) Le principe d'une boucle est de répeter un certain nombre d'action un certain nombre de fois. Dans un jeu on fera une boucle de jeu réalisant des tours de jeu. Si ton programme est placé après la boucle ... c'est normal qu'il s'execute après la boucle puis que c'est ce que je viens d'écrire ._.
        Si ton programme se trouve pendant l'execution d'une boucle ... alors il s'executera pendant la boucle.
        Je pense avoir été clair.

        C'est surement toi qui ne sait pas comment raisonner ... Ou coder.

        2) pygame.display.flip() ne fait qu'actualiser ta fenetre pour cela il y a de la documentation qui te permet d'apprendre à faire les choses. Il faut que tu dessines des éléments dans ta fenetre puis à chaque fois que tu actualise ta fenetre si tu veux que ça marche.

        Dernier petit point qui me semble important.
        "Python c'est une merde" je ne suis pas sûr de la merde parmi vous deux, et ce n'est pas une façon de s'exprimer sur un forum, d'autant que nous sommes là pour t'aider pas pour te curer les pieds mon ami.
        "Mon code est juste" je n'en suis pas si sûr ... Sinon ça marcherait et tu ferais pleurer les plus grands codeurs avec tes triple FOR et autres break.
        "Mes valeurs sont logiques" je ne connais pas ton programme et dès la deuxième ligne je suis perdu, pour x de 0 à 69 chez moi n'a pas de sens, sans explication ça ne veut rien dire.

        Je plussoie AlphaZeta au niveau d'un arrêt plus que rapide de la programmation, Python est un des languages les plus simples jamais inventés. Et tu n'as aucune notion d'algorithmique, aucun raisonnement qui me paraisse assez solide pour un projet. Des tutos existent sur OC mais je suis persuadé que tu n'y as même pas jeté un coup d'oeil. Bref tu seras noté à ta juste valeur, soit l'investissement que tu mets dans ton projet, je comprendrais que le prof te mette en dessous de 5.

        Bonne chance quand même, si tu as des questions j'y répondrais, mais il faudra mieux les formuler que ça et apprendre en parrallèle.
        D'autant plus que ce n'est plus vraiment le moment de s'y mettre tu avais tu temps pour le faire ce projet me semble t'il. 

        -
        Edité par IQbrod 27 mai 2015 à 8:24:23

        • Partager sur Facebook
        • Partager sur Twitter
        OpenClassrooms retire tellement d'aiguilles de nos pieds qu'on pourrait ne plus trouver le foin de notre botte :)

        Problèmes pour faire un casse brique en python

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown