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