1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
# -*- coding: utf-8 -*-
class Rectangle(object):
def __init__(self, x, y, largeur, hauteur):
self.x = x
self.y = y
self.largeur = largeur
self.hauteur = hauteur
self.coins = self.get_coins()
self.cotes = self.get_cotes()
def get_coins(self):
coins = {1: Point(self.x, self.y, 'haut_gauche'),
2: Point(self.x + self.largeur, self.y, 'haut_droit'),
3: Point(self.x + self.largeur, self.y + self.hauteur, 'bas_droit'),
4: Point(self.x, self.y + self.hauteur, 'bas_gauche')}
return coins
def get_cotes(self):
cotes = {1: Ligne(self.coins[1], self.coins[2], 'haut'),
2: Ligne(self.coins[2], self.coins[3], 'droit'),
3: Ligne(self.coins[3], self.coins[4], 'bas'),
4: Ligne(self.coins[4], self.coins[1], 'gauche')}
return cotes
class Point(object):
def __init__(self, x, y, name=None):
self.x = x
self.y = y
self.name = name
class Ligne(object):
def __init__(self, debut, fin, name=None):
self.debut = debut
self.fin = fin
self.name = name
rect = Rectangle(10, 25, 60, 90)
print u"Le coté droit du rectange commence à: <%s:%s> finit à: <%s:%s> et s'appelle: '%s'" \
% (rect.cotes[2].debut.x, rect.cotes[2].debut.y, rect.cotes[2].fin.x,
rect.cotes[2].fin.y, rect.cotes[2].name) |