一、摘要
1.1 项目背景
《植物大战僵尸杂交版》游戏因其创新的杂交植物概念而受到玩家喜爱。该游戏中的杂交植物结合了不同基础植物的特性,创造出新的具有更复杂技能效果的植物。在这个背景下,我想在游戏主界面添加一个杂交实验室功能模块,让玩家能够创造、管理和体验这些杂交植物。
其实本来设计的是获取每个植物的所有属性,然后建个模型。这样的杂交算法就非常强大了,顺便再训练一个AI绘画模型出来,就可以量产杂交植物。但是,由于这项目几乎是我一个人在做,时间很有限,也仅仅是一门课的结课作业,也想偷个懒,就没按原计划走,而是用的匹配算法。
1. 2 具体实施
1.2.1 项目设计
实不相瞒,在前几篇博客中展现的界面,都是我用PPT做的,原理就是截取游戏的界面,然后消除图片背景,在背景图中布局,然后截出我需要的尺寸就可以用了。比起直接在网上找素材,好处就是全面,想要什么做什么,以及基本没有违和感。(以后有时间一定学一下PS)
1.2.2 项目图片素材获取工具
- 消除图片背景:remove.bg
这个我觉得挺好用,但是偶尔会出现需要保留的位置变为透明。网页版只支持单张,但是无数量限制,下载软件可以进行批量消除,有免费额度,超过需要付费。
- 图片分割:imgtool.net
这个就是将大图片分割为大小相同的小图片,在制作植物卡片矩阵的时候我就用到了,截一整面,完了分割为6*8的小块,然后图片是1、2、3、4这样进行编号的,下载压缩包就可以了。
1.2.3 项目编码环境
anaconda、VS code、Python 3.10.14、tkinter
1.2.4 其他
AI工具:Chat GPT 4.0 mini
二、博客集合
2.1 项目代码
10天速通Tkinter库——Day6:《植物杂交实验室》整体框架介绍-CSDN博客
10天速通Tkinter库——Day7:《植物杂交实验室》主菜单及图鉴-CSDN博客
10天速通Tkinter库——Day8:《植物杂交实验室》杂交实验及历史记录界面-CSDN博客
2.2 TKinter基础学习
10天速通Tkinter库——Day 1:初步认识-CSDN博客
10天速通Tkinter库——Day 2:窗口及布局-CSDN博客
10天速通Tkinter库——Day 3:组件详解-CSDN博客
10天速通Tkinter库——Day 4:花样button_tkinter按钮美化-CSDN博客
10天速通Tkinter库——Day 5:使用config进行OptionMenu美化_tk.optionmenu()-CSDN博客
三、代码仓库
项目完整代码和学习代码都放在仓库了,还包含了所有图片素材,有需要自取
四、Pygame
这个库是python专门做游戏的,本来有用这个的想法,但是不清楚水有多深,看网友说Tkinter简单,又考虑到我这个项目(作业)体量很小,于是就没用Pygame搭框架,但是项目中的背景音乐是用Pygame实现的。
import pygame
pygame.init()
BGM = pygame.mixer.music.load(r'sounds\bgm.ogg')
button_music = pygame.mixer.Sound(r'sounds\buttonclick.ogg')
card_music = pygame.mixer.Sound(r'sounds\card.ogg')
success_music = pygame.mixer.Sound(r'sounds\success.ogg')
fail_music = pygame.mixer.Sound(r'sounds\fail.ogg')
worning_music = pygame.mixer.Sound(r'sounds\worning.ogg')
在constants.py中定义了一个循环播放的BGM和几个点击事件的声音,哪里需要调用就好了,一下子就有植物大战僵尸那味儿了。
也许未来的某一天,我有想法使用Pygame做一个小游戏,我会以同样的方式记录学习过程。
最后,感谢陪伴,《植物杂交实验室》完结撒花!