package responsibility;
/**
* DOC 技能接口,要绑定的技能都要实现这个接口
*
*/
public interface ISkill {
public void castSkill();
}
package responsibility;
import java.util.ArrayList;
import java.util.List;
/**
* DOC 宏类,用来把多个技能绑在一起,实现一键施放
*
*/
public class Macro {
/**
* DOC 多个技能绑在一起的集合
*/
public List<ISkill> skills = new ArrayList<ISkill>();
/**
*
* DOC 按照绑定顺序施放技能.
*/
public void castSkill() {
for (int i = 0; i < skills.size(); i++) {
skills.get(i).castSkill();
}
}
/**
* DOC 绑定技能.
*
* @param skill
*/
public void bindSkill(ISkill skill) {
skills.add(skill);
}
}
package responsibility;
/**
* DOC 寒冰箭技能,无冷却时间
*
*/
public class IceArrow implements ISkill {
@Override
public void castSkill() {
System.out.println("施放--》寒冰箭");
}
}
package responsibility;
/**
* DOC 冰血冷脉技能,冷却时间2分钟
*/
public class IceBloodFast implements ISkill {
@Override
public void castSkill() {
// 这里可以用来判断技能是否在冷却当中,这里略去了
System.out.println("施放--》冰血冷脉");
}
}
package responsibility;
public class Main {
public static void main(String[] args) {
Macro macro = new Macro();
macro.bindSkill(new IceBloodFast());
macro.bindSkill(new IceArrow());
macro.castSkill();
}
}
正在施放--》冰血冷脉 施放--》寒冰箭
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有