当前位置:   article > 正文

使用tkinter 实现一个猜数字游戏_tkinter猜数游戏,每猜测一个数,都打印在第一个主窗口

tkinter猜数游戏,每猜测一个数,都打印在第一个主窗口

使用tkinter 实现一个猜数字游戏

实现效果如下
在这里插入图片描述
先导入我们要实现的模块名

import time
import tkinter as tk
import tkinter.font as tkFont
import random

LOG_LINE_NUM = 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

后面我们开始编写实现的类
类名,定位为APP类

类方法里面变量初始化,我们后面要用到的变量
 def __init__(self, root):
        self.initUI(root)
        self.initGame()
        self.initData()

    def initGame(self):
        self.module = True  # 升级模式  True 积分模式 False猜准即升级
        self.bonus = 10  # 游戏积分,初始为10
        self.coins = 10  # 猜数字次数,初始为10
        self.level = 1  # 游戏级别,初始为1
        self.buycoins_temp = 0  # 额外猜数次数,初始为0,未消耗永久有效
        self.buycoins_forever = 0  # 额外永久猜数次数,初始为0,永久有效
        self.status_coinsforever = True  # 额外永久猜数次数是否使用过
        self.status_leveup = False  # 升级状态
        self.burynumber = 0
        self.helpnumber = [1, 50, 100]  # 助猜数字
        self.status_helpnumber = False
        self.status_hint = True
        self.hintmin = 1
        self.hintmax = 100
        self.setDataLabel()
        self.GButton_submit['state'] = 'disabled'
        self.GButton_hint['state'] = 'disabled'
        self.GButton_buycoins_temp['state'] = 'disabled'
        self.GButton_buycoins_forever['state'] = 'disabled'
        self.GLineEdit_buycoins_forever['fg'] = "green"
        self.GLineEdit_buycoins_temp['fg'] = "green"
        global LOG_LINE_NUM
        LOG_LINE_NUM = 0
        self.GLineEdit_log.delete(1.0, 'end')

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

定义一个函数编写界面的标签

    def setDataLabel(self):
        self.set_bonus_lable(self.GLineEdit_bonus, self.bonus)
        self.set_bonus_lable(self.GLineEdit_level, self.level)
        self.set_bonus_lable(self.GLineEdit_coins, self.coins)
        self.set_bonus_lable(self.GLineEdit_buycoins_forever, self.buycoins_forever)
        self.set_bonus_lable(self.GLineEdit_buycoins_temp, self.buycoins_temp)
        if self.status_hint:
            self.GLabel_numrange['text'] = f'1-{self.level * 100}'
        else:
            self.GLabel_numrange['text'] = f'{self.hintmin}-{self.hintmax}'
        if self.status_helpnumber:
            self.GLabel_helpnum['text'] = f'健康游戏忠告{self.helpnumber[1]}'
        else:
            self.GLabel_helpnum['text'] = f'健康游戏忠告'
        self.GLabel_burynumber['text'] = f"抵制不良游戏,拒绝盗版游戏。\n注意自我保护,谨防受骗上当。\n" \
                                         f"适度游戏益脑,沉迷游戏伤身。\n合理安排时间,享受健康生活。"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

