Esempio n. 1
0
    def __init__(self) -> None:
        self.field = []
        self.current_color = Color.WHITE
        for i in range(self.FIELD_SIZE):
            self.field.append([None] * self.FIELD_SIZE)

        logging.debug(
            f'Создана шахматная доска с размерами: {self.FIELD_SIZE}x{self.FIELD_SIZE}'
        )

        # стандартная расстановка
        self.field[0] = [
            Rook(0, 0, Color.WHITE, self),
            Knight(0, 1, Color.WHITE, self),
            Bishop(0, 2, Color.WHITE, self),
            Queen(0, 3, Color.WHITE, self),
            King(0, 4, Color.WHITE, self),
            Bishop(0, 5, Color.WHITE, self),
            Knight(0, 6, Color.WHITE, self),
            Rook(0, 7, Color.WHITE, self),
        ]

        self.field[1] = [
            Pawn(1, 0, Color.WHITE, self),
            Pawn(1, 1, Color.WHITE, self),
            Pawn(1, 2, Color.WHITE, self),
            Pawn(1, 3, Color.WHITE, self),
            Pawn(1, 4, Color.WHITE, self),
            Pawn(1, 5, Color.WHITE, self),
            Pawn(1, 6, Color.WHITE, self),
            Pawn(1, 7, Color.WHITE, self),
        ]

        self.field[6] = [
            Pawn(6, 0, Color.BLACK, self),
            Pawn(6, 1, Color.BLACK, self),
            Pawn(6, 2, Color.BLACK, self),
            Pawn(6, 3, Color.BLACK, self),
            Pawn(6, 4, Color.BLACK, self),
            Pawn(6, 5, Color.BLACK, self),
            Pawn(6, 6, Color.BLACK, self),
            Pawn(6, 7, Color.BLACK, self),
        ]

        self.field[7] = [
            Rook(7, 0, Color.BLACK, self),
            Knight(7, 1, Color.BLACK, self),
            Bishop(7, 2, Color.BLACK, self),
            Queen(7, 3, Color.BLACK, self),
            King(7, 4, Color.BLACK, self),
            Bishop(7, 5, Color.BLACK, self),
            Knight(7, 6, Color.BLACK, self),
            Rook(7, 7, Color.BLACK, self),
        ]

        logging.debug('Расстановка фигур завершена')
Esempio n. 2
0
    def __init__(self) -> None:
        self.field = []
        self.current_color = Color.WHITE
        for i in range(self.FIELD_SIZE):
            self.field.append([None] * self.FIELD_SIZE)

        # стандартная расстановка
        self.field[0] = [
            Rook(0, 0, Color.WHITE, self),
            Knight(0, 1, Color.WHITE, self),
            Bishop(0, 2, Color.WHITE, self),
            Queen(0, 3, Color.WHITE, self),
            King(0, 4, Color.WHITE, self),
            Bishop(0, 5, Color.WHITE, self),
            Knight(0, 6, Color.WHITE, self),
            Rook(0, 7, Color.WHITE, self),
        ]

        self.field[1] = [
            Pawn(1, 0, Color.WHITE, self),
            Pawn(1, 1, Color.WHITE, self),
            Pawn(1, 2, Color.WHITE, self),
            Pawn(1, 3, Color.WHITE, self),
            Pawn(1, 4, Color.WHITE, self),
            Pawn(1, 5, Color.WHITE, self),
            Pawn(1, 6, Color.WHITE, self),
            Pawn(1, 7, Color.WHITE, self),
        ]

        self.field[6] = [
            Pawn(6, 0, Color.BLACK, self),
            Pawn(6, 1, Color.BLACK, self),
            Pawn(6, 2, Color.BLACK, self),
            Pawn(6, 3, Color.BLACK, self),
            Pawn(6, 4, Color.BLACK, self),
            Pawn(6, 5, Color.BLACK, self),
            Pawn(6, 6, Color.BLACK, self),
            Pawn(6, 7, Color.BLACK, self),
        ]

        self.field[7] = [
            Rook(7, 0, Color.BLACK, self),
            Knight(7, 1, Color.BLACK, self),
            Bishop(7, 2, Color.BLACK, self),
            Queen(7, 3, Color.BLACK, self),
            King(7, 4, Color.BLACK, self),
            Bishop(7, 5, Color.BLACK, self),
            Knight(7, 6, Color.BLACK, self),
            Rook(7, 7, Color.BLACK, self),
        ]
