Python小游戏2048带解释文本

Python小游戏----2048游戏详解

下面展示一些 内联代码片

import turtle, random


class BackGround(turtle.Turtle):  # 定义一个类,用来画除了数字方块之外的图形
    def __init__(self):
        super().__init__()
        self.penup()
        self.ht()

    def draw_block(self):
        self.shape('bg.gif')  # 画出背景方块
        for i in allpos:
            self.goto(i)
            self.stamp()
        self.color('white', 'white')  # 画出其他背景
        self.goto(-215, 120)
        self.begin_fill()
        self.goto(215, 120)
        self.goto(215, 110)
        self.goto(-215, 110)
        self.end_fill()
        self.shape('title.gif')
        self.goto(-125, 210)
        self.stamp()
        self.shape('score.gif')
        self.goto(125, 245)
        self.stamp()
        self.shape('top_score.gif')
        self.goto(125, 170)
        self.stamp()

    def judge(self):  # 游戏失败及达成2048的提示文字
        global flag_win, flag_win_lose_text
        self.color('blue')
        judge = 0  # 判断是否还有位置可以移动
        for i in block_dic.values():
            for j in block_dic.values():
                if i.num == 0 or i.num == j.num and i.distance(j) == 100:
                    judge += 1
        if judge == 0:  # 无位置可移动,游戏失败
            self.write('     GAME OVER\n重新开始请按空格键', align='center', font=('黑体', 30, 'bold'))
            flag_win_lose_text = False
        if flag_win is True:  # 此条件让2048达成的判断只能进行一次
            for k in block_dic.values():
                if k.num == 2048:  # 游戏达成
                    flag_win = False
                    self.write('     达成2048\n继续游戏请按回车键', align='center', font=('黑体', 30, 'bold'))
                    flag_win_lose_text = False

    def win_lose_clear(self):  # 游戏失败及达成2048提示文字clear
        global flag_win_lose_text
        self.clear()
        flag_win_lose_text = True

    def show_score(self):  # 分值的显示
        global score, top_score
        if score > to
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值