基于tkinter制作的一个策略小游戏

目录

前言

登录界面

 主界面

宣政殿

地图

 吏部

兵部

户部

 刑部

工部

礼部 

 御书房

后宫

宗人府 

御马监 

锦衣卫

 司礼监

 京城

 后记


前言

前年本科毕业时,利用暑假的时间学习了一点tkinter,当时比较痴迷《君成录》、《皇帝成长计划》等策略养成游戏,突发奇想,想着正好可以用tkinter来图形化自己的一个策略游戏。兴趣是最好的老师,当时废寝忘食,熬夜加班加点利用了大约一个多周的时间吧,将游戏的框架搭建出来了。后来由于忙于学业,没有时间在继续下去了,就一直搁置了。2022年春节期间,整理电脑资料的时候发现了这个文件夹,不想白辛苦一场,在此分享记录一下吧。

PS:本人能力有限,不喜勿喷。游戏中涉及的图片及视频等均为网上下载或其他游戏中录制,本游戏纯属个人兴趣开发制作,不会商用,如有侵权之处,请联系本人删除,谢谢。

登录界面

游戏名字是自己随便取的,当时想放个背景图的,但是没有符合自己预期的,就一直没放,四个按钮中,存读档的功能暂时还没有实现。

接下来是一个文件存放路径的选择界面,由于是单机游戏,在尝试将其打包成exe时总是出错,就想了这样一个解决方法。

 接下来是配置皇帝属性,皇帝头像、年号、朝代、姓名均可更改。

然后是皇后属性 。

点击开始后即可来到游戏主界面。

 左上角红色框中为相应的属性值,皇威跟啥有关我给忘了(哈哈哈哈哈哈,时间太长了,记不清了),民心是跟朝廷的税收相关的。最上面的小杰子以及帮助(背景音乐)选项按钮是快捷键,小杰子是贴身太监的名字,帮助里可以调整背景音乐,背景音乐是《陈泯西 - 帝陵主题曲——千年祭》、《毛阿敏 - 相思》循环播放。

 主界面

 接下来介绍一下游戏的主界面中的各个功能模块

宣政殿

地图

地图展示的主要是王国下辖的州府,单击对应的州府可以显示其兵员及库银,点击对应的标识,可以将兵员及库银收缴至中央。

 吏部

吏部可以进行官员任免,通过点击举荐人才可以随机推举一个人才,对人才进行人民后,将鼠标移至对应的尚书名称处,其头像会自动在右侧框内显示。

单击举荐人才后,出现如上图界面,右侧展示人才的背景、姓名及头像,单击红底黑字按钮即可将其任命到对应官职。 

兵部

兵部主要进行军队的人数调动

每种兵种的需要耗费的银两数是不同的。 

户部

户部主要进行税率、战马、预算的操作。

 

 刑部

 刑部主要进行以下操作

 单击采秀后会出现如上界面,选为侍婢后,可以在御书房界面跟她下棋,临幸按钮属于彩蛋(你懂的哈哈哈哈)单击会出现一段视频进行播放。

工部

工部主要进行培育马种以及接受战俘的工作,在本游戏中,战马的多少对战争胜负有直接影响,战马的养护费用也是极高的。

礼部 

礼部比较简单

宣政殿每天只可以去一次,过了上朝时间 ,就无法再进入。

 御书房

御书房的侍婢功能与宣政殿—刑部—采秀功能联动,可与选为侍婢的秀女下棋。

 退位功能类似于重新开档新游戏

 兵符功能与御马监界面联动,凭借兵符的密文可以调动皇宫六卫。

奏折功能展示了游戏的一些设定。

休息用以恢复体力。

后宫

为方便部分联动功能的展示,将该界面提前进行说明。

后宫初始只有皇后一个妃子,需通过选秀界面增加妃子人数,册封为对应品阶后,可到对应品阶界面进行其他操作,对妃子进行随机次数的临幸后,会触发皇子功能,可以为皇子命名。此外,对不喜欢的妃子可以进行放逐出宫操作。

命名后的皇子会进入宗人府。

宗人府 

宗人府内可以对皇子进行更换储君等一系列操作。

御马监 

御马监主要对皇宫六卫进行操作,在御书房领取军队密文后才能进行操作,可以指挥军队在皇宫各处布防以及作战。

锦衣卫

锦衣卫主要可以调查敌对国势力以及国内关陇集团、山东世家、寒门士子等利益集团的势力,便于玩家通过吏部官员任命调整势力分布。寒门士子势力有助于提高民心,增加税收及适龄劳动力;关陇集团有助于增加州府军力;山东世家则有助于州府经济。

 司礼监

司礼监太监监军,对皇帝忠心度较高,但会随着野心膨胀而犯上作乱,可以通过司礼监对京城军队进行犒赏,提高忠诚度。

 京城

京城界面主要可以去京城的府衙、娱乐场所以及京城防卫力量处操作。

西山军营主管对外战争。与兵部界面联动。

 后记

其他功能界面比较简洁,功能比较单一就不过多介绍了,部分界面可能未展示出来(截图太累了呀!!!!!!),后期有精力的话考虑录一段视频或许会更有助于理解。

