From 2bbf6166c0b1429f2b7db0bc59a15aac9426939b Mon Sep 17 00:00:00 2001 From: KikooDX Date: Sat, 30 May 2020 16:56:28 +0200 Subject: [PATCH] Optimized draw. --- gol.py | 26 ++++---------------------- 1 file changed, 4 insertions(+), 22 deletions(-) diff --git a/gol.py b/gol.py index abdcae3..f81c885 100644 --- a/gol.py +++ b/gol.py @@ -3,29 +3,10 @@ from random import randint C_BLACK = (0, 0, 0) C_WHITE = (255, 255, 255) -def draw_mat(mat): - clear_screen() - x = 0 - y = 0 - for line in mat: - for cell in line: - if cell: - set_pixel(x, y, C_BLACK) - x += 1 - x = 0 - y += 1 - show_screen() - -frameskip = 1 -framecount = 0 mat_height = 32 mat_width = 32 mat = [[randint(0, 1) for _ in range(mat_width)] for _ in range(mat_height)] while True: - framecount += 1 - if framecount == frameskip: - framecount = 0 - draw_mat(mat) mat_rem = [list(e) for e in mat] for y in range(mat_height): for x in range(mat_width): @@ -43,6 +24,7 @@ while True: p_y = 0 count += mat_rem[p_y][p_x] state = int((count == 3) or (state and count == 2)) - mat[y][x] = state - #if state != was_state: - # set_pixel(x, y, (C_BLACK if state else C_WHITE)) + if state != was_state: + mat[y][x] = state + set_pixel(x, y, (C_BLACK if state else C_WHITE)) + show_screen()