Pyggb : Avec des tuiles de "Truchet" triangulaires de tailles variables.

#03/02/2024 + 19/04/2024
#grille formée de façon aléatoire de triangles de cotés 1,2 ou 3.
#broullion
#https://geogebra.org/python/index.html?name=truchet+1%2C2%2C3+V2&code=eJzdVt1u2jAUvvdTeO1NABcSU%2B1iaia1RbuetN6hqnKDAasmjhyzkus9zLTX2F5sx3aaOAG6Tpo6qRZynO%2F8Hx%2FOySn%2BYpg2%2BFELI%2FIVrtRW40wt%2BDv0HCmeTmI6oTE9R6crLaTkeKn05te3nz9KvIAXBsfvKsdMWowZJTS3BKMFy1eSO65MGS%2BREIrVdjpGp%2FdabUEdSJYP3GRrjJZabbBm%2BQIeYlMobYbIP7ERG44QWvAl3rCd2Gw3kRSl4YMPCMOyGE6xg%2BbxrcPASyywyD3q%2BewSS4A%2Fpk6mRQMtwoGam63OHebe%2FWYdeAos2pGKGGZTUruhQdr6L3ITJeR84ECwB3iatLYuge2zskxWgyjvvopS3EuefmKy5F7KrquWb%2BTtPMt%2BfYD96XBcahY682f2G8cuq5XKo%2FkluSLXtwGRdqmzhlongb6RJKRNkJAAMuukoKXNCCSom4Dpm0sAhE8ujyQgrI86AedvLgHhLfcTEFbHzVgVLBOmSpP6PVNS6XSekGg32UGjGQyHdBhNz2CrgQFJfDO7GUuR8zuzFtlDzssyjT1M%2B0ppqzU5qyZRBWqGdEB8W40GE1orpIc1IpPG4zhBO8hHjCq3W1fgQBNktdlTjFABzzkl1HqIlipfNFH7NJ69J%2FDbyyCpkwyKRkc4oG9afXUgJ%2FeSZQ8nHmqDda97EcB6XAsYUdWFddXXmlGGSReIfXOB%2BW5uwblPh5dynBfWt7ZKbU%2FP1kpkPCraS4ZqdsxparnPgubeWEzdPvL30mir78kuLntagu7oeLvjhLbW%2Bza07hkB2eNmgh50wMz05WZw2jFTBkN2T7ShNAc5ZkXB80WkvUW3rdnW8K1OmyEf0AptPawRO92Zne7g%2BYpHkudAqcdwxwwEL%2BfstjOAO58HXkFMatOBjiaQYOCPBEm6GepYezlgv2jGpeS8iEynrry3vVoAvPbvok%2Fqe9gvlH%2Fqn137N%2F3qLhxmD68J%2BtL%2F9WGUvIIX%2B3XT%2B3Pv3Uzv7%2F13MTdn20R3I2fyCbajohrVRRp8MdvtN5mkMls%3D
# JoTaB :)
from random import*
import time
def maximum(liste):
maxi = liste[0]
for i in liste:
if i >= maxi:
maxi = i
return maxi
def triangle(x,y,taille):
r = randint(1,4)
if r ==1:
A = Point(x,y,is_visible=False)
B = Point(x+taille,y,is_visible=False)
C = Point(x+taille,y+taille,is_visible=False)
D = Point(x,y+taille,is_visible=False)
T = Polygon([A,B,C])
T2 = Polygon([A,D,C])
if r ==2:
A = Point(x,y,is_visible=False)
B = Point(x+taille,y,is_visible=False)
C = Point(x+taille,y+taille,is_visible=False)
D = Point(x,y+taille,is_visible=False)
T=Polygon([B,C,D])
T2=Polygon([D,A,B])
if r ==3:
A = Point(x,y,is_visible=False)
B = Point(x+taille,y,is_visible=False)
C = Point(x+taille,y+taille,is_visible=False)
D = Point(x,y+taille,is_visible=False)
T=Polygon([C,D,A])
T2=Polygon([A,B,C])
if r ==4:
A = Point(x,y,is_visible=False)
B = Point(x+taille,y,is_visible=False)
C = Point(x+taille,y+taille,is_visible=False)
D = Point(x,y+taille,is_visible=False)
T=Polygon([D,A,B])
T2=Polygon([B,C,D])
T.opacity=1
T.color=[1,(x/xmax)**2*(3-2*(x/xmax)),1]
T.line_thickness=0
T2.opacity=1
T2.color=[1,1-y/(ymax*2),random()/2]
T2.line_thickness=0
t=0.01
x = 0
y = 0
xmax = 21
ymax = 20
p = [2,2,1]
fond=Polygon(Point(-6,-6,is_visible=False),Point(xmax+6,-6,is_visible=False),4)
fond.color="black"
fond.opacity=1
fond.line_thickness=0
while y<ymax:
total = 0
x = 0
l = []
while total<xmax:
r = choice(p)
if total==xmax-1:
total=total+1
r=1
elif total==xmax-2:
rr = randint(1,2)
total=total+rr
r= rr
elif total==xmax-3:
rr = randint(1,3)
total=total+rr
r =rr
else:
total=total+r
l.append(r)
hauteur=maximum(l)
print(l)
for a in range(len(l)):
if l[a]==1:
for i in range(0,hauteur):
triangle(x,y+i,1)
time.sleep(t)
if l[a]==2:
if hauteur<=2:
triangle(x,y,2)
time.sleep(t)
else:
triangle(x,y,2)
time.sleep(t)
triangle(x,y+2,1)
time.sleep(t)
triangle(x+1,y+2,1)
time.sleep(t)
if l[a]==3:
triangle(x,y,3)
time.sleep(t)
x = x+ l[a]
y = y+hauteur
Lien : Link

