Téléchargement
illégal
Posez votre question Signaler

[Python] problème de classe

Nefertari - Dernière réponse le 20 avril 2010 à 16:50
Bonjour,
Voici un bout de code tout simple, mais qui ne veut pas marcher :-(
#-*- coding: utf-8 -*-
from Tkinter import *

class Fond(object):
    "s'occupe de l'arrière plan du jeu"
    def __init__(self,taille_case=30,couleur='white'):
        self = Tk()

        self.taille = taille_case               #définit la taille des cases
        self.couleur = couleur                  #définit la couleur des cases
        
    def grille(self,x,y):
        "Dessine la grille"
        taille_case=self.taille
        canvas = Canvas(self, width =x*taille_case+4, height=y*taille_case+4)
        i = 0
        while i < x:
            j = 0
            while j < y:
                canvas.create_rectangle((i*taille_case)+2,(j*taille_case)+2,
                                        ((i+1)*taille_case)+2 , ((j+1)*taille_case)+2, fill=self.couleur)
                j+=1
            i+=1

        canvas.pack()
    
if __name__=='__main__':
    root = Fond()
    root.grille(10,10)
    root.mainloop()

Quelqu'un pourrait-il m'aider ??
Sans classe tout va pourtant bien :'(
Merci...
Lire la suite 

[Python] problème de classe »

1 réponses
Réponse
+0
moins plus
ça ça marche, mais je suis pas convaincu que c'est la meilleure solution:
#-*- coding: utf-8 -*-
from Tkinter import *

class Fond(object):
    "s'occupe de l'arrière plan du jeu"
    def __init__(self,taille_case=30,couleur='white'):
        self.R = Tk()

        self.taille = taille_case               #définit la taille des cases
        self.couleur = couleur                  #définit la couleur des cases
        
    def grille(self,x,y):
        "Dessine la grille"
        taille_case=self.taille
        canvas = Canvas(self.R, width =x*taille_case+4, height=y*taille_case+4)
        i = 0
        while i < x:
            j = 0
            while j < y:
                canvas.create_rectangle((i*taille_case)+2,(j*taille_case)+2,
                                        ((i+1)*taille_case)+2 , ((j+1)*taille_case)+2, fill=self.couleur)
                j+=1
            i+=1

        canvas.pack()
    
if __name__=='__main__':
    root = Fond()
    root.grille(10,10)
    root.R.mainloop()
Ajouter un commentaire
Ce document intitulé « [Python] problème de classe » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?