コード例 #1
0
ファイル: othello.py プロジェクト: pengshiqi/BlackWhiteChess
            t1.undraw()
            t2.undraw()  # Un-draw game name and author name

            b_start.clear()  # clear start button
            t_white.draw(win)
            t_black.draw(win)
            black_turn.draw(win)
            win.setBackground('light blue')

            canvas = Canvas(win)  # init the canvas

            logging.info('A new game starts!')

            while 1:
                # 黑子是否可以落子
                whether_black = canvas.check_black()
                if whether_black:
                    p2 = win.getMouse()

                    whether_clicked = False  # 黑子方是否落子
                    if b_qt.clicked(p2):  # 如果点击quit按钮
                        break
                    for i in range(8):
                        for j in range(8):
                            if canvas.board[i][j].clicked(p2) and canvas.check(i, j, 2):
                                canvas.click(i, j, 2)
                                logging.info('BLACK places at (%s, %s)' % (i, j))
                                canvas.piece_num[2] += 1  # 更新棋盘上两种颜色的棋子数

                                # 黑色落子,光标移动,轮到白色
                                black_turn.undraw()
コード例 #2
0
ファイル: othello.py プロジェクト: pengshiqi/BlackWhiteChess
            undoList = [[0, 0, 0, 0, 0, 0, 0, 0],
                        [0, 0, 0, 0, 0, 0, 0, 0],
                        [0, 0, 0, 0, 0, 0, 0, 0],
                        [0, 0, 0, 1, 2, 0, 0, 0],
                        [0, 0, 0, 2, 1, 0, 0, 0],
                        [0, 0, 0, 0, 0, 0, 0, 0],
                        [0, 0, 0, 0, 0, 0, 0, 0],
                        [0, 0, 0, 0, 0, 0, 0, 0]
                        ]

            restart = False

            # Game Starts!
            while 1:
                # 黑子是否可以落子
                blackHasValidMove = canvas.check_black()
                blackClicked = False
                if blackHasValidMove:
                    p2 = win.getMouse()

                    blackClicked = False  # 黑子方是否落子
                    if b_qt.clicked(p2):  # 如果点击quit按钮
                        break
                    if b_undo.clicked(p2):  # 如果点击悔棋
                        canvas.undo(undoList, win)
                        refresh()

                    for i in range(8):
                        for j in range(8):
                            if canvas.board[i][j].clicked(p2) and canvas.check(i, j, 2):
                                # update undoList