Stylos python turtle

Fermé
Yrsdrin Messages postés 2 Date d'inscription lundi 17 janvier 2022 Statut Membre Dernière intervention 18 janvier 2022 - Modifié le 17 janv. 2022 à 19:14
Yrsdrin Messages postés 2 Date d'inscription lundi 17 janvier 2022 Statut Membre Dernière intervention 18 janvier 2022 - 18 janv. 2022 à 08:56
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 33511 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 3 février 2025 7 819
Modifié le 17 janv. 2022 à 19:16
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 Date d'inscription lundi 17 janvier 2022 Statut Membre Dernière intervention 18 janvier 2022
Modifié le 18 janv. 2022 à 12:33
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