// 题1. 网络游戏技能系统
// 某 RPG 游戏里,角色技能既有基础效果(如火球术、冰箭),又可以叠加各种修饰(如强化版、带毒、范围伤害)。
// 要求:
// 基础技能可独立存在。
// 可以在运行时动态地给技能添加修饰。
// 修饰的顺序会影响最终效果。
cspublic abstract class ISkill { public abstract void Execute(); } // 基础效果 public class FireBall : ISkill { public override void Execute() { Console.WrileLine("装备火球"); } } public class IceArrow : ISkill { public override void Execute() { if(skill != null) this.skill.Execute(); Console.WrileLine("装备冰箭"); } } public abstract class SkillDecorator : ISkill { public ISkill innerSkill; public PowerUpDecorator(ISkill skill) { this.skill = innerSkill; } public override void Execute() { innerSkill.Execute(); } } public class PowerUpDecorator : SkillDecorator { public PowerUpDecorator(ISkill skill):base(skill) { } public override void Execute() { base.Execute(); Console.WriteLine("能力提升"); } } public abstract class PoisonDecorator : SkillDecorator { public PoisonDecorator(ISkill skill) : base(skill) { } public override void Execute() { base.Execute(); Console.WrileLine("附毒"); } } public class AoEDecorator : SkillDecorator { public AoEDecorator(ISkill skill) : base(skill) { } public override void Execute() { base.Execute(); Console.WrileLine("造成范围伤害"); } } public class Client { public static void Main() { ISkill fireBall = new FireBall(); ISkill enhancedFireBall = new PowerUpDecorator(new PoisonDecorator(fireBall)); enhancedFireBall.Execute(); Console.WrileLine("_____________________________________"); ISkill iceArrow = new IceArrow(); ISkill aoeIceArrow = new AoEDecorator(new PowerUpDecorator(iceArrow)); aoeIceArrow.Execute(); } }
【设计模式】题目小练1
大飞pkz2025-09-13 15:06
相关推荐
悟能不能悟20 小时前
java map判断是否有key,get(key)+x,否则put(key,x)的新写法blurblurblun20 小时前
Go语言特性Y.O.U..20 小时前
Go 语言 IO 基石:Reader 与 Writer 接口的 “最小设计” 与实战落地CoderCodingNo21 小时前
【GESP】C++五级真题(数论考点) luogu-B3871 [GESP202309 五级] 因数分解froginwe1121 小时前
NumPy 字符串函数wildlily842721 小时前
C++ Primer 第5版章节题 第九章特立独行的猫a21 小时前
c++弱引用指针std::weak_ptr作用详解小菱形_21 小时前
【C#】IEnumerable爱敲点代码的小哥21 小时前
Directoy文件夹操作对象 、StreamReader和StreamWriter 和BufferedStream这是程序猿21 小时前
基于java的ssm框架经典电影推荐网站