再次进行实操了
题目是这样的:
英雄联盟一把游戏开始了,上单:诺手,打野:蜘蛛,中单:亚索,下路:蛇女,辅助:锤石
在这样一局对局中,希望有英雄这个类,来代表所有英雄共同拥有的操作(选择英雄,购买装备,英雄出发),同时创建5个不同位置(上野中下辅)的类,他们有自己不同的操作(释放不同的技能,购买不同的装备),然后创建person类来完成英雄的共同拥有的操作,在game类中来完成总的拼接(英雄基础操作,不同操作的展示)
要求:person中只有接受hero的接口,因为在玩家眼里,只有英雄,而对于不同的英雄才有不同的操作,所以各个英雄不同的操作也应该写到各个英雄单独的类中,主类(game)中要求代码不重复,各个类中要求简洁
提示:不论上野中下辅都是英雄,所以他们有一个共同的父类那就是Hero
我这里给出的例子是:
person.java
package game;
public class person {
public void play(Hero hero,int a){
hero.choose();
hero.setBlood(a);
System.out.println("血量"+hero.getBlood());
hero.buy();
hero.go();
hero.fight();
}
}
Hero.java
package game;
//英雄共有的属性,动作
public class Hero {
private int blood;
private String skill;
public int getBlood() {
return blood;
}
public void setBlood(int blood) {
this.blood = blood;
}
public void choose(){
System.out.println("选择英雄");
}
public void buy(){
System.out.println("英雄购买装备");
}
public void go(){
System.out.println("英雄出发了");
}
public void fight(){
System.out.println("英雄开始战斗");
}
}
不同的英雄有不同的操作:
Top.java
package game;
public class Top extends Hero {
public void choose(){
System.out.println("选择诺手");
}
public void buy(){
System.out.println("诺手购买了长剑三红");
}
public void fight(){
System.out.println("诺手闪现A接W接无情铁手接A接外圈Q接A,诺克萨斯断头台,西内!!!");
}
}
Jungle.java
package game;
public class Jungle extends Hero {
public void choose(){
System.out.println("选择蜘蛛");
}
public void buy(){
System.out.println("蜘蛛购买了护符");
}
public void fight(){
System.out.println("蜘蛛R变身");
}
}
Mid.java
package game;
public class Mid extends Hero{
public void choose(){
System.out.println("选择托儿索");
}
public void buy(){
System.out.println("托儿索购买了多兰剑");
}
public void fight(){
System.out.println("托儿索q吹风");
}
}
Bot.java
package game;
public class Bot extends Hero {
public void choose(){
System.out.println("选择蛇女");
}
public void buy(){
System.out.println("蛇女购买了萃取");
}
public void fight(){
System.out.println("蛇女q放毒");
}
}
SUP.java
package game;
public class SUP extends Hero {
public void choose(){
System.out.println("选择锤石");
}
public void buy(){
System.out.println("锤石购买圣物之盾");
}
public void fight(){
System.out.println("锤石q勾人");
}
}
gama.java
package game;
public class game {
public static void main(String[] args) {
Hero top = new Top();
Hero jug = new Jungle();
Hero mid = new Mid();
Hero bot = new Bot();
Hero sup = new SUP();
person person = new person();
person.play(top,660);
person.play(jug,580);
person.play(mid,560);
person.play(bot,552);
person.play(sup,600);
}
}