JAVA作业——实现英雄技能类

简介: JAVA作业——实现英雄技能类

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. }

演示效果

相关文章
|
2月前
|
存储 Java 索引
用Java语言实现一个自定义的ArrayList类
自定义MyArrayList类模拟Java ArrayList核心功能,支持泛型、动态扩容(1.5倍)、增删改查及越界检查,底层用Object数组实现,适合学习动态数组原理。
105 4
|
2月前
|
IDE JavaScript Java
在Java 11中,如何处理被弃用的类或接口?
在Java 11中,如何处理被弃用的类或接口?
188 5
|
2月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
173 1
|
2月前
|
Java Go 开发工具
【Java】(8)正则表达式的使用与常用类分享
正则表达式定义了字符串的模式。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。
229 1
|
2月前
|
存储 Java 程序员
【Java】(6)全方面带你了解Java里的日期与时间内容,介绍 Calendar、GregorianCalendar、Date类
java.util 包提供了 Date 类来封装当前的日期和时间。Date 类提供两个构造函数来实例化 Date 对象。第一个构造函数使用当前日期和时间来初始化对象。Date( )第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。
179 0
|
2月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
197 1
|
2月前
|
编解码 Java 开发者
Java String类的关键方法总结
以上总结了Java `String` 类最常见和重要功能性方法。每种操作都对应着日常编程任务,并且理解每种操作如何影响及处理 `Strings` 对于任何使用 Java 的开发者来说都至关重要。
297 5
|
Java 开发者
奇迹时刻!探索 Java 多线程的奇幻之旅:Thread 类和 Runnable 接口的惊人对决
【8月更文挑战第13天】Java的多线程特性能显著提升程序性能与响应性。本文通过示例代码详细解析了两种核心实现方式:Thread类与Runnable接口。Thread类适用于简单场景,直接定义线程行为;Runnable接口则更适合复杂的项目结构,尤其在需要继承其他类时,能保持代码的清晰与模块化。理解两者差异有助于开发者在实际应用中做出合理选择,构建高效稳定的多线程程序。
184 7
|
Java 开发者
在 Java 中,一个类可以实现多个接口吗?
这是 Java 面向对象编程的一个重要特性,它提供了极大的灵活性和扩展性。
588 58
|
Java 开发者
在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口
【10月更文挑战第20天】在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口。本文揭示了这两种方式的微妙差异和潜在陷阱,帮助你更好地理解和选择适合项目需求的线程创建方式。
246 3