重新游戏

3.1 说明

当已经获胜后,游戏停留一段时间后,游戏可以重新来一局

实现的大体逻辑

  1. 一方获胜后,显示“获胜”
  2. 显示一段时间后,将棋盘上的所有棋子重新创建一次,相当于新棋盘
  3. 然后将默认的走棋方改为红方

3.2 代码实现

def __init__(self, screen, chessboard):
        self.show_win_count = 0
        self.show_win_time = 300
        self.chessboard = chessboard

image-20210821202517420

    def reset_game(self):
        """重置游戏"""
        # 所谓的重置游戏,就是将棋盘恢复到默认,走棋方默认的红方
        # 重建新的默认棋子
        self.chessboard.create_chess()
        # 设置走棋方为红方
        self.player = 'r'

image-20210821202556964

        # 如果一方获胜,那么显示"赢"
        # 通过计时,实现显示一会"将军"之后,就消失
        if self.show_win:
            self.show_win_count += 1
            if self.show_win_count == self.show_win_time:
                self.show_win_count = 0
                self.show_win = False
                self.reset_game()  # 游戏玩过一局之后,重置游戏

image-20210821202645063

game = Game(screen, chessboard)

image-20210821203038847

            # 如果游戏没有获胜方,则游戏继续,否则一直显示"获胜"
            if not game.show_win:

image-20210821202957863

3.3 运行效果

img

显示一段时间“赢”之后的效果,是重新开局

img

Copyright © itprojects.cn 2021 all right reserved,著作权归itprojects.cn所有,由王铭东编写该文件修订时间: 2021-08-21 20:34:30