数据结构课程设计之GUI小程序
1.游戏名称
生死时速(Speed)
2.需求分析
(1)生死时速分为四个级别,级别根据活得的分数划分,分数越高难度越大,最大难度为4。开始页面最高分可以查看历史最高分。
(2)到达相应等级,障碍车辆数量增多,速度加快,右侧状态栏记录己方车辆生命、等级和分数。
(3)状态栏下方是道具说明栏,共有三个道具,红心是加生命,翅膀是无敌,炸弹是把障碍车辆清屏,无敌状态持续一定时间。
(4)三种道具按一定几率在车道上随机出现,己方车辆遇上道具,道具效果立即生效。
(5)当己方车辆撞上障碍车辆,立即进入无敌状态。当生命值耗光,游戏结束,显示本次游戏成绩,破纪录则记录到最高分。
(6)游戏开始后按回车键暂停游戏并返回游戏菜单,可选择开始新游戏或继续游戏。
(7)应用图形界面,加入一些小图片更有趣味性。
3.开发平台及工具介绍
软件环境
操作系统: Windows 10
系统类型: 64位操作系统
应用软件:Visual Studio、EasyX 图形界面库
语言:C++
4.系统介绍
4.1总体介绍
游戏设置了一个speed.cpp源程序,一个data.txt文件储存游戏数据,以及一个包含游戏图像及音频的picture文件夹。
4.2文件介绍
(1)speed.cpp:主程序代码,其中包含基于EaxyX图形库的头文件graphics.h,C++系统提供的头文件time.h等,以及main函数、play函数等游戏运行相关的函数。
(2)data.txt :用于存储游戏数据。第一行存储player状态,包括player坐标、得分、生命值、无敌时间等。2~8行存储环境状态,包括其他车辆及道具的位置等。
(3)picture文件夹:其中包含游戏运行所需的各种图片及音频文件,游戏运行时载入这些文件。
采用的数据结构
主要数据结构为队列,用链表实现。以队列模拟环境状态的其他车辆及道具等的进入与退出,用随机函数实现随机车辆位置及道具位置。
5.测试:
游戏开始时界面
游戏菜单界面
单击新的游戏,过度动画,开始游戏,右侧状态栏和道具说明栏
道具效果,依次为无敌,加生命,清屏
生命值耗光,游戏结束,显示本次得分与历史最高分
6.代码片段
void displaycars()
{
PLAYER newcar;
for (int i = 0;i < 7;i++)
{
for (int j = 0;j < 9;j++)
{
newcar.x = 20 + i * 60;
newcar.y = 660 - j * 80;
if (queueAt(carqueue[i], j) == 1)
{
makeCar(newcar);
}
else if (queueAt(carqueue[i], j) == 2)
makeDaoju(newcar, 2);
else if (queueAt(carqueue[i], j) == 3)
makeDaoju(newcar, 3);
else if (queueAt(carqueue[i], j) == 4)
makeDaoju(newcar, 4);
}
}
}
void playgame()
{
cleardevice();
DWORD oldtime = 0;
//_getch();
while (1)
{
FlushBatchDraw();
DWORD newtime = GetTickCount();
if (player.wdtime != 0)
{
setbkcolor(BLACK);
isWhite = 0;
}
else
{
setbkcolor(WHITE);
isWhite = 1;
}
if (newtime - oldtime >= (unsigned int)(600 - 80 * g_grade))
{
score += 100;
if(player.wdtime!=0)
player.wdtime--;
if (score == 5000 || score == 10000 || score == 20000)
g_grade++;
oldtime = newtime;
updateQueue();
cleardevice();
DrawGameGUI();
displaycars();
makePlayer();
}
if (_kbhit())//如果有输入的话,改变方向.没有就方向不变
{
g_direction = _getch();
if (g_direction == 13)
{
storetext();
//_getch();
loadAndBegin();
}
else
moveOrder();//改变玩家的坐标
cleardevice();//清屏
DrawGameGUI();
displaycars();
makePlayer();
}
}
}
数据结构课程设计之GUI小程序相关推荐
- 数据结构课程设计-单词检索统计程序(C语言版)
需要项目完整源码的小伙伴请往下看~ 最近刚结束数据结构课设,我组抽到的项目是:单词检索统计程序,这个相比用到树.图算法的项目要简单不少. 我尽量用项目文档的要求来书写课设类文章,这样文章更有条理并且大 ...
- Easyx图形库+C++做一个贪吃蛇小游戏 数据结构课程设计
Easyx图形库+C++做一个贪吃蛇小游戏 数据结构课程设计 程序界面 ① 游戏开始界面(如下图): 显示游戏标题,提供"开始游戏"."游戏模式"和" ...
- c语言实现一元多项式程序报告设计,数据结构课程设计报告一元多项式的计算..doc...
数据结构课程设计报告一元多项式的计算. 题目:一元多项式的计算 --链表 摘要(题目) 一元多项式计算 任务:能够按照指数降序排列建立并输出多项式: 能够完成两个多项式的相加.相减,并将结果输入: 目 ...
- java校院导游程序课程设计_数据结构课程设计之校园导游系统
数据结构课程设计之校园导游系统 放假到现在终于安下心来要搞点学习了,现在对放假前一周的数据结构课设做一个总结,快放假的时候搞数据结构课设,当时满脑子都是期末考试忙着复习,根本没啥心思去做.所以课设一共 ...
- 数据结构课程设计——机票售卖系统(C++)
引言 这学期最后的数据结构课程设计需要我们完成一个简单的小程序,我选择了一个机票售卖系统,实现了一些基本的功能:因为时间给的比较短,又赶在复习周补课,所以并没有什么突出的地方,我就在这里聊聊我的代码实 ...
- c语言数据结构五子棋实验报告,数据结构课程设计-五子棋
数据结构课程设计-五子棋 姓 名: 学 院: 计算机与通信学院 班 级: 通信工程 101 班 指导老师: 目录一.需求分析 31.1 开发背景 .32.2 功能简介 .3二.系统设计 42.1 函数 ...
- C/C++《数据结构课程设计》任务书[2022-12-27]
C/C++<数据结构课程设计>任务书[2022-12-27] <数据结构课程设计>任务书 一.任务总体安排: 班级 设计时间 地点 指导老师 21软件开发 17周每周一至周五五 ...
- 数据结构课程设计 神秘国度的爱情故事
数据结构 课程设计报告 广州大学 计算机科学与网络工程学院 计算机系 17级计科专业2班 2019年6月30日 广州大学学生实验报告 开课学院及实验室:计算机科学与工程实验室 ...
- Springboot企业资源管理信息系统kvonv计算机毕业设计-课程设计-期末作业-毕设程序代做
Springboot企业资源管理信息系统kvonv计算机毕业设计-课程设计-期末作业-毕设程序代做 [免费赠送源码]Springboot企业资源管理信息系统kvonv计算机毕业设计-课程设计-期末作业 ...
最新文章
- FPGA之道(64)代码中的约束信息(一)保持约束
- 《数字城堡》大片制作
- 选择select 标签中指定值的option
- foreach形式的for语句
- mybatis写当天 当月的数据 时间段数据https://www.cnblogs.com/xzjf/p/7600533.html
- 【...】小程序扩展运算符 ... 说明
- vs2005 新建项目一片空白
- 谈谈JavaScript中的function constructor和new关键字
- 【报告分享】2020中国电商直播粉丝价值研究报告.pdf(附下载链接)
- 银行即将关闭直接代扣通道,第三方支付有麻烦了
- 车辆检测和跟踪技术的研究与实现
- Centos7安装源地址
- Eviews回归结果解读
- 胆结石的发病原因有哪些?
- 云服务器可以虚拟内存吗,云服务器可以设置虚拟内存吗
- wps的计算机在哪里设置密码,怎么在电脑版WPS中修改密码?
- mathcad matlab,[讨论] (转载)我为什么特别推MathCAD?
- steam买游戏显示服务器发生了错误,steam安装游戏时发生了一个错误是怎么回事?应该如何解决...
- word文档图标变成白纸_word文档图标变为白纸
- 如何使用Vegas Pro15视频剪辑软件制作遮罩转场效果?
热门文章
- margin padding 详解外边距疑惑
- SSL证书怎么删除私钥密码保护?
- 程控交换机分机同时拨打外线的方法
- re学习笔记(98)攻防世界 mobile进阶区 ill-intentions
- 台服吃鸡服务器维护中怎么办,天堂2M台服无法登陆怎么办
- 用 Rails 搭建微信公众平台 API
- 自制内存泄漏检测工具
- Blockchain -Corda框架研究一 cordapp-example 学习笔记
- [含论文+源码等]基于JavaEE的酒店点餐收款系统S2SH
- 第三波:HTML+CSS+JavaScript数据可视化大屏平台模板实例11大通用模板,面向各行各业。