所用到的组件都是最基本的tkinter组件,界面的变换好像是用的frame组件,记不清了,实现过程中最重要的就是变量的管理,局部变量以及全局变量的处理,再有就是相关的关联功能的实现以及头像、随机数的实现等,都不难理解,其实最主要的感觉还是逻辑并不复杂,主要是工作量太大,一个人处理起来有些掉头发(哈哈哈哈哈哈哈)。这个小游戏的编写更多的是锻炼一下子学以致用的能力,其实还是那句话,兴趣是最好的老师,这里只是记录一下自己的日常,以后回过头来看看,或许也会感慨万千吧。

小白一个,后续有时间看看再完善以下这个小项目吧,第一次写小文章,有什么不妥之处欢迎大家批评指正(礼貌地批评指正),大家共同进步。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 首先,您需要安装 Python 和 tkinter。如果您已经安装了这些,则可以继续下一步。 下面是一些步骤,您可以按照这些步骤来制作带登录注册功能的小游戏: 1. 导入 tkinter 库: ``` import tkinter as tk ``` 2. 创建一个窗口: ``` window = tk.Tk() window.title("My Game") window.geometry("400x400") ``` 3. 在窗口中添加标签和输入框,用于输入用户名和密码: ``` username_label = tk.Label(text="Username:") username_label.pack() username_entry = tk.Entry() username_entry.pack() password_label = tk.Label(text="Password:") password_label.pack() password_entry = tk.Entry(show="*") password_entry.pack() ``` 4. 在窗口中添加按钮,用于登录和注册: ``` login_button = tk.Button(text="Login", command=login) login_button.pack() register_button = tk.Button(text="Register", command=register) register_button.pack() ``` 5. 定义登录和注册功能: ``` def login(): # 获取用户名和密码 username = username_entry.get() password = password_entry.get() # 检查用户名和密码是否正确 if check_login(username, password): # 登录成功,打开游戏界面 open_game_window() else: # 登录失败,显示错误信息 tk.messagebox.showerror("Error", "Invalid username or password") def register(): # 获取用户名和密码 username = username_entry.get() password = password_entry.get() # 检查用户名是否已 ### 回答2: 要用tkinter制作一个带登陆注册的小游戏,你可以按照以下步骤进行: 1. 导入tkinter模块: ```python import tkinter as tk ``` 2. 创建主窗口: ```python root = tk.Tk() root.title("小游戏") ``` 3. 创建登录和注册界面的函数: ```python def login_screen(): # 创建登录界面的元素,如标签、输入框和按钮 # 使用grid布局进行排列 def register_screen(): # 创建注册界面的元素,如标签、输入框和按钮 # 使用grid布局进行排列 ``` 4. 创建登录和注册按钮,并绑定对应的函数: ```python login_button = tk.Button(root, text="登录", command=login_screen) login_button.grid(row=1, column=0) register_button = tk.Button(root, text="注册", command=register_screen) register_button.grid(row=1, column=1) ``` 5. 运行主窗口: ```python root.mainloop() ``` 在登录界面和注册界面的函数中,你需要使用适当的tkinter组件(例如Label、Entry和Button)来实现用户交互和输入处理。你可以通过为按钮绑定函数来控制登录和注册的逻辑,并使用其他tkinter方法来获取用户输入的信息。 需要注意的是,在登陆和注册过程中,你可能需要使用数据库或文件来保存用户的用户名和密码等信息,以便进行验证和后续的游戏逻辑。希望以上步骤对你有所帮助。 ### 回答3: 要使用tkinter制作一个带登陆注册的小游戏,你可以按照以下步骤进行操作: 1. 导入tkinter库:首先,你需要导入tkinter库并创建一个主窗口。 2. 设计游戏界面:使用tkinter的布局管理器,如pack或grid,来设计游戏的界面。你可以添加游戏的标题、背景图片、按钮等组件。 3. 创建登陆和注册功能:使用tkinter的Entry组件和Button组件来创建登陆和注册界面。你可以添加相应的标签和文本框,以及两个按钮用于提交登陆和注册信息。 4. 编写登陆和注册的函数:定义两个函数,一个用于处理登陆功能,另一个用于处理注册功能。这些函数应该从用户界面获取输入的用户名和密码,并将其与预先设置的用户名和密码进行比较。 5. 连接游戏功能和登陆注册功能:在登陆和注册成功后,你可以通过按钮点击事件来调用游戏的相关功能。例如,在登陆成功后,你可以打开一个新窗口来开始游戏。 6. 添加游戏逻辑:根据你的游戏需求,编写游戏的逻辑代码。例如,如果你正在制作一个简单的迷宫游戏,你可以使用tkinter的画布组件来绘制迷宫,并创建玩家角色和敌人角色的移动。 7. 添加游戏结束功能:在游戏结束时,你可以弹出一个消息框来显示游戏结果,并提供重新开始游戏的选项。 8. 设置游戏退出:为主窗口添加关闭按钮,并编写函数来处理关闭事件,以确保在用户关闭游戏窗口时,游戏能够正常退出。 使用以上步骤,你可以使用tkinter制作一个带有登陆注册功能的小游戏。记得根据你的具体需求和游戏逻辑进行相应的修改和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值