欢迎来到天天文库
浏览记录
ID:12419194
大小:84.50 KB
页数:21页
时间:2018-07-17
《算法分析课程设计--姓名挑战游戏》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、姓名挑战游戏1、课程设计的目的学习算法的最终目的是解决实际的应用问题,特别是非数值计算类型的应用问题。课程设计要求同学独立完成一个较为完整的应用需求分析,在完成设计和编程大型作业的过程中,深化对算法课程中基本概念、理论和方法的理解;训练综合运用所学知识处理实际问题的能力,强化面向对象的程序设计理念;使同学的程序设计与调试水平有一个明显的提高。经过查找参考资料、技术手册和撰写文档的实践,进一步培养软件工程师的综合素质。2、课程设计的技术要求同学在处理每一个题目的时候,要从分析题目的需求入手,按设计抽象数据类型
2、、构思算法、通过类的设计实现抽象数据类型、编制上机程序代码并调试的步骤完成题目,最终写出完整的分析报告。见到题目,案头工作准备不足,忙于上机敲程序不是优秀程序员的工作风格。注意设计与实现过程的经验积累,编码应尽量利用前阶段的成熟数据结构包,加大代码的重用率。课程设计所安排的题目,在难度和深度方面都大于课内的上机训练。程序作业以Java完成,配有图形界面。作业一般要达到3000行以上的代码量。最后提交作业包括:课程设计报告;完整程序,应该具有可显示界面;PPT及算法说明。3、题目分析姓名挑战游戏说明:输入两个
3、中文姓名,通过一种算法,计算出姓名的血值和攻击力,使两个名字进行对战,进行多轮回合后,决定双方输赢。在运行界面中输入两个挑战者的姓名,软件就会21计算出两个挑战者初始状态的血值和攻击力之类的属性值。然后两个挑战者一边挑战,系统会自动显示目前两个挑战者的一系列属性。两个人一直挑战,直到其中一者的hp的值为0,则挑战结束,并且hp为0的一方失败。4、部分程序分析4.1角色属性定义publicclassRole{Stringplayname;//角色名字inthp;//生命值intap;//攻击力为apintdp
4、;//防御力为dpintrate;//攻击速度inthitRate;//命中率intluck;//运气int[]array=newint[4];//名字数组StringAttack_Action="";//攻击的动作字符串StringRecovery_Action="";//防御的动作字符串intAttact_Point=0;//攻击的点数intRecovery_Point=0;//抵御的点数4.2构造函数publicRole(Stringname,int[]getArray){array=getArray
5、;playname=name;setAttribult();}214.3输入挑战者姓名后角色属性值统计在运行界面上输入两个挑战者的姓名后,界面就会自动统计每个挑战者的生命力hp,攻击力ap,防御力dp,攻击速度rate,命中率hitrate,运气luck。publicvoidgetAttribult(){System.out.println(playname+"的属性:");System.out.println("生命值hp="+hp);System.out.println("攻击力attack="+ap)
6、;System.out.println("防御力recovery="+dp);System.out.println("攻击速度rate="+rate);System.out.println("命中率hit="+hitRate);System.out.println("运气luck="+luck);}4.4设置角色属性publicvoidsetAttribult(){hp=addFun(4)/500;ap=100-addFun(0)/1900;dp=100-addFun(1)/2100;rate=100-ad
7、dFun(2)/2100;hitRate=100-addFun(3)/2400;luck=100-addFun(4)/1700;}publicintaddFun(intindex){intres=0;for(inti=0;i<4;i++){if(i!=index){//剔出掉vindex指向的数res+=array[i];}21}returnres;}4.5设置挑战期间各种攻击后各个值的属性publicintchang(){//设置中毒的属性ap=ap-10;hitRate=hitRate-10;luck=
8、luck-10;rate=rate-10;dp=dp-10;return0;}设置10个实例来演示两个挑战者在挑战期间的动作,例如:A向B发动攻击;B向A发动攻击;A冲上前狂咬B一口;A发狂对B暴打一顿;A向B发动攻击,结果摔倒在地;A诅咒B;A向B投毒等。publicStringuseAp(intindex,Stringplayname1,Stringplayname2){switch(index){case0
此文档下载收益归作者所有