第三次课程实验报告

一、 实验项目名称

            冷血的猎人

二、 实验项目功能描述

1、 用w、s、a、d控制猎人上下左右,并能斜向行走。
2、 击败敌人,敌人一波比一波多
3、不同的敌人随机出现,进攻性动物会向人的方向移动,其它敌人随机给一个坐标,然后斜向移动到随机坐标后再随机一个坐标,直到死亡。
4、有边界,不能出界
5、野怪已经有伤害了,人物还只能发射子弹,但还没有伤害。

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

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

四、 实现界面展示



五、 代码托管链接

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

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

遇到的问题,嗯嗯嗯,问题实在是太多了,就举几个比较有代表性的吧。
遇到的问题一:野怪在走向生成的随机坐标的时候,会因为斜率过大,导致y变换过大。
解决的办法:换了一种算法,把斜率控制在正负根号三以内,超过则不用斜率计算。
遇到的问题二: 最后的继续游戏和结束游戏八个字输出不了。
解决的方法:通过多次试探,发现必须在FlushBatchDraw();函数前输出;所以把输出文字写在了show函数中。
感想:还有一大堆问题没有解决,太多了,难受,但是还是有不错的感觉的,现在的我们做的游戏已经建好了,就快收工了,加油!

原文地址:https://www.cnblogs.com/xqldc/p/10989046.html

时间: 2024-08-30 04:01:12

第三次课程实验报告的相关文章

2019春第三次课程实验报告

一:实验项目名称:贪吃蛇 二:实验项目功能描述: 随机产生一条类似于"蛇"的蛇,可以通过wasd四键操作使其移动一旦在一条直线上移动就不能突然向其它的反方向移动,这样马上就游戏结束. 或者它的头部触碰到了各个顶端,一旦触碰也是游戏结束. 三:项目模块结构介绍 (1)void gotoxy(int x,int y) 隐藏光标函数 (2)Void moveSnackByDirection() 对蛇方向移动的变化定义 (3)void startup() 游戏数据初始化 (4)void sho

2019春 第三次课程设计报告

2019春 第三次课程设计报告 一,实验项目名称 利用easyX插件完成的时钟 二,实验项目功能描述 实现将时间显示为时钟 三,项目模块结构介绍 只有一个游戏主题,即时钟.cpp 四,实现界面展示 五,代码托管链接 https://gitee.com/zhuwanxing/zwxc 六,实验总结 这次是使用vs,用easyX插件来完成图像显示,在使用vs的时候出现了不少问题,但是都用百度搞定了,vs无法直接使用,要在调试-属性-c/c++-预处理器 输入 _CRT_SECURE_NO_WARNI

三次握手实验报告

网络运维 TCP三次握手 实验报告姓名: 李军 班级: NTD1710 日期: 2017 年 1 月 4 日实验任务 任务:用科来网络分析系统表示TCP三次握手的原理思路及实验步骤 首先打开科来网络分析系统并安装启动登录远程桌面登陆同桌的主机然后在科来网络系统里面查看三次握手的信息 第一次握手主机A给主机B发送一个请求包:SYN里面包含我的请求1 和 我所期望B回我的包2 第二次握手主机B给主机A回了一个确认包:里面包含你所期望的包:2,和我想给你发的包3,还有我所期望你回复我的包:4. 第三次

第二次课程实验报告

2019春第二次课程设计报告 一.实验项目名称:众所周知的经典小游戏“贪吃蛇”. 二.实验项目功能描述:控制小蛇移动吃到界面中的食物,吃到食物能增长小蛇长度.但是碰到自身或墙壁会死亡. 三.项目模块结构介绍; 四.实现界面展示: 五.代码托管链接:https://gitee.com/jay101/barce 六.实验总结:自己打出来的代码还是放心点啊,书上的代码有些地方没大写导致编译错误,游戏代码打起来比做作业要有动力一点点,毕竟可以玩一下,哈哈哈. 原文地址:https://www.cnblo

2019年春第三次程序设计实验报告

2019年春第三次课程设计实验报告 一.实验项目名称 空战游戏 二.实验项目功能描述 空战游戏,通过上下左右(w,a,d,s)来控制飞机(*)的位置,并可以通过空格键发射子弹击败敌机(@),并得分. 三.项目模块结构介绍 四.实现界面展示 五.代码托管链接 https://gitee.com/WangYaqiong/wang_ya_qiong/blob/master/空战游戏.cpp 六.实验总结 经过前两次的课程实验设计,我这次的实验设计就比较顺手了一点,虽然一百多行代码打起来还是比较麻烦,但

JAVA课程实验报告 实验三 敏捷开发与XP实践

北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计  班级:1353  姓名:韩玉琪  学号:20135317 成绩:             指导教师:娄嘉鹏             实验日期:2015.5.29 实验密级:         预习程度:                     实验时间:15:30--18:00 仪器组次:         必修/选修: 选修             实验序号:3 实验名称:实验三 敏捷开发与XP实践 实

JAVA课程实验报告 实验二 JAVA面向对象程序设计

课程:Java程序设计  班级:1352  姓名:黄伟业  学号:20135315 成绩:             指导教师:娄嘉鹏    实验日期:2015.5.7 实验密级:         预习程度:         实验时间:15:50--20:50 仪器组次:         必修/选修: 选修            实验序号:2 实验目的: 1.掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了

Java课程实验报告 实验一 Java开发环境的熟悉

北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计 班级:1353 姓名:韩玉琪 学号:20135317 成绩:            指导教师:娄嘉鹏  实验日期:2015.4.11 实验密级: 预习程度:  实验时间:19:30~21:50 仪器组次: 必修/选修:选修  实验序号:1 实验名称:             JAVA开发环境的熟悉 实验目的与要求: 1. 使用JDK编译.运行简单的Java程序. 2.在命令行和Eclipse下编辑.编译

java程序设计课程实验报告3

北京电子科技学院(BESTI) 实     验    报     告 课程:java程序设计    班级:1353  姓名:陈都  学号:20135328 成绩:             指导教师:娄嘉鹏   实验日期:2013.6.4 实验密级:         预习程度:             实验时间: 仪器组次:          必修/选修:选修    实验序号:3 实验名称:          敏捷开发与XP实践 实验目的与要求:    1.    XP基础 2.   XP核心实践