from math import * import tkinter as tk ## Question 2.1 root = tk.Tk() root.title("Jeu de go") Hauteur = 700 Largeur = 700 Dessin=tk.Canvas(root,height=Hauteur,width=Largeur,bg="white") Dessin.pack() ## Question 2.2 delta=Hauteur/22 # Hauteur=Largeur ## Question 2.3 Dessin.create_rectangle(delta,delta,Largeur-delta, Hauteur-delta,fill='#C8A165') for i in range(2,21): Dessin.create_line((2*delta,delta*i) , (20*delta, delta*i)) Dessin.create_line((delta*i,2*delta) , (delta*i, 20*delta)) ## Question 2.4 def disque(x,y,rayon,couleur): p1 = (x-rayon,y-rayon) p2 = (x+rayon,y+rayon) Dessin.create_oval(p1,p2,width=1,fill=couleur,outline="black") def place_étoile(x,y): disque((x+1)*delta,(y+1)*delta,delta/5,'black') for i in range(4,17,6): for j in range(4,17,6): place_étoile(i,j) ## Question 2.5 def place_pierre(x,y,couleur): disque((x+1)*dx,(19-y+2)*dy,dx//2,couleur) ## Question 2.6 couleur='black' def place_pierre(x,y): global couleur disque((x+1)*delta,(19-y+2)*delta,delta//2,couleur) if couleur=='black': couleur='white' else: couleur='black' place_pierre(17,16) place_pierre(4,16) place_pierre(16,3) place_pierre(4,4) place_pierre(6,17) root.mainloop() root = tk.Tk() root.title("Traçons des segments") Hauteur = 500 Largeur = 500 Dessin=tk.Canvas(root,height=Hauteur,width=Largeur,bg="white") Dessin.pack() def affiche_pixel(x,y,couleur): Dessin.create_rectangle(x,y,x,y,fill=couleur,outline='') # question 1 def afficher_carré(): xmin = 100 ymin = 100 xmax = xmin+200 ymax = ymin+200 # On trace les lignes horizontales for x in range(xmin,xmax+1): affiche_pixel(x,ymin,'black') affiche_pixel(x,ymax,'black') # On trace les lignes verticales for y in range(ymin,ymax+1): affiche_pixel(xmin,y,'black') affiche_pixel(xmax,y,'black') afficher_carré() # question 2 def entier_le_plus_proche(q): n = floor(q) if q= abs(x1-x2): a = (x2-x1)/(y2-y1) b = x1-a*y1 for y in range(y1,y2+1): x = entier_le_plus_proche(a*y+b) affiche_pixel(x,y,'black') else: a = (y2-y1)/(x2-x1) b = y1-a*x1 for x in range(x1,x2+1): y = entier_le_plus_proche(a*x+b) affiche_pixel(x,y,'black') p1=(100,100) p2=(200,150) p3=(125,200) affiche_segment(p1,p2) affiche_segment(p1,p3) root.mainloop() root = tk.Tk() root.title("Emploi du temps") Hauteur = 700 Largeur = 900 Dessin=tk.Canvas(root,height=Hauteur,width=Largeur,bg="white") Dessin.pack() # question 1 dx = Largeur/6 dy = Hauteur/14 def jour(j): if j==1: return "Lundi" elif j==2: return "Mardi" elif j==3: return "Mercredi" elif j==4: return "Jeudi" else: return "Vendredi" Dessin.create_rectangle(dx/2,dy,Largeur-dx/2, Hauteur-dy) for i in range(8,21): Dessin.create_text(dx/4,dy*(i-8+1),text=str(i)+"h") Dessin.create_line((dx/2,dy*(i-8+1)) , (Largeur-dx/2, dy*(i-8+1))) for i in range(1,6): Dessin.create_text(i*dx ,dy/2,text=jour(i)) Dessin.create_line(i*dx+dx/2 , dy, i*dx+dx/2,Hauteur-dy) # question 2 class UE: def __init__(self,nom,couleur): self.nom=nom self.couleur=couleur def séance(self,jour,début): (x1,y1)= (dx*(jour-.5),dy*(début-8+1)) p1=(x1,y1) p2=(x1+dx,y1+2*dy) Dessin.create_rectangle(p1,p2,fill=self.couleur) Dessin.create_text(x1+.5*dx,y1+dy,text=self.nom,font="20pt") math=UE("Math","#AAFFAA") info=UE("Info","#AAAAFF") belote=UE("Belote","#FFAAAA") math.séance(1,8) math.séance(2,10) info.séance(3,17) info.séance(4,9) belote.séance(2,14) belote.séance(5,16) root.mainloop()