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

Tkinter Python Discussion :

Effacer une partie du canvas (éléments d'une liste de liste)


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 2
    Par défaut Effacer une partie du canvas (éléments d'une liste de liste)
    Bonjour à tous je suis étudiant et je planche actuellement sur un sujet pour créer un mémory

    Les cases sont en fait une liste de liste, les cartes sont des lettres. Chaque case est représentée par 2 listes de listes une avec la lettre de la case et une autre avec la valeur True ou False si la carte a déja été découverte ou pas.

    J'ai presque terminé mais la dernière fonction me pose problème: Je n'arrive pas à cacher les deux cartes précédemment jouées si elles sont différentes.
    Voici ma fonction

    carte=0
    def action(ligne,colonne):
    if carte==0: #Je retourne la première carte
    carte=1 #Au prochain tour je retournerais la 2e carte
    for lig in range (nombreCases):
    for col in range (nombreCases):
    if decouvert[lig][col]==False:
    canvas.delete (?????????) #Voila ou sa coince. Je veux masquer les deux cartes précédentes si elles sont différentes. En fait toutes les cartes avec False je le masque. Mais je ne sais pas quoi mettre à la place des points d'interrogation.
    canvas.create_text (y0 +c*(ligne+.5),x0+c*(colonne+.5),text=matriceLettres[ligne][colonne]) #La j'affiche la carte ou j'ai cliqué (sa sa marche)
    lettre1=matriceLettres[ligne][colonne] #je mémorise la lettre
    else: #deuxième carte
    carte=0 #Au prochain tour je retournerais la 1e carte
    canvas.create_text (y0 +c*(ligne+.5),x0+c*(colonne+.5),text=matriceLettres[ligne][colonne]) #J'affiche la carte
    lettre2=matriceLettres[ligne][colonne]
    if lettre1==lettre2: #Si les Deux lettres sont les memes
    decouvert[ligne][colonne]=True #La carte est découverte. Deuxième problème je n'arrive pas a rendre découverte la première carte
    if fini():
    termine.config(text="La partie est finie")


    Je peux éventuellement vous mettre l'ensemble de mon programme.

  2. #2
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Bonjour Nitnek,

    Il n'existe pas cent mille façons de faire un delete : les tags ou l'id (numérotation interne du canvas pour les items).
    Dans ton cas j'utiliserais les tags.

    @+

    Note: Pense a la balise code > #

  3. #3
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 2
    Par défaut réponse
    Je ne connais pas encore les tags je vais regarder ton lien. Je pense que le delete n'est effectivement pas la bonne solution. Sa risque de supprimer la lettre dans ma liste de listes non?

  4. #4
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Bonjour,

    Et j'ai dis une bêtise.
    Si tu a nommer ton item il est possible de faire un delete(lenomdetonitem)

    @+

Discussions similaires

  1. Validation d'une partie d'un XML sur une partie d'un XSD
    Par EJO64 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 02/02/2015, 09h05
  2. [JList] Mettre en gras une partie d'un élément
    Par ouazen dans le forum Composants
    Réponses: 1
    Dernier message: 05/01/2015, 19h44
  3. Chercher une donnée avec seulement une partie de l'élément
    Par Nadiya dans le forum Windows Forms
    Réponses: 2
    Dernier message: 26/05/2008, 18h25
  4. Réponses: 4
    Dernier message: 09/08/2006, 11h05
  5. Réponses: 2
    Dernier message: 26/07/2006, 10h03

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