初始化界面的编写

    def initUI(self, root):
        # setting title
        root.title("猜数字游戏  dltest@52pojie")
        # setting window size
        width = 600
        height = 500
        screenwidth = root.winfo_screenwidth()
        screenheight = root.winfo_screenheight()
        alignstr = '%dx%d+%d+%d' % (width, height, (screenwidth - width) / 2, (screenheight - height) / 2)
        root.geometry(alignstr)
        root.resizable(width=False, height=False)

        ft_entry = tkFont.Font(family='Times', size=12)

        GLabel_770 = tk.Label(root, text="级别")
        GLabel_770.place(x=30, y=10, width=32, height=30)

        GLabel_975 = tk.Label(root, text="积分")
        GLabel_975.place(x=190, y=10, width=44, height=31)

        GLabel_917 = tk.Label(root, text="额外次数")
        GLabel_917.place(x=350, y=10, width=73, height=30)

        GLabel_30 = tk.Label(root, text="临时次数")
        GLabel_30.place(x=350, y=50, width=73, height=34)

        GLabel_37 = tk.Label(root, text="剩余猜测")
        GLabel_37.place(x=360, y=90, width=55, height=30)

        self.GButton_buycoins_forever = tk.Button(root, text="10分买一次")
        self.GButton_buycoins_forever.place(x=510, y=10, width=71, height=30)
        self.GButton_buycoins_forever["command"] = self.GButton_buycoins_forever_command

        self.GButton_buycoins_temp = tk.Button(root, text="2分买一次")
        self.GButton_buycoins_temp.place(x=510, y=50, width=71, height=30)
        self.GButton_buycoins_temp["command"] = self.GButton_buycoins_temp_command

        self.GLabel_result = tk.Label(root, text="猜测结果")
        self.GLabel_result.place(x=110, y=50, width=205, height=72)

        self.GLineEdit_log = tk.Text(root)  # "记录"
        self.GLineEdit_log.place(x=10, y=130, width=408, height=360)

        self.GLineEdit_numinput = tk.Entry(root, text="输入框", justify="center", font=ft_entry, validate='key',
                                           validatecommand=(root.register(self.checkInput), '%P'))
        self.GLineEdit_numinput.place(x=460, y=240, width=98, height=34)

        self.GButton_submit = tk.Button(root, text="提交")
        self.GButton_submit["command"] = self.GButton_submit_command
        self.GButton_submit.place(x=460, y=280, width=99, height=30)

        self.GLabel_helpnum = tk.Label(root, text="健康游戏忠告")
        self.GLabel_helpnum.bind('<Button-1>', self.changeHelpStatus)
        self.GLabel_helpnum.place(x=430, y=370, width=160, height=30)

        self.GLabel_burynumber = tk.Label(root, text="抵制不良游戏,拒绝盗版游戏。\n注意自我保护,谨防受骗上当。\n"
                                                     "适度游戏益脑,沉迷游戏伤身。\n合理安排时间,享受健康生活。")
        ft = tkFont.Font(family='宋体', size=8)
        self.GLabel_burynumber["font"] = ft
        self.GLabel_burynumber["fg"] = "#5fb878"
        self.GLabel_burynumber.bind('<Button-1>', self.GLabel_getburynumber)
        self.GLabel_burynumber.place(x=430, y=400, width=171, height=75)

        self.GButton_star = tk.Button(root, text="开始游戏")
        self.GButton_star.place(x=510, y=90, width=72, height=30)
        self.GButton_star["command"] = self.GButton_star_command

        GLabel_512 = tk.Label(root, text="本次数字区间")
        GLabel_512.place(x=450, y=170, width=120, height=30)

        self.GLabel_numrange = tk.Label(root, text="1-100")  # "1-100"
        self.GLabel_numrange.place(x=450, y=200, width=122, height=30)

        self.GLineEdit_level = tk.Entry(root, state='readonly', justify="center", font=ft_entry)  # "级别"
        self.GLineEdit_level.place(x=70, y=10, width=90, height=30)

        self.GLineEdit_bonus = tk.Entry(root, justify="center", font=ft_entry)  # "积分"
        self.GLineEdit_bonus.place(x=240, y=10, width=81, height=30)

        self.GLineEdit_buycoins_forever = tk.Entry(root, justify="center", font=ft_entry)  # 额外
        self.GLineEdit_buycoins_forever.place(x=420, y=10, width=72, height=30)

        self.GLineEdit_buycoins_temp = tk.Entry(root, justify="center", font=ft_entry)  # 临时
        self.GLineEdit_buycoins_temp.place(x=420, y=50, width=72, height=30)

        self.GLineEdit_coins = tk.Entry(root, justify="center", font=ft_entry)  # 剩余
        self.GLineEdit_coins.place(x=420, y=90, width=72, height=30)

        self.GButton_reset = tk.Button(root, text="重玩")
        self.GButton_reset.place(x=30, y=70, width=61, height=30)
        self.GButton_reset["command"] = self.GButton_reset_command

        self.GButton_hint = tk.Button(root, text="5积分缩小范围1次")
        self.GButton_hint.place(x=430, y=130, width=149, height=30)
        self.GButton_hint["command"] = self.GButton_hint_command
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95

由于代码太多了
只贴上上面的代码

下面是完整代码

