# montrebase3.py

Created by schraf

Created on November 14, 2021

1.55 KB

```from turtle import *
from random import random,randint,choice
from time import sleep

def trait(x, y, a, d):
penup()
goto(x, y)
pendown()
forward(d)

def grille(nb):
case = min(H,L) // nb
H_m, L_m = -nb * case / 2, -nb * case /2
for i in range(1,nb):
trait(L_m, H_m + case * i, 0, nb * case)
trait(L_m + case * i, H_m, 90, nb * case)
return case, H_m, L_m

def cercle(x,y,r,c):
penup()
color(c)
goto(x,y - r)
pendown()
circle(int(r))

def croix(x,y,r,c):
for i in [-1,1]:
penup()
color(c)
goto(x - r, y + i * r)
pendown()
goto(x + r, y - i * r)

def pion(x,y,r,t1,t2):
if t1 != t2:
if t1 == 'o': cercle(x,y,r,"white")
elif t1 == 'x': croix(x,y,r,"white")
if t2 == 'o': cercle(x,y,r,"black")
elif t2 == 'x': croix(x,y,r,"black")

def base3(n):
chiffres = ''
while n:
chiffres = ' ox'[n % 3] + chiffres
n //= 3
return ('   '+ chiffres)[-3:]

def aff(nb_preced,nb_suiv,l):
preced = base3(nb_preced)
suiv = base3(nb_suiv)
y = -L_m - case / 2 - case * l
for c in range(3):
x = H_m + case / 2 + case * c
pion(x,y,r,preced[c],suiv[c])

def tictac(h,mn):
mn += 1
if mn >= 60:
mn = 0
h += 1
if h > 12: h = 0
sleep(1)
return [h, mn]

speed(0)
hideturtle()
L,H = 320, 222
case, H_m, L_m = grille(3)
r = case / 2.3

def go(hm):
h = hm // 100
mn = hm % 100
preced = [0,0,0]
while True:
data = [h, mn // 10, mn % 10]
for l in range(3): aff(preced[l],data[l], l)
preced = list(data)
[h, mn] = tictac(h, mn)

go(1154)```