Python codage d'un jeu avec turtle

Résolu/Fermé
bnoa - 26 nov. 2022 à 14:34
 bnoa - 26 nov. 2022 à 18:02

Bonjour,

je suis actuellement en train de coder un jeu, il y a 4 mode de jeu dans mon code, tout d'abord la partie ou l'utilisateur utilise les flèches sur le clavier pour diriger la tortue jusqu'a ce qu'elle sorte du labyrinthe et que cela écrive victoire. le deuxième mode de jeu est une exploration autonome du labyrinthe par la tortue selon un algorithme "aléatoire". Les deux autres modes de jeu sont des mode ou l'utilisateur rentre un chemin et la tortue va suivre ce chemin avec pour but de s'en sortir.

Tout cela est fonctionnel mais je rencontre un problème lors de la "mise en beauté de l'interface du jeu"

je suis en train d'essayer de créer des boutons afin de ne pas faire d'input sur l'exécuteur. il faut savoir que mes labyrinthes sont stockés sous forme de fichier ou les murs sont des "# ""et les passage des ".". j'ai donc une fonction qui ouvre mon fichier et le convertit ligne par ligne en liste. or lorsque je veux utiliser mes boutons je n'arrive pas a faire attendre le premier evenement du click a ma fonction avant quelle ne s'execute. on voit sur mon script que jessaye de recuperer le click avant la variablefn mais cela ne fonctionne pas

def main():
    t.onscreenclick(joue,1)
    fn=joue(coord[0],coord[1])
    laby,entree,sortie=labyFromFile(fn)
    affiche_Textuel(laby)
    afficheGraphique(laby,x,y)

if __name__ == "__main__":
    main()
    turtle.mainloop()

merci de m'aider
Windows / Chrome 107.0.0.0

A voir également:

2 réponses

yg_be Messages postés 22499 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 février 2024 1 448
26 nov. 2022 à 16:58

bonjour, peut-être plutôt:

def joue(c0,c1):
    laby,entree,sortie=labyFromFile(fn)
    affiche_Textuel(laby)
    afficheGraphique(laby,x,y)

def main():
    t.onscreenclick(joue,1)
    
0

merci bcp ca y est j'ai réussi grace a toi

0