算法分析与设计课程设计

发布 2022-10-01 22:08:28 阅读 8464

课程名称: 算法分析与设计课程设计

设计题目: 砸手机游戏

课程设计(大作业)报告。

一、 课题背景。

中国民族原创网络游戏为中国网络游戏产业所做出了巨大贡献,民族原创网络游戏已经成为产业发展的主导力量。同样在中国自主研发的民族原创网络游戏已经真正成为中国游戏市场的主导力量。

网络游戏是通过信息网络传播和实现的互动娱乐形式,是一种网络与文化相结合的产业。近年来,网络文化市场发展很快,随着互联网的迅速普及、宽带的接入社区和家庭,我国网络游戏市场发展迅速并进入了一个高速增长期,并已经创造了较大的产值,带动了相关产业的发展,对促进我国网络经济和娱乐业的发展、丰富互联网时代人民群众的文化娱乐生活起到了积极作用。

二、 课程设计的目的。

学习算法的最终目的是解决实际的应用问题,特别是非数值计算类型的应用问题。课程设计要求同学独立完成一个较为完整的应用需求分析,在完成设计和编程大型作业的过程中,深化对算法课程中基本概念、理论和方法的理解;训练综合运用所学知识处理实际问题的能力,强化面向对象的程序设计理念;使同学的程序设计与调试水平有一个明显的提高。 经过查找参考资料、技术手册和撰写文档的实践,进一步培养软件工程师的综合素质。

课程设计所安排的题目,在难度和深度方面都大于课内的上机训练。程序作业以j**a或其他高级语言完成,配有图形界面。

三、 题目分析。

以砸坏一个手机设计的游戏,为无限关卡,每砸坏一个手机,可以活动一定的奖金,同时随机获得道具。手机质量越来越好(手机的血越来越多,需要不断购买具有更大伤害力的道具来提高砸坏手机的速度)。移动**使得大的改变我们的生活,它带来了很多方便,也产生了许多负面的影响。

破坏手机,摧残手机,使用各种道具破坏手机,体验游戏乐趣。

四、 程序设计。

1、数据结构设计。

double shengmingli=1000;//定义初始生命力

int gongjili=10;//定义初始攻击力

int fangyuli=6;//定义初始防御力

int money=1000;//定义初始金钱数量

bool tongguan;//定义是否通关判定

void daoju();定义工具函数

void xueliang();定义血量函数

void shouji1();定义手机1函数

void shouji2();定义手机2函数

2、函数设计。

1) 主函数。

main()允许用户通过菜单进行功能选择,使用相应的功能**来调用对应的函数功能。

2)其他各功能函数。

void daoju() 道具函数,定义了一些道具,有锤子、木棍、刀、电锯、抢等,然后可以进行购买任意道具。定义了这些道具的攻击力,**越高的攻击力越高。

void xueliang():血量函数,定义了不同的血量有不同的**和生命值,可以购买任意血量进行攻击。

void shouji1():手机1函数,定义手机1生命值,**击力,防御力,以及打碎手机1获得的金币,并赋予初值,利用攻击计算公式 :杀伤=攻击力*2-防御力计算出点生命并判断出手机1是否被砸坏了。

void shouji2():手机2函数,定义手机2生命值,**击力,防御力,以及打碎手机1获得的金币,并赋予初值,利用攻击计算公式 :杀伤=攻击力*2-防御力计算出点生命并判断出手机2是否被砸坏了。

3、砸手机游戏算法思想:

本游戏有六个菜单选项分别是工具、血量、砸手机1、砸手机2、退出游戏、显示状态。

第。一、在工具菜单里面首先定义一些道具,有锤子、木棍、刀、电锯、抢等,然后购买这些道具。定义这些道具的攻击力,**越高的攻击力越高,在工具函数里面流程如下:

第。二、为这六个道具购买血量,有号补血药。1号补血药需要10个金币,补给200生命值,2号补血药50金币,补给1000生命值,3号补血药100个金币,补给2200生命值。

第。三、进入砸手机,选择道具对手机进行攻击,如果手机的生命值大于0或选择动作1对手机攻击,否则,手机已被打碎并获得一定的金币,退出返回主菜单。

第。四、主菜单选项,如果是5直接退出游戏,选6查看自己的状态,否则,进入其他4个菜单选项,进行游戏。

