diff --git a/day11/src/com/inmind/test05/Armor.java b/day11/src/com/inmind/test05/Armor.java new file mode 100644 index 0000000..c2c9fa7 --- /dev/null +++ b/day11/src/com/inmind/test05/Armor.java @@ -0,0 +1,30 @@ +package com.inmind.test05; + +//装备类 +public class Armor { + //名称 + private String name; + //防御值 + private int protectedNum; + + public Armor(String name, int protectedNum) { + this.name = name; + this.protectedNum = protectedNum; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getProtectedNum() { + return protectedNum; + } + + public void setProtectedNum(int protectedNum) { + this.protectedNum = protectedNum; + } +} diff --git a/day11/src/com/inmind/test05/Hero.java b/day11/src/com/inmind/test05/Hero.java new file mode 100644 index 0000000..c8ee2c6 --- /dev/null +++ b/day11/src/com/inmind/test05/Hero.java @@ -0,0 +1,83 @@ +package com.inmind.test05; + +import java.util.ArrayList; + +public class Hero { + //英雄的名字 + private String name; + //装备的武器 + private Weapon weapon; + //装备的防御装 + private Armor armor; + //装备的技能 + private Skill skill; + + //武器背包 + private ArrayList weaponList = new ArrayList<>(); + //装备背包 + private ArrayList armorList = new ArrayList<>(); + //技能背包 + private ArrayList skillList = new ArrayList<>(); + + public Hero() { + } + + public Hero(String name, Weapon weapon, Armor armor) { + this.name = name; + this.weapon = weapon; + this.armor = armor; + } + + //攻击 + public void attack(){ + System.out.println(this.name+"英雄,使用了"+this.weapon.getName()+"武器,输出了"+this.weapon.getHurt()+"伤害"); + } + //防御 + public void protect(){ + System.out.println(this.name+"英雄,使用了"+this.armor.getName()+"装备,防御了"+this.armor.getProtectedNum()+"伤害"); + } + + + //释放技能方法 + public void outSkill(){ + System.out.println(this.name+"英雄"); + this.skill.outSkill(); + } + + + + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Weapon getWeapon() { + return weapon; + } + + public void setWeapon(Weapon weapon) { + this.weapon = weapon; + System.out.println(this.name+"英雄装备了"+weapon.getName()+"武器"); + } + + public Armor getArmor() { + return armor; + } + + public void setArmor(Armor armor) { + this.armor = armor; + System.out.println(this.name+"英雄装备了"+armor.getName()+"护具"); + } + + public Skill getSkill() { + return skill; + } + + public void setSkill(Skill skill) { + this.skill = skill; + } +} diff --git a/day11/src/com/inmind/test05/Skill.java b/day11/src/com/inmind/test05/Skill.java new file mode 100644 index 0000000..97a6afc --- /dev/null +++ b/day11/src/com/inmind/test05/Skill.java @@ -0,0 +1,5 @@ +package com.inmind.test05; +//技能接口 +public interface Skill { + public abstract void outSkill(); +} diff --git a/day11/src/com/inmind/test05/Test08.java b/day11/src/com/inmind/test05/Test08.java new file mode 100644 index 0000000..ecc3b88 --- /dev/null +++ b/day11/src/com/inmind/test05/Test08.java @@ -0,0 +1,35 @@ +package com.inmind.test05; +/* +类作为成员变量类型(hero,weapon,armor) +案例:英雄角色,获取武器,获取防御装,技能(接口)闯关 + */ +public class Test08 { + public static void main(String[] args) { + //开始游戏 + //选择一个英雄 + Hero hero = new Hero(); + hero.setName("德玛西亚"); + + //打开一个宝箱,掉落一把武器 + Weapon weapon = new Weapon("黑切", 999); + hero.setWeapon(weapon); + //打败了一个小怪,掉落一个防具 + Armor armor = new Armor("复活甲", 200); + hero.setArmor(armor); + //遇到了boss,使用武器输出,使用护具,防御 + hero.attack(); + hero.protect(); + //打败了boss,掉落了神级技能 + //使用匿名内部类,创建出一个技能实现类对象 + Skill skill = new Skill() { + @Override + public void outSkill() { + System.out.println("释放了神鬼降临,全屏攻击"); + } + }; + hero.setSkill(skill); + //英雄释放自己的技能 + hero.outSkill(); + + } +} diff --git a/day11/src/com/inmind/test05/Weapon.java b/day11/src/com/inmind/test05/Weapon.java new file mode 100644 index 0000000..b51ce80 --- /dev/null +++ b/day11/src/com/inmind/test05/Weapon.java @@ -0,0 +1,30 @@ +package com.inmind.test05; + +//武器类 +public class Weapon { + //名称 + private String name; + //伤害值 + private int hurt; + + public Weapon(String name, int hurt) { + this.name = name; + this.hurt = hurt; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getHurt() { + return hurt; + } + + public void setHurt(int hurt) { + this.hurt = hurt; + } +}