第二次课程设计实验报告

一、 实验项目名称

            冷血的猎人

二、 实验项目功能描述

1、 用w、s、a、d控制猎人上下左右,并能斜向行走。
2、 击败敌人,敌人一波比一波多
3、敌人随机出现,进攻性动物会向人的方向移动,其它敌人随机移动
4、有边界,不能出界

三、 项目模块结构介绍(文字+总体模型)

1、 初始化模块:startup();函数:指定游戏界面的宽高,读取各种图片到各个IMAGE对象中,设定自己操作的人物的初始状态,最开始出现的敌人数量,显示背景和人物。
2、 持续运行模块:updateWithoutInput():如果敌人数量为零,重新生成敌人,且生成的敌人数一次比一次多,直到最大值。生成的敌人随机,小敌人几率低,大敌人几率高,生成在游戏界面上的位置也随机。生成的敌人一部分会向人的方向移动,一部分随机移动,且不会出界。
3、 显示画面模块:show(),显示背景,人物朝哪个方向移动,人物的图像就改变成向哪个方向的图片。敌人的血量大于零,则输出敌人图片,否则不输出图片,
4、 有关数据输入运行模块:updateWithInput():定义鼠标信息,得到鼠标输入,判断输出时人物图片。人物移动输入,如果不达到边界,则输出移动时的人物图片,如果是边界,则不动。
5、 游戏结束模块:gameover():结束游戏,进行后续处理。(目前还没到这一步)

四、 实现界面展示

五、 代码托管链接

https://gitee.com/xqldc/xqldx.git

六、 实验总结(提出问题+解决办法+感想)

遇到的问题,嗯嗯嗯,问题实在是太多了,就举几个比较有代表性的吧。
遇到的问题一:刚开始输出图片时是一个正方形的有白边的图片,然后很影响美感
解决的办法:在Eeayx中找到了putimage函数的使用方法,发现可以有八个参数,但还是不会,后来问了大佬何磊才会的。
遇到的问题二:输出的人物和敌人图片一直闪,不知道是为啥
解决的方法:用了一个函数FlushBatchDraw();,且必须用在show()函数的末尾,这样就不会闪了
感想:还有一大堆问题没有解决,太多了,难受,但是还是有不错的感觉的,现在的我们做的游戏底层已经建好了,慢慢改善吧。

猜你喜欢

转载自www.cnblogs.com/xqldc/p/10954751.html
今日推荐