- 葫芦娃大战妖精是一款Java语言编写的小游戏。
- 玩家只需进入游戏界面,用上帝之手按下Space键,即可感受葫芦娃与妖精的殊死搏斗。
- 不满意可重新来过,满意可回顾历史。
- 传说葫芦山里关着蝎子精和蛇,穿山甲不小心打穿了山洞,于是两个妖精逃了出来,从此百姓遭难。只有种出七色葫芦,才能消灭这两个妖精。 一段时间过去了,老爷爷种的葫芦娃终于长大了,他们与妖精展开了最后的较量...
- 作为上帝,你可以控制时间,让时光倒流,让时光重现...直到你满意为止。
- 上帝之手可以做的:
选项 | 功能描述 |
---|---|
开始游戏 | 当作什么都没有发生过,开始一场葫芦娃与妖精新的较量 |
读取历史 | 谁说过去只是过去,打开存档,再回味一次精彩瞬间 |
关于游戏 | 调用默认浏览器跳转到Github仓库页面 |
退出游戏 | 关闭程序窗口,退出游戏 |
- 葫芦娃和老爷爷一同对战妖精,在空间的左侧以长蛇阵站队
- 小喽啰,蛇精和蝎子精迎战葫芦娃,在空间的右侧以鹤翼阵站队
- 上帝按下空格后,葫芦娃们和妖精们将开始搏斗,知道有一方全部阵亡
- 作为上帝,你可以随时按下Esc终止战争
- 数据说明:葫芦娃胜率:60%,妖精胜率:50%,爷爷胜率:40%
- 当妖精全部阵亡后,葫芦娃和老爷爷获胜,从此过上了幸福的生活。
- 葫芦娃作为最后的胜利者,会摆出造型:
- 当葫芦娃和爷爷全部阵亡后,妖精获胜,葫芦娃最终还是没能抵挡妖精的侵袭,人间再次沦为炼狱...
- 妖精作为最后的胜利者,会摆出造型:
界面 | 快捷键 | 操作描述 |
主界面 | S | 开始游戏 |
L | 读取历史 | |
Esc / Q | 退出游戏 | |
游戏界面 | Space | 开始战斗 |
Esc | 返回主界面 | |
结果界面 | L | 读取历史 |
S | 保存记录(仅新的游戏结束后有效) | |
Esc | 返回主界面 |
采用JavaFX作为界面框架,使用Scene Builder搭建界面,通过fxml文件作为介质载入。
- Creature,作为interface,规定了生物具有的功能。
- Huluwa,葫芦娃
- Grandpa,老爷爷
- Monster, 妖精
- Xiezijing, 蝎子精(继承自妖精)
- Xiaolouluo,小喽啰(继承自妖精)
- Snake,蛇精(继承自妖精)
- Space,空白(特殊的生物,如空气一般虚无缥缈)
- Field,二维空间,SizeX*SizeY的空间大小,提供了一系列对外的接口来改变Field战场的状态。
- Position,单个位置,可以放置唯一的生物。
- Animation,动画效果,通过定时器实现了淡入淡出效果,界面背景图片变换时会展现。
- FileModel,文件模块,用于保存字符串到文件,以及从文件读取字符串。
- Controller,JavaFX界面的事件处理类,将UI层和事件层分离。
- Main,程序入口,fxml文件的读取,主框架的搭建。
- Stratagem,作为interface,规定了阵法应具备的方法。
- HeyiStratagem,鹤翼阵
- YanxingStratagem,雁形阵
- ChangsheStratagem,长蛇阵
主要对field.Field中的方法进行测试,包括:
- Add方法是否能正确在指定位置放置生物。
- Delete方法是否能正确移除指定位置的生物。
- IsRowHaveEnemy方法是否能正确判断该行是否存在敌人。
- IsGameOver方法是否能正确判断游戏是否结束。
- Java游戏的开发过程还是很有趣的,虽然遇到了很多的问题,但是查找资料并尝试解决问题之后的成就感很让人满足。
- 上这门课学到了很多知识,比如以前没有尝试过的并发编程,虽然考试的时候不太理想,但是能写出这个游戏(故事)很让人满足。
- 改掉了拖延症,写作业效率变高了。
- 写应用同时也要会Photoshop啊...抠图拼图什么的
- 本项目中所有资源均来自互联网,在此向资源提供者致谢,如有侵权请联系作者liu@triumphal.cn删除。
- 感谢曹老师余老师的授课,merci.
- 如对此项目有意见或建议欢迎交流:liu@triumphal.cn