def test__check_vertical(): b = Board() player = 1 assert b.add_disc(player, 0) assert b.add_disc(player, 0) assert b.add_disc(player, 0) assert b._check_vertical(1, 0, 3) is False assert b.add_disc(player, 0) assert b._check_vertical(1, 0, 2)
def test_is_col_full(): b = Board() player = 1 assert b.is_col_full(0) is False assert b.add_disc(player, 0) assert b.add_disc(player, 0) assert b.add_disc(player, 0) assert b.add_disc(player, 0) assert b.add_disc(player, 0) assert b.add_disc(player, 0) assert b.add_disc(player, 0) is False assert b.is_col_full(0) is True
def test_add_disc(): b = Board() player = 1 assert b.add_disc(player, 0) assert b.grid[5][0] == player assert b.add_disc(player, 0) assert b.grid[4][0] == player assert b.add_disc(player, 0) assert b.grid[3][0] == player assert b.add_disc(player, 0) assert b.add_disc(player, 0) assert b.add_disc(player, 0) assert b.add_disc(player, 0) is False
def test__check_horizontal(): b = Board() player = 1 assert b._check_horizontal(player, 3, 5) is False assert b.add_disc(player, 0) assert b.add_disc(player, 1) assert b._check_horizontal(player, 1, 5) is False assert b.add_disc(player, 2) assert b.add_disc(player, 3) assert b._check_horizontal(player, 3, 5) player = 2 assert b.add_disc(player, 0) assert b.add_disc(player, 1) assert b._check_horizontal(player, 1, 4) is False assert b.add_disc(player, 2) assert b.add_disc(player, 3) assert b._check_horizontal(player, 3, 4) b1 = Board() assert b1._check_horizontal(player, 3, 5) is False assert b1.add_disc(player, 6) assert b1.add_disc(player, 5) assert b1.add_disc(player, 4) assert b1.add_disc(player, 3) assert b1._check_horizontal(player, 3, 5)
def __init__(self): self.SQUARE_SIZE = 100 self.RADIUS_SIZE = self.SQUARE_SIZE / 2 - 10 self.b = Board() pygame.init() height = self.b.NUM_OF_ROWS * self.SQUARE_SIZE width = self.b.NUM_OF_COLS * self.SQUARE_SIZE size = (width, height) self.screen = pygame.display.set_mode(size) self.screen.fill('Lavender') self.myfont = pygame.font.SysFont("monospace", 75) self.draw_grid(self.b.grid) pygame.display.update()
def __init__(self): logging.basicConfig(format="%(levelname)s: %(message)s", level=logging.INFO) self.SQUARE_SIZE = 100 self.RADIUS_SIZE = self.SQUARE_SIZE / 2 - 10 self.b = Board() pygame.init() height = self.b.NUM_OF_ROWS * self.SQUARE_SIZE width = self.b.NUM_OF_COLS * self.SQUARE_SIZE size = (width, height) self.screen = pygame.display.set_mode(size) self.screen.fill('Lavender') self.myfont = pygame.font.SysFont("monospace", 75) self.draw_grid(self.b.grid) pygame.display.update() pygame.event.set_allowed(None) pygame.event.set_allowed([pygame.KEYDOWN])
def test__check_diagonal_left(): b = Board() player = 1 assert b._check_diagonal_left(player, 3, 2) is False assert b._check_diagonal_left(player, 2, 3) is False assert b._check_diagonal_left(player, 1, 4) is False assert b._check_diagonal_left(player, 0, 5) is False assert b.add_disc(player, 3) assert b.add_disc(player, 3) assert b.add_disc(player, 3) assert b.add_disc(player, 2) assert b.add_disc(player, 2) assert b.add_disc(player, 1) player = 2 assert b.add_disc(player, 3) assert b.add_disc(player, 2) assert b.add_disc(player, 1) assert b.add_disc(player, 0) assert b._check_diagonal_left(player, 3, 2) assert b._check_diagonal_left(player, 2, 3) assert b._check_diagonal_left(player, 1, 4) assert b._check_diagonal_left(player, 0, 5)
def play(self): b = Board() player = None # first player has_won_condition = False valid_input_condition = False while not has_won_condition: if player is None or player == 2: player = 1 else: player = 2 print("Current grid:") print(b.__repr__()) while not valid_input_condition: play = input(" Player " + str(player) + ": Please enter column number (0 - 6).") if play.isdigit(): play = int(play) if 0 <= play <= 6: if b.add_disc(player, play): has_won_condition = b.has_won( player, b.current_col, b.current_row) valid_input_condition = True else: print("Full column, try another column.") else: print("Column not in range.") else: print("Column must be a number.") valid_input_condition = False self._announce_win(player)
def __init__(self): logging.basicConfig(format="%(levelname)s: %(message)s", level=logging.INFO) self.b = Board()
def on_init(self) -> Board: board = Board() board.apply_pop(get_random_pop(board.matrix)) board.apply_pop(get_random_pop(board.matrix)) return board
def __init__(self, board): if isinstance(board, Board): self.board = board else: self.board = Board(board)