From 75d957d4337bc665d01346f779de6115febd4754 Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Sat, 10 Oct 2026 10:44:56 +0800 Subject: [PATCH] =?UTF-8?q?day11--=E5=BC=95=E7=94=A8=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E4=BD=9C=E4=B8=BA=E6=88=90=E5=91=98=E5=8F=98=E9=87=8F=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B(hero,weapon,armor,skill)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- day11/src/com/inmind/test05/Armor.java | 30 +++++++++ day11/src/com/inmind/test05/Hero.java | 83 +++++++++++++++++++++++++ day11/src/com/inmind/test05/Skill.java | 5 ++ day11/src/com/inmind/test05/Test08.java | 35 +++++++++++ day11/src/com/inmind/test05/Weapon.java | 30 +++++++++ 5 files changed, 183 insertions(+) create mode 100644 day11/src/com/inmind/test05/Armor.java create mode 100644 day11/src/com/inmind/test05/Hero.java create mode 100644 day11/src/com/inmind/test05/Skill.java create mode 100644 day11/src/com/inmind/test05/Test08.java create mode 100644 day11/src/com/inmind/test05/Weapon.java 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; + } +}