def test_computer_make_move(self): player1 = single_player.player.Player(10, 2) sea1 = player1.sea grid1 = [[0 for i in range(10)] for i in range(10)] grid2 = [[0 for i in range(10)] for i in range(10)] put_one_ship(player1, [8, 8], 3, 0, grid1) single_player.computer_open_cell([0, 0], grid1, sea1, grid2) self.assertTrue(computer_make_move(player1, sea1, grid1, grid2)) self.assertTrue(grid1[0][1] == 3 or grid1[1][0] == 4) computer_make_move(player1, sea1, grid1, grid2) self.assertTrue(grid1[0][1] == 3) computer_make_move(player1, sea1, grid1, grid2) self.assertTrue(grid1[0][2] == 3)
def test_player_make_move(self): player1 = single_player.player.Player(10, 1) grid1 = [[0 for i in range(10)] for i in range(10)] sea2 = single_player.player.game.Sea() grid2 = [[0 for i in range(10)] for i in range(10)] put_one_ship(player1, [0, 0], 3, 0, grid1) single_player.player.game.Ship(3, sea2, [8, 0], 0) self.assertTrue(player_make_move([300, 189], sea2, grid2, grid1)) single_player.player_make_move([323, 189], sea2, grid2, grid1) single_player.player_make_move([346, 189], sea2, grid2, grid1) self.assertEqual(grid2[8][0], 1) self.assertFalse(player_make_move([367, 215], sea2, grid2, grid1)) self.assertEqual(grid2[8][5], 0)
def place_ship(player1): ships = [2, 3, 3, 4, 5] direction = 0 while ships != []: ship_size = [ships[-1], 1] for event in pygame.event.get(): if event.type == pygame.KEYDOWN: direction = 1 - direction draw_put_ships_board(ship_size[direction], ship_size[1 - direction]) if event.type == pygame.QUIT: pygame.quit() if event.type == pygame.MOUSEBUTTONDOWN: pos = pygame.mouse.get_pos() if single_player.put_one_ship(player1, pos, ships[-1], direction, grid1): ships.pop()
def put_your_ships(player1): ships = [2, 3, 3, 4, 5] direction = 0 while ships != []: ship_size = [ships[-1], 1] for event in pygame.event.get(): if event.type == pygame.KEYDOWN: direction = 1 - direction draw_put_ships_board(ship_size[direction], ship_size[1 - direction]) if event.type == pygame.QUIT: pygame.quit() if event.type == pygame.MOUSEBUTTONDOWN: pos = pygame.mouse.get_pos() if single_player.put_one_ship(player1, pos, ships[-1], direction, grid1): ships.pop()
def test_put_one_ship(self): victoria = single_player.player.Player(10, 1) grid = [[0 for i in range(10)] for i in range(10)] self.assertTrue(put_one_ship(victoria, [0, 0], 3, 0, grid)) self.assertEqual(grid[0], [5, 5, 5, 0, 0, 0, 0, 0, 0, 0])
def test_ignore_ships_outside_the_sea(self): victoria = single_player.player.Player(10, 2) grid = [[0 for i in range(10)] for i in range(10)] self.assertFalse(put_one_ship(victoria, [400, 400], 5, 0, grid))
def test_ignore_ships_on_same_place(self): victoria = single_player.player.Player(10, 2) grid = [[0 for i in range(10)] for i in range(10)] put_one_ship(victoria, [0, 0], 3, 0, grid) self.assertFalse(put_one_ship(victoria, [0, 0], 4, 0, grid)) self.assertEqual(grid[0], [5, 5, 5, 0, 0, 0, 0, 0, 0, 0])