Python数字华容道第四次修改!我回来了!

博主在时隔几个月后回归,分享了Python数字华容道程序的第四次修改,这次主要实现了界面化的改进。通过删除if判定,将程序主体转化为自定义函数,提升了代码的组织性。虽然外观改动看似不大,但实际上进行了大量内部重构。博主探讨了这种改造的创新性和挑战性,并邀请读者在评论区提问交流。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python数字华容道第四次修改!我回来了!

几个月没见到我更新了,是不是以为我不会更新了?最近由于转学以及一些琐事影响,停更了挺久的。当然编程还是在继续坚持(现在在了解C++,以后把它当作辅修)不多说了,直接进入程序。
又双叒叕是数字华容道的编程
关于数字华容道,我好像已经发过两篇文章了
制作Python数字华容道(可选择关卡)
Python数字华容道编辑日记(细讲原理)
不过我在想一个问题,第二篇明明是讲的比第一篇详细很多,第一篇我自己感觉还有些许的水,为什么阅读量相差这么大:
在这里插入图片描述
在这里插入图片描述
这是一个令人深思的问题
先放上我自己做的编辑记录

"""
=======================================================================
作者:@Qss
2021年3月20日起草
2021年3月21日完工
2021年3月23日一次优化完成
2021年3月31日完成二次优化(关卡设计)
二次优化待解决漏洞:设计关卡后窗口不能自动显示,需手动切换
2021年4月1日三次优化完成,成功解决二次优化bug
2021年10月7日完成四次优化,使关卡选择界面化(二次优化时在壳窗口内选关)
=======================================================================
"""

这下知道这程序经历了我的多少次摧残 严格修改了吧。
这次最大的修改就是把它完全的界面化
选择关卡
当然,看上去改动了很少,实际上改动了也很少 特别多!
首先,我将之前的if判定全部删除了,这个程序的主题,只有这么短:

"""主程序框架"""
#创建图形化用户界面实例
root_1 = Tk()                      
root_1.title('数字华容道')         
root_1.geometry("380x300")    
root_1.configure(bg = 'darkslategray') 
root_1.resizable(width = False,height = False)    

#设置label控件
label_welcome = Label(root_1,text = '数字华容道',bg = 'darkslategray',fg = 'red',font = ("font",20))    
label_welcome.place(x = 70,y = 10,width = 250,height = 40)

#设置按钮
b = Button(root_1, font=('Arial', 12), width=10, height=1, text="3x3", command=game_1, bg='white', fg='black')
b.place(x=140,y=60)
b_1 = Button(root_1, font=('Arial',12), width=10, height=1, text="4x4", command=game_2, bg='white', fg='black')
b_1.place(x=140,y=100)
b_2 = Button(root_1, font=('Arial',12), width=10, height=1, text="5x5", command=game_3, bg='white', fg='black')
b_2.place(x=140,y=140)

其余的,全是自定义函数。
为什么全部要写成函数,问题就出在这两行程序上:

#设置按钮
b = Button(root_1, font=('Arial', 12), width=10, height=1, text="3x3", command=game_1, bg='white', fg='black')
b.place(x=140,y=60)
b_1 = Button(root_1, font=('Arial',12), width=10, height=1, text="4x4", command=game_2, bg='white', fg='black')
b_1.place(x=140,y=100)
b_2 = Button(root_1, font=('Arial',12), width=10, height=1, text="5x5", command=game_3, bg='white', fg='black')
b_2.place(x=140,y=140)

这里的command后面接的是按钮点击触发的函数。没错,只有函数。所以导致我把原来的程序主体变为了函数。

def game_1():
    global row_of_space  
    global col_of_space    
    global step_number
    global difficulty
    global label_step_number
    global buttons
    global numbers
    global label_welcomes
    step_number = 0
    """创建华容道游戏窗口"""
    root = Tk()                      #创建图形化用户界面实例
    root.title('数字华容道')         #设置窗口标题
    root.geometry("400x400")    #将窗口大小设为高300宽300
    root.configure(bg = 'black') #将窗口背景设为黑色
    root.resizable(width = False,height = False)    #设置窗口为不可拉伸
    """设置欢迎语的label控件"""
    label_welcomes = Label(root,text = '欢迎来到数字华容道',bg = 'black',fg = 'red',font = ("Arial",13))    #设置label控件的属性
    label_welcomes.place(x = 20,y = 10,width = 250,height = 40)  #设置label控件位置
    """设置显示操作方式的label控件"""
    label_operation = Label(root,text = '单击数字',bg = 'black',fg = 'white',font = ("Arial",10))
    label_operation.place(x = 3,y = 40,width = 50,height = 30)
    label_operation_2 = Label(root,text = '移动方块',bg = 'black',fg = 'white',font = ("Arial",10))
    label_operation_2.place(x 
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值