def test_board_remove_piece(self): board = Board(size = 2) origin = Position(0,0) foo = Foo() board.place_piece(origin, foo) self.assertEqual(board.remove_piece(origin), foo) self.assertIsNone(board.piece_at(origin))
def test_board_adjacent_positions(self): board = Board(size = 3) expected_positions = [Position(1, 0), Position(0, 1), Position(2, 1), Position(1, 2)] actual_positions = [p for p in board.adjacent_positions(Position(1, 1))] self.assertItemsEqual(actual_positions, expected_positions)
def test_board_is_valid_position(self): board = Board(size = 3) origin = Position(0, 0) center = Position(1, 1) bottom_right = Position(2, 2) self.assertTrue(board.is_valid_position(origin)) self.assertTrue(board.is_valid_position(center)) self.assertTrue(board.is_valid_position(bottom_right))
def test_board_open_positions(self): board = Board(size = 2) board.place_piece(Position(0, 0), Foo()) board.place_piece(Position(1, 1), Foo()) expected_positions = [Position(0, 1), Position(1, 0)] actual_positions = [p for p in board.open_positions()] self.assertItemsEqual(actual_positions, expected_positions)
def test_board_positions(self): board = Board(size = 2) expected_positions = [Position(0, 0), Position(0, 1), Position(1, 0), Position(1, 1)] actual_positions = [p for p in board.positions()] self.assertItemsEqual(actual_positions, expected_positions)
def test_board_place_piece_when_piece_present(self): board = Board(size = 2) origin = Position(0, 0) foo = Foo() foo2 = Foo() board.place_piece(origin, foo) with self.assertRaises(ValueError): board.place_piece(origin, foo2)
def test_copy_of(self): board = Board(size = 3) board.place_piece(Position(0, 0), Foo()) board.place_piece(Position(1, 1), Foo()) board.place_piece(Position(2, 2), Foo()) other_board = board.copy_of() self.assertFalse(other_board is board) self.assertEqual(board, other_board)
def test_board_neq_diff_placing(self): board = Board(size = 2) board.place_piece(Position(0, 0), Foo()) board.place_piece(Position(0, 1), Bar()) other_board = Board(size = 3) other_board.place_piece(Position(0, 1), Foo()) other_board.place_piece(Position(1, 1), Bar()) self.assertNotEqual(board, other_board)
def test_board_eq_same_pieces(self): board = Board(size = 2) board.place_piece(Position(0, 0), Foo()) board.place_piece(Position(0, 1), Bar()) other_board = Board(size = 2) other_board.place_piece(Position(0, 0), Foo()) other_board.place_piece(Position(0, 1), Bar()) self.assertEqual(board, other_board)
def init(i_play_as): global fl1, fl2, game_board, old_move, bot fl1 = 'x' fl2 = 'o' game_board = Board() old_move = (-1, -1) bot = Player40() if i_play_as == 'o': temp_board_status = copy.deepcopy(game_board.board_status) temp_block_status = copy.deepcopy(game_board.block_status) try: bot_move = bot.move(game_board, old_move, fl2) except Exception: print traceback.format_exc() WINNER = 'HUMAN' MESSAGE = 'INVALID MOVE' return game_over((-1, -1), WINNER, MESSAGE) if (game_board.block_status != temp_block_status) or ( game_board.board_status != temp_board_status): WINNER = 'HUMAN' MESSAGE = 'MODIFIED THE BOARD' return game_over(bot_move, WINNER, MESSAGE) if game_board.update(old_move, bot_move, fl2) == 'UNSUCCESSFUL': WINNER = 'HUMAN' MESSAGE = 'INVALID MOVE' return game_over(bot_move, WINNER, MESSAGE) old_move = bot_move game_board.print_board() return jsonify({ 'move': sermove(old_move), 'valid': sermoves(game_board.find_valid_move_cells(old_move)) }) return "yay"
def test_board_eq_same_board(self): board = Board(size = 2) board.place_piece(Position(0, 0), Foo()) self.assertEqual(board, board)
def test_boad_is_valid_position_out_of_bounds(self): board = Board(size = 3) oob_top_left = Position(-1, -1) oob_bottom_right = Position(3, 3) self.assertFalse(board.is_valid_position(oob_top_left)) self.assertFalse(board.is_valid_position(oob_bottom_right))
def test_board_place_piece(self): board = Board(size = 2) origin = Position(0, 0) foo = Foo() board.place_piece(position = origin, piece = foo) self.assertEqual(board.piece_at(origin), foo)
def test_board_creation(self): board = Board(size = 2) self.assertEqual(board.size(), 2) positions = [Position(0, 0), Position(0, 1), Position(1, 0), Position(0, 0)] for p in positions: self.assertIsNone(board.piece_at(p))
def test_board_piece_at(self): board = Board(size = 2) foo = Foo() board._board[0] = foo self.assertEqual(board.piece_at(Position(0, 0)), foo)
from simulator import Game, Board, Agent if __name__ == "__main__": # Points & Tiled points = [[-1, 4, 3, 5, 9, 5, 3, 4, -1], [5, 3, 8, -10, 2, -10, 8, 3, 5], [6, 3, 7, 8, 0, 8, 7, 4, 6], [5, 3, 8, -10, 2, -10, 8, 3, 5], [-1, 4, 3, 5, 9, 5, 3, 4, -1]] tiled = [[0, 0, 1, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 2, 0, 0, 0, 0], [0, 0, 2, 0, 0, 0, 2, 0, 0]] # Board(width, height, points, tiled) board = Board(9, 5, points, tiled) # Agent(TeamID, AgentID, x, y) ## Note : The coordinate value is 0 standard ## Note : AgentID must be unique value!! agents = [ Agent(1, 1, 2, 0), Agent(1, 2, 6, 0), Agent(1, 3, 4, 1), Agent(2, 4, 2, 4), Agent(2, 5, 6, 4), Agent(2, 6, 4, 3) ] # Game(board, agents) game = Game(board, agents) # GAME.set_action(TeamID, AgentID, dx, dy, remove_panel(default: False)) game.set_action(1, 1, 1, 1)