Stylos python turtle

Yrsdrin Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
Yrsdrin Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Dans le cadre d'un projet, je réalise un jeu en python en utilisant le module
turtle
. J'ai bien avancé dans celui-ci, à part un détail : peu importe comment j'essaie, je ne peux pas faire bouger le joueur et les ennemis. Le joueur arrête complètement le mouvement des autres stylos quand il bouge. Pourtant, en regardant partout, les personnes qui utilise le même code que moi pour les déplacements n’ont aucun problème
Serait-ce possible d'avoir une explication de pourquoi ?

Configuration: Windows / Firefox 96.0

1 réponse

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 943
     
    Bonjour,

    Peux-tu partager un extrait minimal et fonctionnel de ton code afin qu'on comprenne mieux ce qui ne va pas.

    Peut-être que ça vaudrait le coup de bosser au préalable un exemple simple, comme celui-ci, qui implique deux joueurs ?

    Bonne chance
    0
    1. Yrsdrin Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
       
      Voila l'extrait de code qui me pose problème :

      import turtle
      
      feuille = turtle.Screen()
      
      Joueur = turtle.Turtle()
      Joueur.pensize(10)
      Joueur.penup()
      Joueur.speed(0)
      Joueur.speed = 20
      Joueur.color('gold')
      Joueur.goto(-900,0)
      
      Faux_Joueur = turtle.Turtle()
      Faux_Joueur.pensize(10)
      Faux_Joueur.penup()
      Faux_Joueur.speed(0)
      Faux_Joueur.speed = 3
      Faux_Joueur.color('Navy')
      Faux_Joueur.goto(-900,30)
      
      
      
      def move_right():
          Joueur.setheading(0)
          x1 = Joueur.xcor()
          y1 = Joueur.ycor()
          x1 += Joueur.speed
          Joueur.setx(x1)
          if x1 > 930:
              Joueur.goto(-900,0)
          feuille.delay(100)    
      def move_left():
          Joueur.setheading(180)
          x = Joueur.xcor()
          y = Joueur.ycor()
          x -= Joueur.speed
          Joueur.setx(x)
      
          if x < -930:
              Joueur.goto(-900,0)    
      def move_up():
          Joueur.setheading(90)
          x = Joueur.xcor()
          y = Joueur.ycor()
          y += Joueur.speed
          Joueur.sety(y)
      
          if y > 210:
              Joueur.goto(-900,0)
      def move_down():
          Joueur.setheading(270)
          x = Joueur.xcor()
          y = Joueur.ycor()
          y -= 10
          Joueur.sety(y)
          if y < -30:
              Joueur.goto(-900,0)            
      
      
      
      
      feuille.onkeypress(move_up, "z")
      feuille.onkeypress(move_down, "s")
      feuille.onkeypress(move_right, "d")
      feuille.onkeypress(move_left, "q")
      
      feuille.listen()
      
      while True:
          x2 = Faux_Joueur.xcor()
          y2 = Faux_Joueur.ycor()
          x2 += Faux_Joueur.speed
          Faux_Joueur.setx(x2)
          if x2 > 930:
              Faux_Joueur.goto(-900,30)
      
      
      feuille.mainloop()


      Je penserai aussi a regarder le lien que vous m'avez envoyer
      0