From d2d644ffd3c5520edc75ce1cf92fb85a02ab663a Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Tue, 12 Apr 2016 21:40:33 -0400 Subject: [PATCH] reworked Board.called to be a table of booleans for faster usage --- bingo/__init__.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/bingo/__init__.py b/bingo/__init__.py index f7beb86..c94fa6a 100644 --- a/bingo/__init__.py +++ b/bingo/__init__.py @@ -3,12 +3,13 @@ import random class Board: def __init__(self): self.cols = [] + self.called = [] for col in range(5): n = 4 if col == 2 else 5 self.cols.append(random.sample(range(15 * col + 1, 15 * col + 15), n)) + self.called.append([False] * 5) self.cols[2][2:2] = [0] self.border = "+----" * 5 + "+" - self.called = {0} def print(self): for row in range(5): @@ -18,10 +19,13 @@ class Board: caption = self.cols[col][row] if caption == 0: caption = "F" - called = "*" if self.cols[col][row] in self.called else " " + called = "*" if self.called[col][row] else " " print("|%s%2s%s" % (called, caption, called), end = "") print("|") print(self.border) def call(self, n): - self.called.add(n) + for col in range(5): + for row in range(5): + if self.cols[col][row] == n: + self.called[col][row] = True