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()
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