示例#1
0
文件: game.py 项目: nogxx/chess
black_pawn4 = Figure("p", "black", "D7", my_board)
black_pawn5 = Figure("p", "black", "E7", my_board)
black_pawn6 = Figure("p", "black", "F7", my_board)
black_pawn7 = Figure("p", "black", "G7", my_board)
black_pawn8 = Figure("p", "black", "H7", my_board)

black_rook_left = Figure("r", "black", "A8", my_board)
black_rook_right = Figure("r", "black", "H8", my_board)
black_knight_left = Figure("k", "black", "B8", my_board)
black_knight_right = Figure("k", "black", "G8", my_board)
black_bishop_left = Figure("b", "black", "C8", my_board)
black_bishop_right = Figure("b", "black", "F8", my_board)
black_queen = Figure("Q", "black", "D8", my_board)
black_king = Figure("K", "black", "E8", my_board)

my_board.update()
print(my_board)

possible_input = [x + str(y) for x in "ABCDEFGH" for y in range(1, 9)]

while True:
    while True:
        pos1 = input("What tile do you want to select? ")

        if pos1 not in [fig_.pos for fig_ in my_board.figures_lst]:
            print("This tile is empty!")
            continue

        for fig_ in my_board.figures_lst:
            if fig_.pos == pos1:
                fig = fig_
示例#2
0
class FiguresMovesTest(unittest.TestCase):
    # TO DO: write tests for all figures
    def setUp(self):
        self.testboard = Board()

        # WHITE FIGURES

        # self.test_white_pawn1 = Figure("p", "white", "A2", self.testboard)
        # self.test_white_pawn2 = Figure("p", "white", "B2", self.testboard)
        # self.test_white_pawn3 = Figure("p", "white", "C2", self.testboard)
        # self.test_white_pawn4 = Figure("p", "white", "D2", self.testboard)
        # self.test_white_pawn5 = Figure("p", "white", "E2", self.testboard)
        # self.test_white_pawn6 = Figure("p", "white", "F2", self.testboard)
        # self.test_white_pawn7 = Figure("p", "white", "G2", self.testboard)
        # self.test_white_pawn8 = Figure("p", "white", "H2", self.testboard)

        self.test_white_rook_left = Figure("r", "white", "A1", self.testboard)
        self.test_white_rook_right = Figure("r", "white", "H1", self.testboard)
        self.test_white_knight_left = Figure("k", "white", "B1",
                                             self.testboard)
        self.test_white_knight_right = Figure("k", "white", "G1",
                                              self.testboard)
        self.test_white_bishop_left = Figure("b", "white", "C1",
                                             self.testboard)
        self.test_white_bishop_right = Figure("b", "white", "F1",
                                              self.testboard)
        self.test_white_queen = Figure("Q", "white", "D1", self.testboard)
        self.test_white_king = Figure("K", "white", "E1", self.testboard)

        # BLACK FIGURES

        self.test_black_pawn1 = Figure("p", "black", "A7", self.testboard)
        self.test_black_pawn2 = Figure("p", "black", "B7", self.testboard)
        self.test_black_pawn3 = Figure("p", "black", "C7", self.testboard)
        self.test_black_pawn4 = Figure("p", "black", "D7", self.testboard)
        self.test_black_pawn5 = Figure("p", "black", "E7", self.testboard)
        self.test_black_pawn6 = Figure("p", "black", "F7", self.testboard)
        self.test_black_pawn7 = Figure("p", "black", "G7", self.testboard)
        self.test_black_pawn8 = Figure("p", "black", "H7", self.testboard)

        self.test_black_rook_left = Figure("r", "black", "A8", self.testboard)
        self.test_black_rook_right = Figure("r", "black", "H8", self.testboard)
        self.test_black_knight_left = Figure("k", "black", "B8",
                                             self.testboard)
        self.test_black_knight_right = Figure("k", "black", "G8",
                                              self.testboard)
        self.test_black_bishop_left = Figure("b", "black", "C8",
                                             self.testboard)
        self.test_black_bishop_right = Figure("b", "black", "F8",
                                              self.testboard)
        self.test_black_queen = Figure("Q", "black", "D8", self.testboard)
        self.test_black_king = Figure("K", "black", "E8", self.testboard)

        self.testboard.update()
        # print(self.testboard)

        self.results = []

    def testKnightMoves(self):
        for move_ in ["C3", "E4", "G4", "C5", "D7", "F8", "D5", "H8", "G6"]:
            self.results.append(
                move(self.test_white_knight_left, move_, self.testboard,
                     False))

        self.assertEqual(
            self.results,
            [True, True, False, True, True, True, False, False, True])

    def testQueenMoves(self):
        for move_ in [
                "D2", "D4", "H7", "G7", "H8", "E5", "G6", "F6", "I6", "B6",
                "A5"
        ]:
            self.results.append(
                move(self.test_white_queen, move_, self.testboard, False))

        self.assertEqual(self.results, [
            True, True, False, True, True, True, False, True, False, True, True
        ])

    def testKingMoves(self):
        for move_ in ["D1", "D2", "E3", "E2", "E4", "C2", "G4", "E3"]:
            self.results.append(
                move(self.test_white_king, move_, self.testboard, False))

        self.assertEqual(self.results,
                         [False, True, True, True, False, False, False, True])

    # def testCheck(self):
    #     for move_ in ["E2", "E3", "E4", "E5", "E6"]:
    #         move(self.test_white_king, move_, self.testboard, True)
    #
    #     self.assertTrue(self.testboard.is_check())

    def tearDown(self):
        self.results = None
        del self.testboard