Stylos python turtle

Yrsdrin Messages postés 2 Statut Membre -  
Yrsdrin Messages postés 2 Statut Membre -
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

mamiemando Messages postés 34220 Date d'inscription   Statut Modérateur Dernière intervention   7 896
 
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
Yrsdrin Messages postés 2 Statut Membre
 
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