1 / 21
文档名称:

算法分析课程设计-姓名挑战游戏.doc

格式:doc   页数:21页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

算法分析课程设计-姓名挑战游戏.doc

上传人:799474576 2013/8/10 文件大小:0 KB

下载得到文件列表

算法分析课程设计-姓名挑战游戏.doc

文档介绍

文档介绍:姓名挑战游戏
1、课程设计的目的
学****算法的最终目的是解决实际的应用问题,特别是非数值计算类型的应用问题。课程设计要求同学独立完成一个较为完整的应用需求分析,在完成设计和编程大型作业的过程中,深化对算法课程中基本概念、理论和方法的理解;训练综合运用所学知识处理实际问题的能力,强化面向对象的程序设计理念;使同学的程序设计与调试水平有一个明显的提高。经过查找参考资料、技术手册和撰写文档的实践,进一步培养软件工程师的综合素质。
2、课程设计的技术要求
同学在处理每一个题目的时候,要从分析题目的需求入手,按设计抽象数据类型、构思算法、通过类的设计实现抽象数据类型、编制上机程序代码并调试的步骤完成题目,最终写出完整的分析报告。见到题目,案头工作准备不足,忙于上机敲程序不是优秀程序员的工作风格。注意设计与实现过程的经验积累,编码应尽量利用前阶段的成熟数据结构包,加大代码的重用率。
课程设计所安排的题目,在难度和深度方面都大于课内的上机训练。程序作业以Java完成,配有图形界面。作业一般要达到3000行以上的代码量。最后提交作业包括:课程设计报告;完整程序,应该具有可显示界面;PPT及算法说明。
3、题目分析
姓名挑战游戏说明:输入两个中文姓名,通过一种算法,计算出姓名的血值和攻击力,使两个名字进行对战,进行多轮回合后,决定双方输赢。
在运行界面中输入两个挑战者的姓名,软件就会计算出两个挑战者初始状态的血值和攻击力之类的属性值。然后两个挑战者一边挑战,系统会自动显示目前两个挑战者的一系列属性。两个人一直挑战,直到其中一者的hp的值为0,则挑战结束,并且hp为0的一方失败。
4、部分程序分析
角色属性定义
public class Role {
String playname;//角色名字
int hp;//生命值
int ap;//攻击力为ap
int dp;//防御力为dp
int rate;//攻击速度
int hitRate;//命中率
int luck;//运气
int[] array = new int[4];//名字数组
String Attack_Action = ""; //攻击的动作字符串
String Recovery_Action = "";//防御的动作字符串
int Attact_Point = 0; //攻击的点数
int Recovery_Point = 0;//抵御的点数
构造函数
public Role(String name, int[] getArray) {
array = getArray;
playname = name;
setAttribult();
}
输入挑战者姓名后角色属性值统计
在运行界面上输入两个挑战者的姓名后,界面就会自动统计每个挑战者的生命力hp,攻击力ap,防御力dp,攻击速度rate,命中率hitrate,运气luck。
public void getAttribult() {
(playname + " 的属性:");
("生命值 hp =" + hp);
("攻击力 attack = " + ap);
("防御力 recovery = " + dp);
("攻击速度 rate = " + rate);
("命中率 hit = " + hitRate);
("运气 luck = " + luck);
}
设置角色属性
public void setAttribult() {
hp = addFun(4) / 500;
ap = 100 - addFun(0) / 1900;
dp = 100 - addFun(1) / 2100;
rate = 100 - addFun(2) / 2100;
hitRate = 100 - addFun(3) / 2400;
luck = 100 - addFun(4) / 1700;
}
public int addFun(int index) {
int res = 0;
for (int i = 0; i < 4; i++) {
if (i != index) {// 剔出掉vindex指向的数
res += array[i];
}
}
return res;
}