Esempio n. 3
0
class TestBishopBlocked(unittest.TestCase):
    def setUp(self):
        self.board = Board()
        self.bishop = Bishop(self.board, 'b', '2', 'white')
        self.pawn = Pawn(self.board, 'c', '3', 'white')

    def test_blocked_moves(self):
        result = self.bishop.get_possible_moves()
        self.assertEqual(len(result), 3)
        self.assertIn((0,2), self.bishop.__moves__)
        self.assertIn((2,0), self.bishop.__moves__)
        self.assertIn((0,0), self.bishop.__moves__)
Esempio n. 4
0
class TestBishopBase(unittest.TestCase):
    def setUp(self):
        self.board = Board()
        self.bishop = Bishop(self.board, 'b', '2', 'white')

    def test_base_moves(self):
        result = self.bishop.get_possible_moves()
        self.assertEqual(len(result), 9)
        self.assertIn((0,2), self.bishop.__moves__)
        self.assertIn((2,0), self.bishop.__moves__)
        self.assertIn((2,2), self.bishop.__moves__)
        self.assertIn((3,3), self.bishop.__moves__)
        self.assertIn((4,4), self.bishop.__moves__)
        self.assertIn((5,5), self.bishop.__moves__)
        self.assertIn((6,6), self.bishop.__moves__)
        self.assertIn((7,7), self.bishop.__moves__)
        self.assertIn((0,0), self.bishop.__moves__)
Esempio n. 5
0
 def create(self):
     for i in range(8):
         for j in range(8):
             if i == 0 or i == 1:
                 color = 'black'
             if i == 6 or i == 7:
                 color = 'white'
             if i == 0 or i == 7:
                 if j == 0 or j == 7:
                     self.figures.append(
                         Rook(j, i, color,
                              figures_images[color + 'Rook']['Image'],
                              self.board))
                 if j == 1 or j == 6:
                     self.figures.append(
                         Knight(j, i, color,
                                figures_images[color + 'Knight']['Image'],
                                self.board))
                 if j == 2 or j == 5:
                     self.figures.append(
                         Bishop(j, i, color,
                                figures_images[color + 'Bishop']['Image'],
                                self.board))
                 if j == 3:
                     self.figures.append(
                         King(j, i, color,
                              figures_images[color + 'King']['Image'],
                              self.board))
                 if j == 4:
                     self.figures.append(
                         Queen(j, i, color,
                               figures_images[color + 'Queen']['Image'],
                               self.board))
             if i == 1 or i == 6:
                 self.figures.append(
                     Pawn(j, i, color,
                          figures_images[color + 'Pawn']['Image'],
                          self.board))
Esempio n. 6
0
def test_legal_move():
    # this is a dummy test for the dummy implementation
    cb = Chessboard(Game.WHITE_PIECES, Game.BLACK_PIECES)
    p = Bishop(0, 0, "W", "WB1")
    assert p.is_legal_move([1, 1], cb.status()) == True
Esempio n. 7
0
 def setUp(self):
     self.board = Board()
     self.bishop = Bishop(self.board, 'b', '2', 'white')
Esempio n. 8
0
 def setUp(self):
     self.board = Board()
     self.bishop = Bishop(self.board, 'b', '2', 'white')
     self.pawn = Pawn(self.board, 'c', '3', 'black')