Projet isn debutant, besoin d'aide tkinter
isn36
Messages postés
3
Statut
Membre
-
isn36 Messages postés 3 Statut Membre -
isn36 Messages postés 3 Statut Membre -
bonjour a tous
voila nous sommes en terminale S et nous avons un projet a faire pour le bac .
nous souhaitions faire un jeux avec un pion qui doit eviter les mur qui defile et nous n'arrivons pas a faire défiler notre déco autrement dis les mur dériére qui doivent défiller :s'élargir et rétrécir.
pour le moment nous avons tkinter et notre pion qui peu bouger avec le pavé numérique .
on arrive a matérialiser le mur a l'arriére mais sans aucune intéractions de celui ci .
merci d'avance pour vos réponse
voila nous sommes en terminale S et nous avons un projet a faire pour le bac .
nous souhaitions faire un jeux avec un pion qui doit eviter les mur qui defile et nous n'arrivons pas a faire défiler notre déco autrement dis les mur dériére qui doivent défiller :s'élargir et rétrécir.
pour le moment nous avons tkinter et notre pion qui peu bouger avec le pavé numérique .
on arrive a matérialiser le mur a l'arriére mais sans aucune intéractions de celui ci .
# script pion.py
from tkinter import *
def Clavier(event):
""" Gestion de l'événement Appui sur une touche du clavier """
global PosX,PosY
touche = event.keysym
# déplacement vers le haut
if touche == '8' :
PosY -= 10
# déplacement vers le bas
if touche == '2' :
PosY += 10
# déplacement vers la droite
if touche == '6':
PosX += 10
# déplacement vers la gauche
if touche == '4':
PosX -= 10
# on dessine le pion à sa nouvelle position
Canevas.coords(Pion,PosX -5, PosY -5, PosX +5, PosY +5)
# Création de la fenêtre principale
Mafenetre = Tk()
Mafenetre.title('Doodle run')
# position initiale du pion
PosX = 150
PosY = 150
# Création d'un widget Canvas (zone graphique)
r=20
Largeur = 500
Hauteur = 500
Canevas = Canvas(Mafenetre, width = Largeur, height =Hauteur, bg ='black')
Pion = Canevas.create_rectangle(PosX-5,PosY-5,PosX+5,PosY+5,width=2,outline='white',fill='blue')
Canevas.focus_set()
Canevas.bind('<Key>',Clavier)
Canevas.pack(padx =5, pady =5)
# Création d'un widget Button (bouton Quitter)
Button(Mafenetre, text ='Quitter', command = Mafenetre.destroy).pack(side=LEFT,padx=5,pady=5)
Mafenetre.mainloop()
merci d'avance pour vos réponse
A voir également:
- Projet isn debutant, besoin d'aide tkinter
- Filigrane projet - Guide
- Gant projet - Télécharger - Gestion de projets
- Logiciel montage vidéo débutant - Guide
- Logiciel de programmation pour débutant - Guide
- Apprendre le coran pour débutant (+ pdf) - Télécharger - Histoire & Religion
4 réponses
tkinter pour un jeu ? C'est possible mais ça fait un peu bricolage, pourquoi ne pas utiliser pygame ?
nous sommes obliger d'utiliser tkinter c'est le prof qui nous l'impose
nous voulons faire une voiture en gros qui doit eviter les mur donc on doit faire défiler des mur derriere qui ce déplace de gauche a droite qui s'élargissent ou ce retrécisse
nous voulons faire une voiture en gros qui doit eviter les mur donc on doit faire défiler des mur derriere qui ce déplace de gauche a droite qui s'élargissent ou ce retrécisse
from tkinter import *
from random import *
global L,y
L=[]
fenetre = Tk()
zone_dessin=Canvas(fenetre,width=500,height=500,bg="white")
zone_dessin.pack()
x=50
y=500
flag=0
while y>0:
zone_dessin.create_rectangle(0,y,x+10,y-10,fill="black",outline="blue")
zone_dessin.create_rectangle(x+110,y,500,y-10,fill="black",outline="red")
y=y-10
x=randrange(x-9,x+9)
if x>=1 and x<=10:
x=randrange(x,x+9)
elif x==0:
x=randrange(x+1,x+9)
elif x>=480 and x<=499:
x=randrange(x,x-9)
elif x==500:
x=randrange(x-1,x-9)
L.append(x)
def murs():
y=500
L.pop(0)
for i in range (0,len(L)-1):
X=L[i]
zone_dessin.destroy_rectangle(0,y,X+10,y-10,fill="black",outline="blue")
zone_dessin.destroy_rectangle(X+110,y,500,y-10,fill="black",outline="red")
x=L[i]
zone_dessin.create_rectangle(0,y,x+10,y-10,fill="black",outline="blue")
zone_dessin.create_rectangle(x+110,y,500,y-10,fill="black",outline="red")
y=y-10
if flag>0:
fenetre.after(50,murs())
x=randrange(x-9,x+9)
if x>=1 and x<=10:
x=randrange(x,x+9)
elif x==0:
x=randrange(x+1,x+9)
elif x>=480 and x<=499:
x=randrange(x,x-9)
elif x==500:
x=randrange(x-1,x-9)
L.append(x)
def start():
global flag
if flag==0:
flag=1
murs()
def pause():
global flag
flag=0
pause=Button(fenetre,text="Pause",command=pause)
pause.pack()
demarrer=Button(fenetre,text="Demarrer",command=start)
demarrer.pack()
quitter=Button(fenetre,text="Quitter",command=fenetre.destroy)
quitter.pack()
fenetre.mainloop()
voila on a avancer un peu sur la modélisation des murs mais on n'arrive pas a les faire défiler en sachant que les mur ne doivent pas avoir trop d'écarts entre chaque morceaux