Hero 抽象类的实现
1. package neuq.cs.java; 2. 3. abstract public class Hero { 4. public void show(){ 5. System.out.println(" 大学 计算机类 班 学号 姓名 同学出品"); 6. } 7. abstract public void E(); 8. abstract public void Q(); 9. abstract public void W(); 10. }
孙悟空 英雄技能类的实现
1. package neuq.cs.java; 2. 3. final public class 孙悟空 extends Hero{ 4. @Override 5. public void show() { 6. super.show(); 7. System.out.println(" 大学 计算机类 班 学号 姓名 同学出品"); 8. System.out.println("扣1送地狱火QAQ"); 9. System.out.println(); 10. } 11. @Override 12. public void E() { 13. System.out.println("孙悟空使用技能“护身咒法”"); 14. System.out.println("孙悟空念起护身咒,护身咒可为孙悟空抵挡一次敌方技能,护身咒最多持续1.5秒;若成功抵挡,孙悟空将获得0.2秒的无敌效果以及抵免500/600/700/800/900/1000(+150%物理加成)点伤害的护盾,持续4秒。开启技能时自身增加40%移动速度,持续1秒"); 15. System.out.println(); 16. } 17. 18. @Override 19. public void Q() { 20. System.out.println("孙悟空使用技能”斗战冲锋“"); 21. System.out.println("孙悟空向指定方向冲锋,若路径上触碰目标会借力腾空跳跃,若触碰到非友军单位将增加1 秒90%衰减的移动速度,对野怪可造成240(+20/Lv)(0.2Ad)真实伤害。释放普通攻击或技能可中断跳跃。 降妖除魔:位移期间触碰到当前生命低于15%的野怪将直接斩杀(主宰、暴君除外)。"); 22. System.out.println(); 23. } 24. 25. @Override 26. public void W() { 27. System.out.println("孙悟空使用技能”如意金箍“"); 28. System.out.println("孙悟空将变大的金箍棒直插入地,对范围内敌人造成150/190/230(+50%物理加成)点物理伤害并将其晕眩1秒。同时范围内敌人获得3层印记;孙悟空的普通攻击命中带有印记的敌人将消耗1层印记并额外造成270/405/540点物理伤害。"); 29. System.out.println(); 30. } 31. }
test 测试类的实现
1. package neuq.cs.java; 2. import neuq.cs.java.Hero; 3. import java.util.Scanner; 4. import java.lang.Class; 5. 6. public class test { 7. 8. public static void main(String[] args) throws Exception{ 9. while(true){ 10. System.out.println("请选择你的英雄"); 11. Scanner input=new Scanner(System.in); 12. String hero_name=input.nextLine(); 13. Class c= Class.forName("neuq.cs.java."+hero_name); 14. neuq.cs.java.Hero h=(neuq.cs.java.Hero) c.newInstance(); 15. h.show(); 16. h.E(); 17. h.Q(); 18. h.W(); 19. } 20. } 21. }
演示效果