IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Help Labyrinthe avec Python


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 2
    Par défaut Help Labyrinthe avec Python
    Bonjour, je suis en Terminale s avec option Informatique et science de l'ingénieur et pour la fin de l'année nous avons un projet à réaliser qui est de créer un jeu avec ce qu'on a apprit durant l'année.
    J'ai pour projet de créer un labyrinthe, et je rencontre quelques soucis dans la programmation
    Pour l'instant j'ai réussit à mettre en forme mon canva, mon labyrinthe et mon avatar, je travaille maintenant sur le déplacement de ce dernier.

    Donc j'ai tenter de le déplacé vers le bas pour tester la méthode et c'est là qu'est le problème car un message d'erreur apparait lorsque j'appuie sur le boutton qui etait sensé le faire bouger.

    j'aimerais avoir votre avis sur comment y remédier ! Merci d'avance.

    Voila mon algo:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    from PIL import Image
    from os import getcwd, chdir
    chdir("C:/Users/kenji/Desktop")
    laby=Image.open("laby.dan.png")
    (larg,hauteur)=laby.size
    xa=0
    ya=0
    xb=10
    yb=10
    lab=[]
    ligne=[]
    for x in range (hauteur):
        for y in range (larg):
            px=laby.getpixel((y,x))
            ligne.append(px[0])
        lab.append(ligne)
        ligne=[]
    from tkinter import *
     
    fen1=Tk()
    fen1.title("Labyrinthe")
    can1=Canvas(fen1,bg="pink",height=500,width=500)
    can1.pack() 
    for i in range(50):
        for j in range(50):
            xa=10*j
            ya=10*i
            xb=10*j+10
            yb=10*i+10
            if lab[i][j]==0:
                can1.create_rectangle(xa,ya,xb,yb,fill="black")
            else:
                can1.create_rectangle(xa,ya,xb,yb,fill="white",outline="white")
     
    def down():
        global xa,ya,xb,yb
        can1.coords(xA,yA+20,xB,yB+20)
     
    boutton1=Button(fen1,text='bas',command=down)
     
    xA=13
    yA=0
    xB=36
    yB=20
    ava=can1.create_rectangle(xA,yA,xB,yB,width=2,fill='red',outline="black")
    boutton1.pack()
     
    fen1.mainloop()
    et le message d'erreur:


    Exception in Tkinter callback
    Traceback (most recent call last):
    File "C:\Users\Kenji\Anaconda3\lib\tkinter\__init__.py", line 1699, in __call__
    return self.func(*args)
    File "<ipython-input-18-bd8f795cc9e4>", line 38, in down
    can1.coords(xA,yA+20,xB,yB+20)
    File "C:\Users\Kenji\Anaconda3\lib\tkinter\__init__.py", line 2463, in coords
    self.tk.call((self._w, 'coords') + args))]
    _tkinter.TclError: wrong # coordinates: expected 0 or 4, got 3

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 699
    Par défaut
    Salut,

    Citation Envoyé par Askeladd Voir le message
    j'aimerais avoir votre avis sur comment y remédier !
    Lorsque vous appelez une fonction/méthode comme can1.coords(...) et que çà dit que le nombre d'arguments est incorrect (ou que çà ne fait pas ce qu'on attend), le réflexe est d'ouvrir la documentation où est décrit comment utiliser la dite méthode.
    note: d'autant que l'erreur vient de l'oubli de l'item à déplacer alors que vous en avez créé pas mal.. et voulez en déplacer un bien particulier.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 2
    Par défaut
    Merci beaucoup j'ai modifié ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    def down():
        global xA,yA,xB,yB
        can1.coords(ava,xA,yA+8,xB,yB+8)
        yA=yA+8
        yB=yB+8
    def up():
        global xA,yA,xB,yB
        can1.coords(ava,xA,yA-8,xB,yB-8)
        yA=yA-8
        yB=yB-8
    def left():
        global xA,yA,xB,yB
        can1.coords(ava,xA-8,yA,xB-8,yB)
        xA=xA-8
        xB=xB-8
    def right():
        global xA,yA,xB,yB
        can1.coords(ava,xA+8,yA,xB+8,yB)
        xA=xA+8
        xB=xB+8

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 699
    Par défaut
    Citation Envoyé par Askeladd Voir le message
    Merci beaucoup j'ai modifié ça
    Et puisque vous avez ouvert la documentation peut être que çà vaudrait le coup d'y regarder la méthode .move (histoire de simplifier votre code).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Help!! Probleme avec les dates sur SQL SERVER
    Par Nadaa dans le forum MS SQL Server
    Réponses: 16
    Dernier message: 03/08/2006, 16h55
  2. création de base mySQL avec python
    Par preacher_man dans le forum Bibliothèques tierces
    Réponses: 7
    Dernier message: 23/06/2006, 19h38
  3. Réponses: 2
    Dernier message: 19/12/2005, 13h15
  4. Les 128 derniers bits d'un fichier en ligne avec Python ?
    Par ecocentric dans le forum Réseau/Web
    Réponses: 7
    Dernier message: 26/09/2005, 12h40
  5. Help ODBC avec Mysql
    Par Ashura75013 dans le forum Bases de données
    Réponses: 3
    Dernier message: 17/02/2004, 08h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo