Fix infinite loop with unchanged dots

This commit is contained in:
David Todd 2020-01-27 18:57:31 -06:00
parent 7039537eb9
commit 434d722c5f

View File

@ -124,18 +124,23 @@ class Pixo:
selected multiple times selected multiple times
""" """
already_changed = [] already_changed = []
if image == (0, 0, 0):
image = [(0, 0, 0) for _ in range(TOTAL_DOTS)]
while len(already_changed) < TOTAL_DOTS: while len(already_changed) < TOTAL_DOTS:
dot = random.randrange(0, TOTAL_DOTS) dot = random.randrange(0, TOTAL_DOTS)
if dot not in already_changed and not BOARD[dot] == image[dot]: if dot not in already_changed:
already_changed.append(dot) already_changed.append(dot)
BOARD[dot] = image[dot] if not BOARD[dot] == image[dot]:
time.sleep(delay) BOARD[dot] = image[dot]
BOARD.show() time.sleep(delay)
BOARD.show()
return self return self
def transition_image_dissolve(self, delay=0.2): def transition_image_dissolve(self, delay=0.09):
""" """
Randomly sets pixels to black, giving the Randomly sets pixels to black, giving the
appearance of it dissolving away into the ether appearance of it dissolving away into the ether