[Tkinter] jeu binero
Résolu
xenact_
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
xenact_ Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
xenact_ Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Bonjour,
J'aurais besoin de votre aide pour mon projet d'isn. Il s'agit de coder un Binero. Il est quasiment fini à part la création des menus mais je n'arrive pas a exécuter certaines lignes de code et je ne comprend pas pourquoi. Il s'agit du dernier elif de la fonction remplacer_et_afficher(Clic). J'espère que mon code n'est pas trop brouillon et que vous arriverez a le relire.
Mes plus sincères salutations.
Bonjour,
J'aurais besoin de votre aide pour mon projet d'isn. Il s'agit de coder un Binero. Il est quasiment fini à part la création des menus mais je n'arrive pas a exécuter certaines lignes de code et je ne comprend pas pourquoi. Il s'agit du dernier elif de la fonction remplacer_et_afficher(Clic). J'espère que mon code n'est pas trop brouillon et que vous arriverez a le relire.
Mes plus sincères salutations.
from random import choice import tkinter class variable() : def __init__(self): self.pas = 500/4 self.marge = 100 self.grille_choisi = [] self.grille_verif = [] self.fini = 0 var = variable() #grille 1 a1 = [2,2,3,3] # 1 = croix; 2 = rond; 3 = croix non modifiable; 4 = rond non modifiable b1 = [4,1,2,1] c1 = [1,1,2,2] d1 = [1,2,3,2] grille1_verif = [a1,b1,c1,d1] #grille 1 servant à la vérification a_1 = [0,0,3,3] # 1 = croix; 2 = rond; 3 = croix non modifiable; 4 = rond non modifiable b_1 = [4,0,0,0] c_1 = [0,0,0,0] d_1 = [0,0,3,0] grille1 = [a_1,b_1,c_1,d_1] #grille 2 a2 = [4,2,1,1] # 1 = croix; 2 = rond; 3 = croix non modifiable; 4 = rond non modifiable b2 = [1,2,1,2] c2 = [1,3,2,2] d2 = [4,1,4,1] grille2_verif = [a2,b2,c2,d2] #grille 2 servant à la vérification a_2 = [4,0,0,0] # 1 = croix; 2 = rond; 3 = croix non modifiable; 4 = rond non modifiable b_2 = [0,0,0,0] c_2 = [0,3,0,0] d_2 = [4,0,4,0] grille2 = [a_2,b_2,c_2,d_2] #associe la grille affiher au départ avec celle utile à la vérification liste_grille1 = [grille1, grille1_verif] liste_grille2 = [grille2, grille2_verif] #liste contenant toutes les grilles liste_grille = [liste_grille1, liste_grille2] def afficher_tableau() : ''' fonction qui créé la fenêtre et la grille de jeu 4*4 ''' global fen global can fen = tkinter.Tk() can = tkinter.Canvas(fen, width = 1000, height = 1000, bg = 'white') can.grid(row=0, column = 0) t = 0 while t <= 4 : can.create_line(var.marge, var.marge + var.pas * t, var.marge + 500, var.marge + var.pas * t, fill = 'black') can.create_line(var.marge + var.pas * t, var.marge, var.marge + var.pas * t, var.marge + 500, fill = 'black') t += 1 for ligne in range (0,4) : for colonne in range (0,4) : if var.grille_choisi[ligne][colonne] == 3 : can.create_line(var.marge + colonne * var.pas + 10, var.marge + ligne * var.pas + 10, var.marge + (colonne+1) * var.pas - 10, var.marge + (ligne+1) * var.pas - 10, width = 6, fill = "black") can.create_line(var.marge + (colonne+1) * var.pas - 10, var.marge + ligne * var.pas + 10, var.marge + colonne * var.pas + 10, var.marge + (ligne+1) * var.pas - 10, width = 6, fill = "black") elif var.grille_choisi[ligne][colonne] == 4 : can.create_oval(var.marge + colonne * var.pas + 10, var.marge + ligne * var.pas + 10, var.marge + (colonne+1) * var.pas - 10, var.marge + (ligne+1) * var.pas - 10, width = 8, fill = "white", outline = "black") can.pack() debut() fen.mainloop() def grille_alea(liste_grille): ''' fonction qui choisit une grille aléatoirement parmi la celle contenue dans la liste de grille ''' var.grille_choisi = choice(liste_grille) var.grille_verif = var.grille_choisi[1] var.grille_choisi = var.grille_choisi[0] def remplacer_et_afficher(Clic) : ''' fonction qui créé et supprime les cercle et croix placé dans la grille ''' for ligne in range (0,4): #on parcourt chaque ligne for colonne in range (0,4) : #puis chaque colonne #on test si le dans quel case le clic est éffectuer if Clic.x > var.marge + colonne * var.pas and Clic.x < var.marge + (colonne+1) * var.pas and Clic.y > var.marge + ligne * var.pas and Clic.y < var.marge + (ligne+1) * var.pas : #on créé une croix, un rond dans la case, ou on efface la case en fonction de l'objet dans la case if var.grille_choisi[ligne][colonne] == 0 : var.grille_choisi[ligne][colonne] = 1 can.create_line(var.marge + colonne * var.pas + 10, var.marge + ligne * var.pas + 10, var.marge + (colonne+1) * var.pas - 10, var.marge + (ligne+1) * var.pas - 10, width = 6, fill = "blue") can.create_line(var.marge + (colonne+1) * var.pas - 10, var.marge + ligne * var.pas + 10, var.marge + colonne * var.pas + 10, var.marge + (ligne+1) * var.pas - 10, width = 6, fill = "blue") elif var.grille_choisi[ligne][colonne] == 1 : var.grille_choisi[ligne][colonne] = 2 var.grille_choisi[ligne][colonne] = can.create_rectangle(var.marge + colonne * var.pas + 5, var.marge + ligne * var.pas + 5, var.marge + (colonne+1) * var.pas - 5, var.marge + (ligne+1) * var.pas - 5, width = 1, fill = "white", outline = "white") var.grille_choisi[ligne][colonne] = can.create_oval(var.marge + colonne * var.pas + 10, var.marge + ligne * var.pas + 10, var.marge + (colonne+1) * var.pas - 10, var.marge + (ligne+1) * var.pas - 10, width = 8, fill = "white", outline = "red") elif var.grille_choisi[ligne][colonne] == 2 : var.grille_choisi[ligne][colonne] = 0 var.grille_choisi[ligne][colonne] = can.create_rectangle(var.marge + colonne * var.pas + 5, var.marge + ligne * var.pas + 5, var.marge + (colonne+1) * var.pas - 5, var.marge + (ligne+1) * var.pas - 5, width = 1, fill = "white", outline = "white") def verification() : ''' fonction qui vérifie si l'utilisateur a correctement rempli la grille ''' if var.grille_choisi == var.grille_verif : var.fini = 1 def debut(): can.bind_all('<Button-1>', remplacer_et_afficher) grille_alea(liste_grille) afficher_tableau()
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- [Tkinter] jeu binero
- 94 jeu - Télécharger - Puzzle & Réflexion
- 94 degrés jeu - Télécharger - Divers Jeux
- Jeu zuma - Télécharger - Jeux vidéo
- Logo jeu - Télécharger - Jeux vidéo
- Jeu google - Guide
3 réponses
Bonsoir.
En python, un code non indenté est incompréhensible, c'est pour cette raison que les forums fournissent des outils de mises en forme du code, ici, c'est le bouton <>.
Donc, si tu pouvais éditer ton message afin d'utiliser cette fonctionnalité, tu aurais bien plus de chances d'intéresser quiconque à essayer de t'aider.
En python, un code non indenté est incompréhensible, c'est pour cette raison que les forums fournissent des outils de mises en forme du code, ici, c'est le bouton <>.
Donc, si tu pouvais éditer ton message afin d'utiliser cette fonctionnalité, tu aurais bien plus de chances d'intéresser quiconque à essayer de t'aider.
Bonsoir, un autre truc important avec les forums, ceux qui répondent sont bénévoles.
Par définition, leur urgence n'est pas de répondre à une question.
Le fait d'indiquer que c'est urgent pour toi est plutôt néfaste pour toi.
Beaucoup se disent,
Par définition, leur urgence n'est pas de répondre à une question.
Le fait d'indiquer que c'est urgent pour toi est plutôt néfaste pour toi.
Beaucoup se disent,
encore un qui fait son devoir/travail au dernier moment, qui a séché les cours, etc... et qui veut qu'on lui sauve ses miches.et ne lisent même pas ton message.