Untitled
unknown
plain_text
3 years ago
1.8 kB
8
Indexable
WHITE = (255, 255, 255) BLACK = (0, 0, 0) SCREEN_W = 250 SCREEN_H = 150 SPRITE_W = 5 SPRITE_H = 5 def make_array(w, h): return [[WHITE for x in range(w)]for y in range(h)] def fill_sprite_4(sprite): w = len(sprite[0]) h = len(sprite) for a in range(h // 2 + 1): for b in range(w // 2 + 1): sprite[a][b] = random.choice([BLACK, WHITE]) def fill_sprite(sprite): w = len(sprite[0]) h = len(sprite) for a in range(h): for b in range(w // 2 + 1): sprite[a][b] = random.choice([BLACK, WHITE]) def mirror_sprite_4(sprite): w = len(sprite[0]) h = len(sprite) for a in range(h // 2 + 1): for b in range(w // 2 + 1): sprite[-a - 1][-b - 1] = sprite[a][b] sprite[-b - 1][-a - 1] = sprite[a][b] def mirror_sprite(sprite): w = len(sprite[0]) h = len(sprite) for a in range(h): for b in range(w // 2 + 1): sprite[a][-b-1] = sprite[a][b] def make_sprite_4(w,h): sprite = make_array(w, h) fill_sprite_4(sprite) mirror_sprite_4(sprite) return sprite def make_sprite(w,h): sprite = make_array(w, h) fill_sprite(sprite) mirror_sprite(sprite) return sprite def copy_sprite(screen, sprite, x0, y0): for y in range(len(sprite)): for x in range(len(sprite[0])): screen[y0 + y][x0 + x] = sprite[y][x] screen = [[WHITE for x in range(SCREEN_W)] for y in range(SCREEN_H)] for y in range(0, SCREEN_H - SPRITE_H, SPRITE_H * 2): for x in range(0, SCREEN_W - SPRITE_W, SPRITE_W * 2): sprite = make_sprite(SPRITE_W, SPRITE_H) copy_sprite(screen, sprite, x, y) plt.figure(figsize=(30, 20)) plt.imshow(screen)
Editor is loading...