今天看到《码农》的一本杂志里的一篇文章,说用Python+PythonCarrd做一只电子宠物,于是好奇地用Python+tkinter做了起来
一、 绘制素材
我用的3D画图软件是MagicaVoxel,因为技术渣,啊不是,因为这不是重点,所以只是随便画画。
二、 思考算法
书上的太普通了,我要自己思考算法
- 把宠物的一天分为60个部分
- 每部分24分钟,相当于人的一天
- 宠物在50个部分醒着,10个部分睡觉
- 宠物有饥饿度,伤心度,健康度,疲劳度,范围为1 ~ 10
- 宠物可以睡觉,醒着却什么也不做,看病,吃饭,玩耍,散步
- 所以要六张照片
- 睡觉时,疲劳度每部分时间 - 2
- 吃饭时,饥饿度每部分时间 - 2
- 看病时,健康度每部分时间 - 2
- 散步时,伤心度每部分时间 - 1 ,疲劳度每部分时间 + 1
- 玩耍时,伤心度每部分时间 - 2 ,疲劳度每部分时间 + 2
- 如果宠物睡觉时被叫醒(做任何事都回让宠物醒),伤心度 + 2
- 如果饥饿度低于5,每部分时间伤心度增加 5 - 当前饥饿度
- 如果饥饿度低于3,每部分时间健康度增加 3 - 当前饥饿度
- 如果疲劳度高于7,宠物会睡到疲劳度低于 5
- 在玩家关闭窗口后(在mainloop()函数后),将当前时间写入sqlite数据库
- 在玩家再次打开游戏时,计算过去了多少部分时间,更改数值
- 在玩家离线时,宠物会睡觉或醒着却什么也不做
三、 发布项目
我看了看上面的算法,觉得这是一个大项目,于是把他发布到了GitHub
项目地址是ttzc/ElectronicPet
天天早晨:Python+tkinter开发一个电子宠物(2 按钮)zhuanlan.zhihu.com本文同步发布在简书
Python+tkinter开发一个电子宠物(1 开始)www.jianshu.com