Python programmation jeux puissance 4
KEVIN471
Messages postés
30
Date d'inscription
Statut
Membre
Dernière intervention
-
KEVIN471 Messages postés 30 Date d'inscription Statut Membre Dernière intervention -
KEVIN471 Messages postés 30 Date d'inscription Statut Membre Dernière intervention -
Bonjour
Je me suis actuellement lancé dans la programmation d'un jeux de puissance 4.
Pour ceci j'utilise d'abord le module graphics programmé à partir de la Tk.
Le problème est une fois la fenêtre de jeux ouverte ou je veux appelée les fonctions «Jeton_rouge»,
«Jeton_jaune» et «Draw_jeton» dans la fonction «Play» pour pouvoir dessiner les jetons. Mais python ne reconnait pas ces fonctions et affiche un message d'erreur
Merci de m'aider.
voici le code:
from graphics.fenetres import *
from graphics.couleurs import *
f = Fenetre() # ouverture de la fenêtre d'acceuil
f.title("jeu du puissance 4")
zg = f.graphique(largeur = 1500,hauteur = 800,couleur = bleu)
p=Point(750,400)
zg.aff_texte("Puissance 4",p,taille=50,police='arial',couleur='Yellow',
souligne = 'N',gras='N',italique='N')
p=Point(750,750)
zg.aff_texte("2014-copyright",p,taille=20,police='arial',couleur='Yellow',
souligne = 'N',gras='N',italique='N')
def Jeton_rouge(event):
"Dessine un cercle rouge ou le clik a été fait sur la page de jeux"
p = Point(event.x,event.y)
zgf.draw_fill_circle(p,50,rouge)
def Jeton_jaune(event):
"Dessine un cercle jaune ou le clik a été fait sur la page de jeux"
p = Point(event.x,event.y)
zgf.draw_fill_circle(p,50,jaune)
def draw_jetons():
zgf.bind('<Button-1>',Jeton_rouge)
zgf.bind('<Button-3>',Jeton_jaune)
def Shut(): #fonction detruit page acceuil après le clik sur le bouton quitter
f.destroy()
def Play(): #fonction ouvre la page de jeux aprés le clik sur le bouton jouer
f.destroy()
m=Fenetre()
m.title("C'est Parti !!!")
zgf = m.graphique(largeur = 1500,hauteur = 800,couleur = bleu)
p = Point(50,750)
q = Point(1450,750)
zgf.draw_line(p,q,jaune)
p = Point(50,750)
q = Point(50,50)
zgf.draw_line(p,q,jaune)
p = Point(1450,50)
q = Point(50,50)
zgf.draw_line(p,q,jaune)
p = Point(1450,50)
q = Point(1450,750)
zgf.draw_line(p,q,jaune)
p = Point(1450,50)
q = Point(1450,750)
zgf.draw_line(p,q,jaune)
p = Point(250,50)
q = Point(250,750)
zgf.draw_line(p,q,jaune)
p = Point(450,50)
q = Point(450,750)
zgf.draw_line(p,q,jaune)
p = Point(650,50)
q = Point(650,750)
zgf.draw_line(p,q,jaune)
p = Point(850,50)
q = Point(850,750)
zgf.draw_line(p,q,jaune)
p = Point(1050,50)
q = Point(1050,750)
zgf.draw_line(p,q,jaune)
p = Point(1250,50)
q = Point(1250,750)
zgf.draw_line(p,q,jaune)
p = Point(50,150)
q = Point(1450,150)
zgf.draw_line(p,q,jaune)
p = Point(50,250)
q = Point(1450,250)
zgf.draw_line(p,q,jaune)
p = Point(50,350)
q = Point(1450,350)
zgf.draw_line(p,q,jaune)
p = Point(50,450)
q = Point(1450,450)
zgf.draw_line(p,q,jaune)
p = Point(50,550)
q = Point(1450,550)
zgf.draw_line(p,q,jaune)
p = Point(50,650)
q = Point(1450,650)
zgf.draw_line(p,q,jaune)
Jeton_rouge(event)
Jeton_jaune(event)
draw_jetons()
#Deux boutons créer: un qui permet de jouer l'autre de quitter le jeux
b=f.bouton(largeur = 30, hauteur=5,texte = "Jouer",alignement = 'gauche_bas')
b.configure(bg = rouge)
b.configure(fg = jaune)
b.configure(command = Play)
c=f.bouton(largeur = 30,hauteur=5,texte = "Quitter",alignement = 'droite_bas')
c.configure(bg = rouge)
c.configure(fg = jaune)
c.configure(command = Shut)
Je me suis actuellement lancé dans la programmation d'un jeux de puissance 4.
Pour ceci j'utilise d'abord le module graphics programmé à partir de la Tk.
Le problème est une fois la fenêtre de jeux ouverte ou je veux appelée les fonctions «Jeton_rouge»,
«Jeton_jaune» et «Draw_jeton» dans la fonction «Play» pour pouvoir dessiner les jetons. Mais python ne reconnait pas ces fonctions et affiche un message d'erreur
Merci de m'aider.
voici le code:
from graphics.fenetres import *
from graphics.couleurs import *
f = Fenetre() # ouverture de la fenêtre d'acceuil
f.title("jeu du puissance 4")
zg = f.graphique(largeur = 1500,hauteur = 800,couleur = bleu)
p=Point(750,400)
zg.aff_texte("Puissance 4",p,taille=50,police='arial',couleur='Yellow',
souligne = 'N',gras='N',italique='N')
p=Point(750,750)
zg.aff_texte("2014-copyright",p,taille=20,police='arial',couleur='Yellow',
souligne = 'N',gras='N',italique='N')
def Jeton_rouge(event):
"Dessine un cercle rouge ou le clik a été fait sur la page de jeux"
p = Point(event.x,event.y)
zgf.draw_fill_circle(p,50,rouge)
def Jeton_jaune(event):
"Dessine un cercle jaune ou le clik a été fait sur la page de jeux"
p = Point(event.x,event.y)
zgf.draw_fill_circle(p,50,jaune)
def draw_jetons():
zgf.bind('<Button-1>',Jeton_rouge)
zgf.bind('<Button-3>',Jeton_jaune)
def Shut(): #fonction detruit page acceuil après le clik sur le bouton quitter
f.destroy()
def Play(): #fonction ouvre la page de jeux aprés le clik sur le bouton jouer
f.destroy()
m=Fenetre()
m.title("C'est Parti !!!")
zgf = m.graphique(largeur = 1500,hauteur = 800,couleur = bleu)
p = Point(50,750)
q = Point(1450,750)
zgf.draw_line(p,q,jaune)
p = Point(50,750)
q = Point(50,50)
zgf.draw_line(p,q,jaune)
p = Point(1450,50)
q = Point(50,50)
zgf.draw_line(p,q,jaune)
p = Point(1450,50)
q = Point(1450,750)
zgf.draw_line(p,q,jaune)
p = Point(1450,50)
q = Point(1450,750)
zgf.draw_line(p,q,jaune)
p = Point(250,50)
q = Point(250,750)
zgf.draw_line(p,q,jaune)
p = Point(450,50)
q = Point(450,750)
zgf.draw_line(p,q,jaune)
p = Point(650,50)
q = Point(650,750)
zgf.draw_line(p,q,jaune)
p = Point(850,50)
q = Point(850,750)
zgf.draw_line(p,q,jaune)
p = Point(1050,50)
q = Point(1050,750)
zgf.draw_line(p,q,jaune)
p = Point(1250,50)
q = Point(1250,750)
zgf.draw_line(p,q,jaune)
p = Point(50,150)
q = Point(1450,150)
zgf.draw_line(p,q,jaune)
p = Point(50,250)
q = Point(1450,250)
zgf.draw_line(p,q,jaune)
p = Point(50,350)
q = Point(1450,350)
zgf.draw_line(p,q,jaune)
p = Point(50,450)
q = Point(1450,450)
zgf.draw_line(p,q,jaune)
p = Point(50,550)
q = Point(1450,550)
zgf.draw_line(p,q,jaune)
p = Point(50,650)
q = Point(1450,650)
zgf.draw_line(p,q,jaune)
Jeton_rouge(event)
Jeton_jaune(event)
draw_jetons()
#Deux boutons créer: un qui permet de jouer l'autre de quitter le jeux
b=f.bouton(largeur = 30, hauteur=5,texte = "Jouer",alignement = 'gauche_bas')
b.configure(bg = rouge)
b.configure(fg = jaune)
b.configure(command = Play)
c=f.bouton(largeur = 30,hauteur=5,texte = "Quitter",alignement = 'droite_bas')
c.configure(bg = rouge)
c.configure(fg = jaune)
c.configure(command = Shut)
A voir également:
- Python puissance 4
- Test puissance pc - Guide
- Citizen code python avis - Accueil - Outils
- Code gta 4 ps4 - Guide
- Puissance signal wifi - Guide
- Puissance en c - Forum Programmation
4 réponses
zgf n'est peut-être pas une variable globale si cette variable n'est pas importé par ton module graphics.
Pour moi le problème est zgf construit dans play
Voici un exemple concret pour expliquer le soucis
Pour moi le problème est zgf construit dans play
Voici un exemple concret pour expliquer le soucis
>>> def test(): ... l.append(5) ... >>> def verify(): ... l = [1, 2] ... test() ... return l ... >>> verify() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 3, in verify File "<stdin>", line 2, in test NameError: name 'l' is not defined
Voila le code avec les indentations.
Petite chose: j'utilise l'IDLE de python (file puis new window)
Petite chose: j'utilise l'IDLE de python (file puis new window)
from graphics.fenetres import * from graphics.couleurs import * f = Fenetre() # ouverture de la fenêtre d'acceuil f.title("jeu du puissance 4") zg = f.graphique(largeur = 1500,hauteur = 800,couleur = bleu) p=Point(750,400) zg.aff_texte("Puissance 4",p,taille=50,police='arial',couleur='Yellow', souligne = 'N',gras='N',italique='N') p=Point(750,750) zg.aff_texte("2014-copyright",p,taille=20,police='arial',couleur='Yellow', souligne = 'N',gras='N',italique='N') def Jeton_rouge(event): "Dessine un cercle rouge ou le clik a été fait sur la page de jeux" p = Point(event.x,event.y) zgf.draw_fill_circle(p,50,rouge) def Jeton_jaune(event): "Dessine un cercle jaune ou le clik a été fait sur la page de jeux" p = Point(event.x,event.y) zgf.draw_fill_circle(p,50,jaune) def draw_jetons(): zgf.bind('<Button-1>',Jeton_rouge) zgf.bind('<Button-3>',Jeton_jaune) def Shut(): #fonction detruit page acceuil après le clik sur le bouton quitter f.destroy() def Play(): #fonction ouvre la page de jeux aprés le clik sur le bouton jouer f.destroy() m=Fenetre() m.title("C'est Parti !!!") zgf = m.graphique(largeur = 1500,hauteur = 800,couleur = bleu) p = Point(50,750) q = Point(1450,750) zgf.draw_line(p,q,jaune) p = Point(50,750) q = Point(50,50) zgf.draw_line(p,q,jaune) p = Point(1450,50) q = Point(50,50) zgf.draw_line(p,q,jaune) p = Point(1450,50) q = Point(1450,750) zgf.draw_line(p,q,jaune) p = Point(1450,50) q = Point(1450,750) zgf.draw_line(p,q,jaune) p = Point(250,50) q = Point(250,750) zgf.draw_line(p,q,jaune) p = Point(450,50) q = Point(450,750) zgf.draw_line(p,q,jaune) p = Point(650,50) q = Point(650,750) zgf.draw_line(p,q,jaune) p = Point(850,50) q = Point(850,750) zgf.draw_line(p,q,jaune) p = Point(1050,50) q = Point(1050,750) zgf.draw_line(p,q,jaune) p = Point(1250,50) q = Point(1250,750) zgf.draw_line(p,q,jaune) p = Point(50,150) q = Point(1450,150) zgf.draw_line(p,q,jaune) p = Point(50,250) q = Point(1450,250) zgf.draw_line(p,q,jaune) p = Point(50,350) q = Point(1450,350) zgf.draw_line(p,q,jaune) p = Point(50,450) q = Point(1450,450) zgf.draw_line(p,q,jaune) p = Point(50,550) q = Point(1450,550) zgf.draw_line(p,q,jaune) p = Point(50,650) q = Point(1450,650) zgf.draw_line(p,q,jaune) Jeton_rouge(event) Jeton_jaune(event) draw_jetons() #Deux boutons créer: un qui permet de jouer l'autre de quitter le jeux b=f.bouton(largeur = 30, hauteur=5,texte = "Jouer",alignement = 'gauche_bas') b.configure(bg = rouge) b.configure(fg = jaune) b.configure(command = Play) c=f.bouton(largeur = 30,hauteur=5,texte = "Quitter",alignement = 'droite_bas') c.configure(bg = rouge) c.configure(fg = jaune) c.configure(command = Shut)
J'ai remplacé zgf par zg (la variable étant reconnue par le module) mais cette fois le problème se trouve lorsque j'appelle les fonctions Jeton_rouge et Jeton_jaune dans la fonction play. L'argument event attribué aux fonction Jeton_rouge et Jeton_jaune n'est pas reconnue par la console. Quand je l'enlève la console me répond qu'il manque un l'argument event.