Пример #1
0
 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)
Пример #2
0
 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)
Пример #3
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()
Пример #4
0
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()
Пример #5
0
 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])
Пример #6
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))
Пример #7
0
 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])