Enoncé de l’exercice
Visitez ma chaine YouTube
from kandinsky import *
from random import *
from turtle import *
BL, WH = (0, 0, 0), (255,) * 3 # Noir et Blanc
def dot(x, y, c, fg, t, a, b): # Transfo d'un caractère en rectangles
draw_string(c, 0, 0, BL, WH) # On affiche le caractere
for v in range(18): # On parcourt les pixels de ce caractère
for u in range(9):
if get_pixel(u, v)[0] < 248: # Si ce n'est pas du blanc
# rectangle avec effets de décalage 'a' et/ou 'b'
fill_rect(x + u * t, y + v * t, t - a, t - b, fg)
def aff(txt, x, y, t, a=1, b=1):
for i, c in enumerate(txt): # On parcourt les lettres du mot
dot(x + i * t * 9, y, c, BL, t, a, b) # ombre du caractere en noir
dot(x + i * t * 9 - 3, y, c, WH, t, a, b) # texte en blanc
def remplir(h): # fond degradé radial
for l in range(h):
for c in range(320):
set_pixel(c, l, (150,) * 3 if 140000 * random() < l ** 2 + c ** 2 else (90,) * 3)
remplir(222)
aff("WANTED", 28, 15, 5)
aff("NUMWORKS", 52, 100, 3, b=-5) # effet texte vertical
aff("DEAD OR ALIVE", 45, 160, 2, a=4) # effet horizontal
remplir(18)
hideturtle()
pensize(7)
for _ in range(20): # les trous
color(WH)
x, y = randint(-160, 160), randint(-110, 110)
penup(); goto(x, y);pendown() # point en blanc
goto(x, y)
color(BL) # et en noir avec léger décalage
penup(); goto(x - 2, y - 2); pendown()
goto(x - 2, y - 2)