2022年策略模式的运用 .pdf
《2022年策略模式的运用 .pdf》由会员分享,可在线阅读,更多相关《2022年策略模式的运用 .pdf(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验报告序号:姓名:学号:专业:日期:成绩:实验一策略模式的运用一、实验目的:策略模式定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。在熟悉策略模式相关理论知识的基础上,使用策略模式实现一个小游戏。二、实验要求:使用策略模式实现一个小游戏,要求如下:1.游戏中有三个角色:和尚,侠女,忍者;2.每个角色都有生命值和魔法值,但各角色不同。3.各角色外观不同。4.每个角色具有魔法攻击和物理攻击;5.物理攻击有三种:用刀、用剑、用手;6.魔法攻击也有三种:火系魔法、金系魔法、水系魔法;7.各角色可以动态更换物理、魔法攻击方式,也可以动态选择攻击方法。1、设计
2、并绘制该程序的类图;2、依照设计的类图使用Java 语言编写代码,并实现该程序;3、除了核心的模式相关类实现外,提供测试环境,按照难度高低,分别是:a)控制台程序,Client硬编码初始化模式和测试环境,运行结果文本输出;b)控制台程序,Client初始化测试环境,并根据用户输入运算,运行结果文本输出;c)设计并实现用户UI,Client初始化测试环境,并根据用户在名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 15 页 -UI 控件上的输入运算,运行结果文本输出;三、实验内容:类图+magic()Magic_attack+physical()Physical_attack+di
3、splay()+magic_attack_way()+Physical_attack_way()+change()-String look+Magic_attack ma+Physical_attack paCharacter+display()Monk+display()Kungfuwoman+display()Ninja+magic()Magic_gold+magic()Magic_water+magic()Magic_fire+physical()Physical_knife+physical()Physical_sword+physical()Physical_hand代码Charac
4、ter.Java import java.util.Scanner;public abstract class Character public String look;Magic_attack ma;Physical_attack pa;名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 15 页 -public void magic_attack_way()ma.magic();public void physical_attack_way()pa.physical();public void setMa(Magic_attack m)this.ma=m;public Magic
5、_attack getMa()return ma;public String getLook()return look;public void setLook(String look)this.look=look;名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 15 页 -public Physical_attack getPa()return pa;public void setPa(Physical_attack pa)this.pa=pa;public abstract void display();Scanner sc=new Scanner(System.in);pub
6、lic void change(Character x)System.out.println(想更换物理、魔法攻击方式,和技能吗?1 yes 2no);for(int p=0;p1;)String k=sc.nextLine();switch(k)case 1:System.out.println(输入你想要改变的攻击方法,1 物攻,2 法功);String t=sc.nextLine();switch(t)case 1:名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 15 页 -System.out.println(输入你想要改变的攻击方式,1手,2 刀,3 剑,4,不更改);
7、String pw=sc.nextLine();switch(pw)case 1:x.setPa(new Physical_hand();System.out.println(更改后的效果);x.physical_attack_way();break;case 2:x.setPa(new Physical_knife();System.out.println(更改后的效果);x.physical_attack_way();break;case 3:x.setPa(new Physical_sword();System.out.println(更改后的效果);x.physical_attack_
8、way();break;default:名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 15 页 -break;break;case 2:System.out.println(输入你想要改变的攻击方式,1水,2 火,3 金,4,不更改);String mw=sc.nextLine();switch(mw)case 1:x.setMa(new Magic_gold();System.out.println(更改后的效果);x.magic_attack_way();break;case 2:x.setMa(new Magic_fire();System.out.println(更改后
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年策略模式的运用 2022 策略 模式 运用
限制150内