# -*- coding:utf-8 -*-
# @FileName  :myguestnumberUI.py
# @Time      :2022/7/23 12:03
# @AuThor     :dltest@52pojie
import time
import tkinter as tk
import tkinter.font as tkFont
import random

LOG_LINE_NUM = 0


class App:
    def __init__(self, root):
        self.initUI(root)
        self.initGame()
        self.initData()

    def initGame(self):
        self.module = True  # 升级模式  True 积分模式 False猜准即升级
        self.bonus = 10  # 游戏积分,初始为10
        self.coins = 10  # 猜数字次数,初始为10
        self.level = 1  # 游戏级别,初始为1
        self.buycoins_temp = 0  # 额外猜数次数,初始为0,未消耗永久有效
        self.buycoins_forever = 0  # 额外永久猜数次数,初始为0,永久有效
        self.status_coinsforever = True  # 额外永久猜数次数是否使用过
        self.status_leveup = False  # 升级状态
        self.burynumber = 0
        self.helpnumber = [1, 50, 100]  # 助猜数字
        self.status_helpnumber = False
        self.status_hint = True
        self.hintmin = 1
        self.hintmax = 100
        self.setDataLabel()
        self.GButton_submit['state'] = 'disabled'
        self.GButton_hint['state'] = 'disabled'
        self.GButton_buycoins_temp['state'] = 'disabled'
        self.GButton_buycoins_forever['state'] = 'disabled'
        self.GLineEdit_buycoins_forever['fg'] = "green"
        self.GLineEdit_buycoins_temp['fg'] = "green"
        global LOG_LINE_NUM
        LOG_LINE_NUM = 0
        self.GLineEdit_log.delete(1.0, 'end')

    def setDataLabel(self):
        self.set_bonus_lable(self.GLineEdit_bonus, self.bonus)
        self.set_bonus_lable(self.GLineEdit_level, self.level)
        self.set_bonus_lable(self.GLineEdit_coins, self.coins)
        self.set_bonus_lable(self.GLineEdit_buycoins_forever, self.buycoins_forever)
        self.set_bonus_lable(self.GLineEdit_buycoins_temp, self.buycoins_temp)
        if self.status_hint:
            self.GLabel_numrange['text'] = f'1-{self.level * 100}'
        else:
            self.GLabel_numrange['text'] = f'{self.hintmin}-{self.hintmax}'
        if self.status_helpnumber:
            self.GLabel_helpnum['text'] = f'健康游戏忠告{self.helpnumber[1]}'
        else:
            self.GLabel_helpnum['text'] = f'健康游戏忠告'
        self.GLabel_burynumber['text'] = f"抵制不良游戏,拒绝盗版游戏。\n注意自我保护,谨防受骗上当。\n" \
                                         f"适度游戏益脑,沉迷游戏伤身。\n合理安排时间,享受健康生活。"

    def initUI(self, root):
        # setting title
        root.title("猜数字游戏  dltest@52pojie")
        # setting window size
        width = 600
        height = 500
        screenwidth = root.winfo_screenwidth()
        screenheight = root.winfo_screenheight()
        alignstr = '%dx%d+%d+%d' % (width, height, (screenwidth - width) / 2, (screenheight - height) / 2)
        root.geometry(alignstr)
        root.resizable(width=False, height=False)

        ft_entry = tkFont.Font(family='Times', size=12)

        GLabel_770 = tk.Label(root, text="级别")
        GLabel_770.place(x=30, y=10, width=32, height=30)

        GLabel_975 = tk.Label(root, text="积分")
        GLabel_975.place(x=190, y=10, width=44, height=31)

        GLabel_917 = tk.Label(root, text="额外次数")
        GLabel_917.place(x=350, y=10, width=73, height=30)

        GLabel_30 = tk.Label(root, text="临时次数")
        GLabel_30.place(x=350, y=50, width=73, height=34)

        GLabel_37 = tk.Label(root, text="剩余猜测")
        GLabel_37.place(x=360, y=90, width=55, height=30)

        self.GButton_buycoins_forever = tk.Button(root, text="10分买一次")
        self.GButton_buycoins_forever.place(x=510, y=10, width=71, height=30)
        self.GButton_buycoins_forever["command"] = self.GButton_buycoins_forever_command

        self.GButton_buycoins_temp = tk.Button(root, text="2分买一次")
        self.GButton_buycoins_temp.place(x=510, y=50, width=71, height=30)
        self.GButton_buycoins_temp["command"] = self.GButton_buycoins_temp_command

        self.GLabel_result = tk.Label(root, text="猜测结果")
        self.GLabel_result.place(x=110, y=50, width=205, height=72)

        self.GLineEdit_log = tk.Text(root)  # "记录"
        self.GLineEdit_log.place(x=10, y=130, width=408, height=360)

        self.GLineEdit_numinput = tk.Entry(root, text="输入框", justify="center", font=ft_entry, validate='key',
                                           validatecommand=(root.register(self.checkInput), '%P'))
        self.GLineEdit_numinput.place(x=460, y=240, width=98, height=34)

        self.GButton_submit = tk.Button(root, text="提交")
        self.GButton_submit["command"] = self.GButton_submit_command
        self.GButton_submit.place(x=460, y=280, width=99, height=30)

        self.GLabel_helpnum = tk.Label(root, text="健康游戏忠告")
        self.GLabel_helpnum.bind('<Button-1>', self.changeHelpStatus)
        self.GLabel_helpnum.place(x=430, y=370, width=160, height=30)

        self.GLabel_burynumber = tk.Label(root, text="抵制不良游戏,拒绝盗版游戏。\n注意自我保护,谨防受骗上当。\n"
                                                     "适度游戏益脑,沉迷游戏伤身。\n合理安排时间,享受健康生活。")
        ft = tkFont.Font(family='宋体', size=8)
        self.GLabel_burynumber["font"] = ft
        self.GLabel_burynumber["fg"] = "#5fb878"
        self.GLabel_burynumber.bind('<Button-1>', self.GLabel_getburynumber)
        self.GLabel_burynumber.place(x=430, y=400, width=171, height=75)

        self.GButton_star = tk.Button(root, text="开始游戏")
        self.GButton_star.place(x=510, y=90, width=72, height=30)
        self.GButton_star["command"] = self.GButton_star_command

        GLabel_512 = tk.Label(root, text="本次数字区间")
        GLabel_512.place(x=450, y=170, width=120, height=30)

        self.GLabel_numrange = tk.Label(root, text="1-100")  # "1-100"
        self.GLabel_numrange.place(x=450, y=200, width=122, height=30)

        self.GLineEdit_level = tk.Entry(root, state='readonly', justify="center", font=ft_entry)  # "级别"
        self.GLineEdit_level.place(x=70, y=10, width=90, height=30)

        self.GLineEdit_bonus = tk.Entry(root, justify="center", font=ft_entry)  # "积分"
        self.GLineEdit_bonus.place(x=240, y=10, width=81, height=30)

        self.GLineEdit_buycoins_forever = tk.Entry(root, justify="center", font=ft_entry)  # 额外
        self.GLineEdit_buycoins_forever.place(x=420, y=10, width=72, height=30)

        self.GLineEdit_buycoins_temp = tk.Entry(root, justify="center", font=ft_entry)  # 临时
        self.GLineEdit_buycoins_temp.place(x=420, y=50, width=72, height=30)

        self.GLineEdit_coins = tk.Entry(root, justify="center", font=ft_entry)  # 剩余
        self.GLineEdit_coins.place(x=420, y=90, width=72, height=30)

        self.GButton_reset = tk.Button(root, text="重玩")
        self.GButton_reset.place(x=30, y=70, width=61, height=30)
        self.GButton_reset["command"] = self.GButton_reset_command

        self.GButton_hint = tk.Button(root, text="5积分缩小范围1次")
        self.GButton_hint.place(x=430, y=130, width=149, height=30)
        self.GButton_hint["command"] = self.GButton_hint_command

    def initData(self):
        pass

    def GButton_buycoins_forever_command(self):
        if self.bonus >= 20 and self.buycoins_forever < 10:
            self.bonus -= 10
            self.buycoins_forever += 1
            self.write_log_to_Text(f'购买成功,已为您增加永久次数:1')
            if self.status_coinsforever:
                self.write_log_to_Text(f'本局可以使用购买得永久次数。')
            else:
                self.write_log_to_Text(f'永久次数已部份使用,下局可用新购次数。')
        else:
            if self.bonus < 20:
                self.write_log_to_Text(f'购买失败!请预留至少10点游戏积分!您目前游戏积分:{self.bonus}')
            elif self.buycoins_forever >= 10:
                self.write_log_to_Text(f'购买失败!额外猜数次数存储上限为10次!')
        self.setDataLabel()

    def GButton_buycoins_temp_command(self):
        if self.bonus >= 12:
            self.bonus -= 2
            self.buycoins_temp += 1
            self.write_log_to_Text(f'购买成功,已为您增加临时次数:1')
        else:
            self.write_log_to_Text(f'购买失败!请预留至少10点游戏积分!您目前游戏积分:{self.bonus}')
        self.setDataLabel()

    def changeHelpStatus(self, event):
        self.status_helpnumber = not self.status_helpnumber
        self.setDataLabel()

    def GLabel_getburynumber(self, event):
        self.GLabel_burynumber['text'] = self.burynumber

    def GButton_submit_command(self):
        if self.bonus <= 0:
            self.write_log_to_Text(f'您的游戏积分为0,GAME OVER!重玩请点击按钮【重玩】')
            # self.write_log_to_Text('很遗憾!您没有猜对数字!埋藏的数字为:{input:3}')
            return
        input = self.GLineEdit_numinput.get()
        self.GLineEdit_numinput.delete(0, 'end')
        x = 0
        if input:
            try:
                x = int(input)
            except:
                self.write_log_to_Text(f'请输入整数')
                return
        else:
            self.write_log_to_Text(f'未输入数字')
            return
        if x > self.burynumber:
            self.GLabel_result['fg'] = "#ff7800"
            ft = tkFont.Font(family='Times', size=12)
            self.GLabel_result["font"] = ft
            self.GLabel_result['text'] = "大了"
            self.write_log_to_Text(f'您猜的数[{input:>3}]太大了!扣除1点游戏积分,剩余游戏积分:{self.bonus - 1}')
            self.helpnumber[2] = x
            self.helpnumber[1] = int((self.helpnumber[0] + self.helpnumber[2]) / 2)

        elif x < self.burynumber:
            self.GLabel_result['text'] = "小了"
            self.write_log_to_Text(f'您猜的数[{input:>3}]太小了!扣除1点游戏积分,剩余游戏积分:{self.bonus - 1}')
            self.helpnumber[0] = x
            self.helpnumber[1] = int((self.helpnumber[0] + self.helpnumber[2]) / 2)
        else:
            self.status_leveup = True
            print("神啦!您居然猜对了")
            self.GLabel_result['text'] = "猜对了"
            self.write_log_to_Text(f'神啦!您居然猜对了!埋藏的数确实是[{input:>3}]。')
            self.write_log_to_Text(f'奖励10点游戏积分,剩余游戏积分:{self.bonus + 10}')
        self.setGameStaus()

    def setGameStaus(self):
        self.bonus -= 1
        if self.status_leveup:
            self.bonus += 11
            self.coins = 10
            self.GLineEdit_buycoins_forever['fg'] = "green"
        else:
            self.coins -= 1
        if self.coins == 0 and self.bonus > 0 and not self.status_leveup:
            if self.status_coinsforever and self.buycoins_forever > 0:
                self.status_coinsforever = False
                self.GLineEdit_buycoins_forever['fg'] = "red"
                self.coins += self.buycoins_forever
                self.write_log_to_Text(f'使用道具“主角光环”成功!额外增加[{self.buycoins_forever}]次猜测,请继续加油!')
            elif self.buycoins_temp > 0:
                self.coins += 1
                self.buycoins_temp -= 1
                self.write_log_to_Text(f'幸运加持!额外增加[{1}]次猜测,请继续加油!')
            else:
                self.write_log_to_Text(f'很遗憾!您没有猜对数字!埋藏的数字为:{self.burynumber:>3}')
                self.write_log_to_Text(f'您的猜测次数为0,GAME OVER!重玩请点击按钮【重玩】')
                self.GameOver()
        self.uplevel()
        if self.status_leveup:
            self.GButton_star_command()
        self.setDataLabel()  # 刷新显示

    def GButton_hint_command(self):
        if self.bonus > 5:
            self.status_hint = False
            self.bonus -= 5
            min = random.randint(1, 25)
            max = random.randint(1, 25)
            hintmin = 1
            if self.burynumber - self.hintmin > min:
                hintmin = self.burynumber - min
            else:
                hintmin = self.burynumber - random.randint(1, (self.burynumber - self.hintmin))
            hintmax = self.level * 100
            if self.hintmax - self.burynumber > max:
                hintmax = self.burynumber + max
            else:
                hintmax = self.burynumber + random.randint(1, (self.hintmax - self.burynumber))
            if hintmin < 0:
                hintmin = random.randint(1, self.burynumber)
            if hintmax > self.level * 100:
                hintmax = random.randint(self.burynumber, self.level * 100)
            self.hintmin = hintmin
            self.hintmax = hintmax
            self.write_log_to_Text(f'-----------消耗5点游戏积分获取埋藏数字区间提示 ------')
            self.write_log_to_Text(f'埋藏的数字在「{self.hintmin}~{self.hintmax}」之间,剩余游戏积分:{self.bonus}')
        else:
            self.write_log_to_Text(f'购买失败!请预留至少5点游戏积分!您目前游戏积分:{self.bonus}')
        self.setDataLabel()

    def GButton_star_command(self):
        self.burynumber = self.BuryNumber(self.level)
        self.GButton_star['state'] = 'disabled'
        self.GButton_submit['state'] = 'active'
        self.GButton_hint['state'] = 'active'
        self.GButton_buycoins_temp['state'] = 'active'
        self.GButton_buycoins_forever['state'] = 'active'
        self.status_hint = True
        self.status_leveup = False
        self.status_coinsforever = True
        print(self.level)
        self.helpnumber[2] = self.level * 100
        self.helpnumber[0] = 1
        self.helpnumber[1] = int((self.helpnumber[0] + self.helpnumber[2]) / 2)
        print(self.helpnumber)

    def GButton_reset_command(self):
        self.bonus = 10
        self.level = 1
        self.set_bonus_lable(self.GLineEdit_bonus, self.bonus)
        self.set_bonus_lable(self.GLineEdit_level, self.level)
        self.GButton_star['state'] = 'active'
        self.initGame()
        self.setDataLabel()

    # 根据游戏级别埋藏数字
    def BuryNumber(self, level):
        return random.randint(1, level * 100)

    def checkInput(self, char):
        if (char.isdigit() or char == ""):
            return True
        else:
            return False

    def write_log_to_Text(self, logmsg):
        global LOG_LINE_NUM
        logmsg_in = str(logmsg) + "\n"  # 换行
        if LOG_LINE_NUM <= 24:
            self.GLineEdit_log.insert('end', logmsg_in)
            LOG_LINE_NUM = LOG_LINE_NUM + 1
        else:
            self.GLineEdit_log.delete(1.0, 2.0)
            self.GLineEdit_log.insert('end', logmsg_in)

    def set_bonus_lable(self, _Edit, value):
        _Edit.config(state='normal')
        _Edit.delete(0, 'end')
        _Edit.insert(0, f"{value}")
        _Edit.config(state='readonly')

    def GameOver(self):
        self.GButton_submit['state'] = 'disabled'

    # 根据游戏积分提升游戏级别
    def uplevel(self):
        level = self.level
        if self.status_leveup and not self.module:
            level += 1
        else:
            level = self.bonus // 10 + 1
        if level > self.level:
            self.level = level
            self.write_log_to_Text(f'-----------游戏难度升级至:{self.level}  ------')


if __name__ == "__main__":
    root = tk.Tk()
    app = App(root)
    root.mainloop()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330
  • 331
  • 332
  • 333
  • 334
  • 335
  • 336
  • 337
  • 338
  • 339
  • 340
  • 341
  • 342
  • 343
  • 344
  • 345
  • 346
  • 347
  • 348
  • 349
  • 350
  • 351
  • 352
  • 353
  • 354
  • 355
  • 356

上面代码还有部分没有完善功能,
完整功能代码打包成exe上次到我的资源
可以去这个链接下载
https://download.csdn.net/download/Deng872347348/86336872

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/230031
推荐阅读
相关标签
  

闽ICP备14008679号