第一范文网 - 专业文章范例文档资料分享平台

云南大学设计模式实验报告1 - 策略模式

来源:用户分享 时间:2025/7/23 13:06:21 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

云南大学软件学院

实 验 报 告

序号: 姓名: 学号: 专业:软件工程 日期:2015.12.03 成绩: 实验一 策略模式的运用

一、实验目的:

策略模式定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。在熟悉策略模式相关理论知识的基础上,使用策略模式实现一个小游戏。

二、实验要求:

使用策略模式实现一个小游戏,要求如下:

1. 游戏中有三个角色:和尚,侠女,忍者;

2. 每个角色都有生命值和魔法值,但各角色不同。 3. 各角色外观不同。

4. 每个角色具有魔法攻击和物理攻击; 5. 物理攻击有三种:用刀、用剑、用手;

6. 魔法攻击也有三种:火系魔法、金系魔法、水系魔法;

7. 各角色可以动态更换物理、魔法攻击方式,也可以动态选择攻击方法。 1、 设计并绘制该程序的类图; 2、 依照设计的类图使用Java语言编写代码,并实现该程序; 3、 除了核心的模式相关类实现外,提供测试环境,按照难度高低,分别是:

a) 控制台程序,Client硬编码初始化模式和测试环境,运行结果文本输出;

b) 控制台程序,Client初始化测试环境,并根据用户输入运算,运行结果文本输出; c) 设计并实现用户UI,Client初始化测试环境,并根据用户在UI控件上的输入运算,运

行结果文本输出。

三、实验内容: 类图

实验代码 魔法攻击

package Magic;

public interface magic { public void magic(); }

火系魔法

package Magic;

public class fire implements magic{ public void magic(){

System.out.println(\火系魔法攻击\); } }

金系魔法

package Magic;

public class metal implements magic{ public void magic(){

System.out.println(\金系魔法攻击\); } }

水系魔法

package Magic;

public class water implements magic{ public void magic(){

System.out.println(\水系魔法攻击\); } }

物理攻击

package Physic;

public interface physic { public void physic(); }

徒手

package Physic;

public class hand implements physic{ public void physic(){

System.out.println(\徒手攻击\); } }

用刀

package Physic;

public class knife implements physic{ public void physic(){

System.out.println(\用刀攻击\); } }

用剑

package Physic;

public class sword implements physic{ public void physic(){

System.out.println(\用剑攻击\); } }

角色

package Role;

import Magic.magic; import Physic.physic;

public abstract class role { magic Mattack; physic Pattack;

int magicValue = 0; int lifeValue = 0; public role(){}

public abstract void display(); public void Mattack(){ Mattack.magic(); }

public void Pattack(){ Pattack.physic(); }

public void setP(physic p){ Pattack = p; }

public void setM(magic m){ Mattack = m; } }

和尚

package Role;

import Physic.physic; public class Buddhistmonk extends role{

public Buddhistmonk(){ magicValue = 90; lifeValue = 150; }

public void display(){

System.out.println(\); System.out.println(\角色:和尚\);

云南大学设计模式实验报告1 - 策略模式.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4pdqn84mi23bj0x6hx0v_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top