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

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法分析课程设计--姓名挑战游戏

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

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档