Bonjour !
J'ai comme projet pour mon cours de gestion de projet de faire un jeu de redsquare :
http://kabubble.com/ga_red_square.htm
le professeur nous donné un code sur lequel se basé pour faire le reste de notre projet.
Ce code, exécuté sous windows avec éclipse avec l'extension pydev d'installé et utilisant l'interpreteur python 2.6 affiche un carré rouge avec 4 carré bleus.
Sur mac os, sous eclipse, avec ce même pydev d'installé et la même version de python,
je ne vois qu'une fenêtre blanche avec un minuscule carré noir...
Je crois que le problème viens de la librairie graphique TKinter...
quelqu'un aurait-il une idée de la source du problème ?
PS. (Je dois le remettre mardi, donc le 8 février.)
MERCI !
J'ai comme projet pour mon cours de gestion de projet de faire un jeu de redsquare :
http://kabubble.com/ga_red_square.htm
le professeur nous donné un code sur lequel se basé pour faire le reste de notre projet.
Bloc de code:
# -*- coding: iso-8859-1 -*-
from Tkinter import *
import math
import random
class Helper(object):
""" cette classe est utilisé de facon statique sans creer d'objet"""
def getAngledPoint(angle,longueur,cx,cy):
""" angle est en radians"""
x = (math.cos(angle)*longueur)+cx
y = (math.sin(angle)*longueur)+cy
return (x,y)
getAngledPoint = staticmethod(getAngledPoint)
def calcAngle(x1,y1,x2,y2):
dx = x2-x1
dy = y2-y1
angle = (math.atan2(dy,dx) )
return angle
calcAngle = staticmethod(calcAngle)
def calcDistance(x1,y1,x2,y2):
dx = abs(x2-x1)**2
dy = abs(y2-y1)**2
distance=math.sqrt(dx+dy)
return distance
calcDistance = staticmethod(calcDistance)
# MODELE
class Carrerouge():
def __init__(self,parent):
self.parent=parent
self.pos=[self.parent.taille/2,self.parent.taille/2]
class Bloqueur():
def __init__(self,pos):
self.pos=pos
class AiredejeuCarre():
def __init__(self,taille):
x=taille/10
self.pos1=[x,x]
self.pos2=[taille-x,taille-x]
class AiredejeuBloqueur():
def __init__(self,taille):
self.taille=[taille,taille]
class Partie():
def __init__(self,parent,taille=100,nbrbloqueurs=4):
self.parent=parent
self.taille=taille
self.carre=Carrerouge(self)
self.bloqueurs=[]
self.airedejeuCarre=AiredejeuCarre(self.taille)
self.airedejeuBloqueurs=AiredejeuBloqueur(self.taille)
self.debut=0
self.nbrBloqueurs=nbrbloqueurs
self.creeBloqueurs()
def avertiClic(self,x,y):
self.carre.pos=[x,y]
def creeBloqueurs(self):
d=360/self.nbrBloqueurs
deplace=36
posx=self.carre.pos[0]
posy=self.carre.pos[1]
for i in range(self.nbrBloqueurs):
x,y=Helper.getAngledPoint(math.radians((d*i)+deplace), 100, posx, posy)
print x,y
self.bloqueurs.append(Bloqueur((x,y)))
#CONTROLEUR
class Controleur():
def __init__(self):
self.partie=Partie(self,400)
self.vue=Vue(self,400)
self.vue.dessinePartie(self.partie)
self.vue.root.mainloop()
def avertiClic(self,x,y):
self.partie.avertiClic(x,y)
self.vue.dessinePartie(self.partie)
# VUE
class Vue:
def __init__(self,parent,taille=400):
self.parent=parent
self.root=Tk()
self.taille=taille
self.airedejeu=Canvas(self.root,width=taille,height=taille,bg="black")
self.airedejeu.bind("<Button>",self.avertiClic)
self.msg=Label(self.root,text="Rien à dire")
self.msg.pack()
self.airedejeu.pack()
def avertiClic(self,eve):
self.parent.avertiClic(eve.x,eve.y)
def dessinePartie(self,partie):
x=self.taille/10
fract=x/2
self.airedejeu.create_rectangle(partie.airedejeuCarre.pos1[0],
partie.airedejeuCarre.pos1[1],
partie.airedejeuCarre.pos2[0],
partie.airedejeuCarre.pos2[1],
fill="white",tags=("aire",))
self.airedejeu.create_rectangle(partie.carre.pos[0]-fract,
partie.carre.pos[1]-fract,
partie.carre.pos[0]+fract,
partie.carre.pos[1]+fract,
fill="red",tags=("carre",))
for i in partie.bloqueurs:
self.airedejeu.create_rectangle(i.pos[0]-fract,
i.pos[1]-fract,
i.pos[0]+fract,
i.pos[1]+fract,
fill="blue",tags=("bloc",))
# MAIN
if __name__ == '__main__':
controleur=Controleur()
print "FIN"
Ce code, exécuté sous windows avec éclipse avec l'extension pydev d'installé et utilisant l'interpreteur python 2.6 affiche un carré rouge avec 4 carré bleus.
Sur mac os, sous eclipse, avec ce même pydev d'installé et la même version de python,
je ne vois qu'une fenêtre blanche avec un minuscule carré noir...
Je crois que le problème viens de la librairie graphique TKinter...
quelqu'un aurait-il une idée de la source du problème ?
PS. (Je dois le remettre mardi, donc le 8 février.)
MERCI !