五、 结果分析。

砸手机游戏结果如下,但是我们只是对砸手机游戏进行了算法的分许与设计,并只会其中一部分数据的编写,下列的程序是由其它程序改变而来的,只能够用c++来实现一部分要求,不能够用界面来实现。

六、 实验总结及心得体会。

我们进行了为期一周的算法课程设计。通过这次课程设计,我们拓宽了知识面,锻炼了能力,综合素质得到较大提高。

本次课程设计,使我们对从砸手机游戏设计方案到设计的基本过程的设计方法、步骤、思路、有一定的了解与认识。在课程设计过程中,我们基本能按照规定的程序进行,先对砸手机游戏进行了解,然后再对砸手机游戏进行算法分析与设计,最后通过改变类似程序实现了砸手机游戏,很遗憾的是界面没有弄出来。

课程设计达到了专业学习的预期目的,课程设计之后,我们普遍感到不仅实际动手能力有所提高,更重要的是进一步激发了我们对专业知识的兴趣,并能够结合实际存在的问题在专业领域内进行更深入的学习。实际能力的培养至关重要,而这种实际能力的培养单靠课堂教学是远远不够的,必须从课堂走向实践。通过课程设计,让我们找出自身状况与实际需要的差距,并在以后的学习期间及时补充相关知识,为求职与正式工作做好充分的知识、能力准备,从而缩短从校园走向社会的心理转型期。

七、 **。

#include

using namespace std;

double shengmingli=1000;//定义主角初始生命力

int gongjili=10;//定义主角初始攻击力

int fangyuli=6;//定义主角初始防御力

int money=1000;//定义主角初始金钱数量

bool tongguan;//定义是否通关判定

void daoju();定义道具函数

void xueliang();定义血量函数

void shouji1();定义手机1函数

void shouji2();定义手机2函数

int main()

cout<<"欢迎你开始玩砸手机小游戏!";

cout<<"手机店";

cout<<"一个手机店。"

cout<<"1.道具"< cout<<"2.血量"< cout<<"3.

去砸手机1"< cout<<"4.去砸手机2"< cout<<"5.退出游戏"< cout<<"6.

显示你的状态"< cin>>shoujidian;

while(shoujidian!=5)//输入5时退出游戏

if(shoujidian==5)

return 0;

void daoju()

cout<<"欢迎来到道具!"

cin>>daoju;

while(daoju!=7)//输入7时结束函数

switch(daoju)

case 1 : if(money<10)

cout<<"你的钱不够"

cout<<"购买成功!"

money-=10;

break;

case 2 : if(money<80)

cout<<"你的钱不够"

cout<<"购买成功!"

money-=80;

break;

case 3 : if(money<140)

cout<<"你的钱不够"

cout<<"购买成功!"

money-=140;

break;

case 4 : if(money<200)

cout<<"你的钱不够"

cout<<"购买成功!"

money-=200;

break;

case 5 : if(money<240)

cout<<"你的钱不够"<

算法设计与分析课程设计

一 课程题目。零钱问题贪心算法实现。二 课程摘要。1 题目描述。使用贪心算法设计思想设计算法实现找零钱问题。例题13 4一个小孩买了价值少于1美元的糖,并将1美元的钱交给售货员。售货员希望用数目最少的硬币找给小孩。假设提供了数目不限的面值为25美分 10美分 5美分 及1美分的硬币。售货员分步骤组成...

算法设计与分析课程设计

一 课程题目。零钱问题贪心算法实现。二 课程摘要。1 题目描述。使用贪心算法设计思想设计算法实现找零钱问题。例题13 4 一个小孩买了价值少于1美元的糖,并将1美元的钱交给售货员。售货员希望用数目最少的硬币找给小孩。假设提供了数目不限的面值为2 5美分 1 0美分 5美分 及1美分的硬币。售货员分步...

《算法设计与分析》课程设计

计通学院。课程设计报告。课程名称 算法设计与分析 题目名称。学生学院 计通学院 专业班级。学号。学生姓名。指导教师。年月日。目录。正文具体内容参考 包括问题的提出背景 研究历史等内容。陈述解决该问题所需要的方法,以及方法的基本思路和步骤等。陈述解决问题的思路,关键问题的解决方法。具体的算法描述,伪 ...