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小程序相关推荐

  1. 数据结构课程设计-单词检索统计程序(C语言版)

    需要项目完整源码的小伙伴请往下看~ 最近刚结束数据结构课设,我组抽到的项目是:单词检索统计程序,这个相比用到树.图算法的项目要简单不少. 我尽量用项目文档的要求来书写课设类文章,这样文章更有条理并且大 ...

  2. Easyx图形库+C++做一个贪吃蛇小游戏 数据结构课程设计

    Easyx图形库+C++做一个贪吃蛇小游戏 数据结构课程设计 程序界面 ① 游戏开始界面(如下图): 显示游戏标题,提供"开始游戏"."游戏模式"和" ...

  3. c语言实现一元多项式程序报告设计,数据结构课程设计报告一元多项式的计算..doc...

    数据结构课程设计报告一元多项式的计算. 题目:一元多项式的计算 --链表 摘要(题目) 一元多项式计算 任务:能够按照指数降序排列建立并输出多项式: 能够完成两个多项式的相加.相减,并将结果输入: 目 ...

  4. java校院导游程序课程设计_数据结构课程设计之校园导游系统

    数据结构课程设计之校园导游系统 放假到现在终于安下心来要搞点学习了,现在对放假前一周的数据结构课设做一个总结,快放假的时候搞数据结构课设,当时满脑子都是期末考试忙着复习,根本没啥心思去做.所以课设一共 ...

  5. 数据结构课程设计——机票售卖系统(C++)

    引言 这学期最后的数据结构课程设计需要我们完成一个简单的小程序,我选择了一个机票售卖系统,实现了一些基本的功能:因为时间给的比较短,又赶在复习周补课,所以并没有什么突出的地方,我就在这里聊聊我的代码实 ...

  6. c语言数据结构五子棋实验报告,数据结构课程设计-五子棋

    数据结构课程设计-五子棋 姓 名: 学 院: 计算机与通信学院 班 级: 通信工程 101 班 指导老师: 目录一.需求分析 31.1 开发背景 .32.2 功能简介 .3二.系统设计 42.1 函数 ...

  7. C/C++《数据结构课程设计》任务书[2022-12-27]

    C/C++<数据结构课程设计>任务书[2022-12-27] <数据结构课程设计>任务书 一.任务总体安排: 班级 设计时间 地点 指导老师 21软件开发 17周每周一至周五五 ...

  8. 数据结构课程设计 神秘国度的爱情故事

    数据结构 课程设计报告 广州大学 计算机科学与网络工程学院 计算机系 17级计科专业2班 2019年6月30日 广州大学学生实验报告 开课学院及实验室:计算机科学与工程实验室              ...

  9. Springboot企业资源管理信息系统kvonv计算机毕业设计-课程设计-期末作业-毕设程序代做

    Springboot企业资源管理信息系统kvonv计算机毕业设计-课程设计-期末作业-毕设程序代做 [免费赠送源码]Springboot企业资源管理信息系统kvonv计算机毕业设计-课程设计-期末作业 ...

最新文章

  1. FPGA之道(64)代码中的约束信息(一)保持约束
  2. 《数字城堡》大片制作
  3. 选择select 标签中指定值的option
  4. foreach形式的for语句
  5. mybatis写当天 当月的数据 时间段数据https://www.cnblogs.com/xzjf/p/7600533.html
  6. 【...】小程序扩展运算符 ... 说明
  7. vs2005 新建项目一片空白
  8. 谈谈JavaScript中的function constructor和new关键字
  9. 【报告分享】2020中国电商直播粉丝价值研究报告.pdf(附下载链接)
  10. 银行即将关闭直接代扣通道,第三方支付有麻烦了
  11. 车辆检测和跟踪技术的研究与实现
  12. Centos7安装源地址
  13. Eviews回归结果解读
  14. 胆结石的发病原因有哪些?
  15. 云服务器可以虚拟内存吗,云服务器可以设置虚拟内存吗
  16. wps的计算机在哪里设置密码,怎么在电脑版WPS中修改密码?
  17. mathcad matlab,[讨论] (转载)我为什么特别推MathCAD?
  18. steam买游戏显示服务器发生了错误,steam安装游戏时发生了一个错误是怎么回事?应该如何解决...
  19. word文档图标变成白纸_word文档图标变为白纸
  20. 如何使用Vegas Pro15视频剪辑软件制作遮罩转场效果?

热门文章

  1. margin padding 详解外边距疑惑
  2. SSL证书怎么删除私钥密码保护?
  3. 程控交换机分机同时拨打外线的方法
  4. re学习笔记(98)攻防世界 mobile进阶区 ill-intentions
  5. 台服吃鸡服务器维护中怎么办,天堂2M台服无法登陆怎么办
  6. 用 Rails 搭建微信公众平台 API
  7. 自制内存泄漏检测工具
  8. Blockchain -Corda框架研究一 cordapp-example 学习笔记
  9. [含论文+源码等]基于JavaEE的酒店点餐收款系统S2SH
  10. 第三波:HTML+CSS+JavaScript数据可视化大屏平台模板实例11大通用模板,面向各行各业。