Projet Python

Bonjour, je recherches de l'aide pour un projet sur Python :

Mon but actuel est de faire tourner un rectangle sur lui même (inversé la longueur et la largeur) et pouvoir ainsi le faire se déplacé de cette façon. Mon programme actuel est celui-ci :

# -- coding: cp1252 --
from Tkinter import *

#Coordonées rectangle

#Fonction clavier
def clavier(event):
global coords

touche = event.keysym
if touche == "Up":
coords = (coords[0], coords[1] - 10)
elif touche == "Down":
coords = (coords[0], coords[1] + 10)
elif touche == "Right":
coords = (coords[0] + 10, coords[1])
elif touche == "Left":
coords = (coords[0] -10, coords[1])
#Rotation du rectangle
#Attribution des coordonées au rectangle
canvas.coords(rectangle, coords[0], coords[1], coords[0]+70, coords[1]+25)

#Création de la fenêtre
fenetre = Tk()
fenetre.title("projet")
fenetre.minsize(900, 900)

#Création du canvas
canvas=Canvas(fenetre,width=900,height=800,bg="white")

#Création zone de départ et d'arrivée
canvas.create_rectangle(0,0,100,100,fil="black")
canvas.create_rectangle(800,700,900,800,fil="black")

#Reconnaissance touche
canvas.bind("<Key>", clavier)

#Création du rectangle
coords = (0, 0)
rectangle = canvas.create_rectangle(0,0,70,25,fill="red")

canvas.focus_set()
canvas.pack()

fenetre.mainloop()

Ce qui me permet d'avoir un rectangle qui se déplace dans un zone de dessin.

Merci d'avance à tout ceux qui pourront/essayeront de m'aider.

PS : Chaque petit pas peu énormément m'aider voir me débloquer, donc si vous avez une idée même pour un petit truc hésitez pas !

Projet Python
Poster un commentaire
anonyme
anonyme
a
8 ans

Pour ceux que ça intéresse j'ai finalement réussi à tourner mon rectangle et à bloquer la sortie du carré sur les bords, j'ai également insérer une sorte de labyrinthe qui est censé forcer l'utilisation du pivot mais pour l'instant tout passe au travers, c'est un nouveau mystère à résoudre si quelqu'un est partant pour m'aider !

# -- coding: cp1252 --
from Tkinter import *

#Coordonées rectangle

#Fonction clavier
def clavier(event):
global coords,switch

touche = event.keysym
if touche == "Up" and canvas.coords(rectangle)[1]>0:
coords = (coords[0], coords[1] - 10)
elif touche == "Down" and canvas.coords(rectangle)[3]<800:
coords = (coords[0], coords[1] + 10)
elif touche == "Right" and canvas.coords(rectangle)[2]<900:
coords = (coords[0] + 10, coords[1])
elif touche == "Left" and canvas.coords(rectangle)[0]>0:
coords = (coords[0] -10, coords[1])
#Rotation du rectangle
elif touche== "p":
if switch=="h":
switch="v"
else:
switch="h"
#Attribution des coordonées au rectangle
if switch=="h":
canvas.coords(rectangle, coords[0], coords[1], coords[0]+70, coords[1]+25)
else:
canvas.coords(rectangle, coords[0], coords[1], coords[0]+25, coords[1]+70)
print canvas.coords(rectangle)

#Création de la fenêtre
fenetre = Tk()
fenetre.title("projet")
fenetre.minsize(900, 900)

#Création du canvas
canvas=Canvas(fenetre,width=900,height=800,bg="white")

#Création zone de départ et d'arrivée
canvas.create_rectangle(0,0,100,100,fil="darkblue")
canvas.create_rectangle(0,700,100,800,fil="darkred")

#Création obstacle
canvas.create_rectangle(0,111,850,101,fil="black")
canvas.create_rectangle(50,211,900,201,fil="black")
canvas.create_rectangle(0,311,850,301,fil="black")
canvas.create_rectangle(50,411,900,401,fil="black")
canvas.create_rectangle(0,511,850,501,fil="black")
canvas.create_rectangle(50,611,900,601,fil="black")
canvas.create_rectangle(0,701,800,691,fil="black")
canvas.create_rectangle(420,161,430,151,fil="black")
canvas.create_rectangle(420,261,430,251,fil="black")
canvas.create_rectangle(420,361,430,351,fil="black")
canvas.create_rectangle(420,461,430,451,fil="black")
canvas.create_rectangle(420,561,430,551,fil="black")
canvas.create_rectangle(420,661,430,651,fil="black")
canvas.create_rectangle(420,761,430,751,fil="black")

#Reconnaissance touche
canvas.bind("<Key>", clavier)

#Création du rectangle
coords = (0, 0)
rectangle = canvas.create_rectangle(0,0,70,25,fill="darkgreen")

#variable rotation (h=horizontal et v = vertical)
switch="h"

canvas.focus_set()
canvas.pack()


fenetre.mainloop()

remiweb
remiweb
8 ans

Tu pourrais héberger ça ailleurs pour qu'on ait l'indentation ? (genre pastebin)
Je suis pas sûr de bien comprendre ce que tu veux faire mais je regarderai ça jeudi quand j'aurai plus de temps.

anonyme
anonyme
a
8 ans

@remiweb: Heu je connais pas trop pastebin mais je peux regarder, par contre pas trop le temps aujourd'hui donc je verrai ça demain au mieux, en attendant j'ai aussi poster sur Openclassroom :
http://openclassrooms.com/forum/sujet/recherche-d-aide-projet-python?page=1#message-88633262

remiweb
remiweb
8 ans

@taikan: Ok c'est bon, c'était juste histoire d'avoir l'indentation.

Cette page est réservée aux ADULTES

Tu es sur le point d'accéder à un site web qui contient du matériel explicite (pornographie).

Tu ne dois accéder à ce site que si tu as au moins 18 ans ou si tu as l'âge légal pour visionner ce type de matériel dans ta juridiction locale, l’âge le plus élevé étant retenu. En outre, tu déclares et garantis que tu ne permettras aucun mineur à d'accéder à ce site ou à ces services.


En accédant à ce site, tu acceptes nos conditions d'utilisation.