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)
from kandinsky import * from random import * from turtle import * BL, WH = (0, 0, 0), (255,) * 3 def dot(x, y, c, fg, t, a, b): draw_string(c, 0, 0, BL, WH) for v in range(18): for u in range(9): if get_pixel(u, v)[0] < 248: 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): dot(x + i * t * 9, y, c, BL, t, a, b) dot(x + i * t * 9 - 3, y, c, WH, t, a, b) def remplir(h): 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) aff("DEAD OR ALIVE", 45, 160, 2, a=4) remplir(18) hideturtle() pensize(7) for _ in range(20): color(WH) x, y = randint(-160, 160), randint(-110, 110) penup(); goto(x, y);pendown() goto(x, y) color(BL) penup(); goto(x - 2, y - 2); pendown() goto(x - 2, y - 2)