From 0d1d53cc683385d35b10f3fef24234864545d4e9 Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Tue, 28 Jul 2026 14:01:25 +0800 Subject: [PATCH] =?UTF-8?q?day11-=E7=B1=BB=E4=BD=9C=E4=B8=BA=E6=88=90?= =?UTF-8?q?=E5=91=98=E5=8F=98=E9=87=8F=E7=B1=BB=E5=9E=8B(hero,weapon,armor?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/inmind/class_interface04/Armor.java | 27 +++++++ .../com/inmind/class_interface04/Demo05.java | 32 ++++++++ .../com/inmind/class_interface04/Hero.java | 78 +++++++++++++++++++ .../com/inmind/class_interface04/Weapon.java | 29 +++++++ 4 files changed, 166 insertions(+) create mode 100644 day11/src/com/inmind/class_interface04/Armor.java create mode 100644 day11/src/com/inmind/class_interface04/Demo05.java create mode 100644 day11/src/com/inmind/class_interface04/Hero.java create mode 100644 day11/src/com/inmind/class_interface04/Weapon.java diff --git a/day11/src/com/inmind/class_interface04/Armor.java b/day11/src/com/inmind/class_interface04/Armor.java new file mode 100644 index 0000000..2285d26 --- /dev/null +++ b/day11/src/com/inmind/class_interface04/Armor.java @@ -0,0 +1,27 @@ +package com.inmind.class_interface04; +//防御装类 +public class Armor { + private String name;//防御装的名字 + private int protectNum;//防御力 + + public Armor(String name, int protectNum) { + this.name = name; + this.protectNum = protectNum; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getProtectNum() { + return protectNum; + } + + public void setProtectNum(int protectNum) { + this.protectNum = protectNum; + } +} diff --git a/day11/src/com/inmind/class_interface04/Demo05.java b/day11/src/com/inmind/class_interface04/Demo05.java new file mode 100644 index 0000000..c9cc7d9 --- /dev/null +++ b/day11/src/com/inmind/class_interface04/Demo05.java @@ -0,0 +1,32 @@ +package com.inmind.class_interface04; +/* +类作为成员变量类型(hero,weapon,armor) +案例:英雄角色,获取武器,获取防御装,闯关 + */ +public class Demo05 { + public static void main(String[] args) { + //开始游戏 + //创建英雄角色 + Hero hero = new Hero("德玛西亚"); + //打怪,掉落装备,掉出一把极品屠龙刀 + Weapon weapon = new Weapon("屠龙刀", 999); + //捡起武器,使用武器 + hero.setWeapon(weapon); + //打怪,掉落装备,掉出了复活甲 + Armor armor = new Armor("复活甲", 1000); + //捡起装备,使用装备 + hero.setArmor(armor); + //如果想用背包将多余的武器保存起来 + Weapon weapon1 = new Weapon("倚天剑1", 100); + Weapon weapon2 = new Weapon("倚天剑2", 100); + Weapon weapon3 = new Weapon("倚天剑3", 100); + hero.getWeapons().add(weapon1); + hero.getWeapons().add(weapon2); + hero.getWeapons().add(weapon3); + //打boss + hero.attack(); + hero.defend(); + System.out.println("打怪结束"); + hero.showWeapons(); + } +} diff --git a/day11/src/com/inmind/class_interface04/Hero.java b/day11/src/com/inmind/class_interface04/Hero.java new file mode 100644 index 0000000..54dcbc6 --- /dev/null +++ b/day11/src/com/inmind/class_interface04/Hero.java @@ -0,0 +1,78 @@ +package com.inmind.class_interface04; + +import java.util.ArrayList; + +//英雄角色,获取武器,获取防御装 +public class Hero { + private String name; + private Weapon weapon;//武器 + private Armor armor;//防御装 + private ArrayList weapons = new ArrayList<>();//武器背包 + //技能 + + + public Hero() { + } + + public Hero(String name) { + this.name = name; + } + + public Hero(String name, Weapon weapon, Armor armor) { + this.name = name; + this.weapon = weapon; + this.armor = armor; + } + + 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; + } + + public Armor getArmor() { + return armor; + } + + public void setArmor(Armor armor) { + this.armor = armor; + } + + public ArrayList getWeapons() { + return weapons; + } + + public void setWeapons(ArrayList weapons) { + this.weapons = weapons; + } + + //攻击和防御行为 + public void attack(){ + //哪个英雄,使用什么武器,输出了多少伤害 + System.out.println(this.name + "使用" + this.weapon.getName() + "攻击,输出了" + this.weapon.getHurt() + "伤害"); + } + + public void defend(){ + //哪个英雄,使用什么防御装,可以抵消多少伤害 + System.out.println(this.name + "使用" + this.armor.getName() + "防御,抵消了" + this.armor.getProtectNum() + "伤害"); + } + + //展示武器背包 + public void showWeapons(){ + System.out.println(this.name + "的武器背包有:"); + for (int i = 0; i < weapons.size(); i++) { + Weapon w = weapons.get(i); + System.out.println(w.getName()+", "); + } + } +} diff --git a/day11/src/com/inmind/class_interface04/Weapon.java b/day11/src/com/inmind/class_interface04/Weapon.java new file mode 100644 index 0000000..09a7fc9 --- /dev/null +++ b/day11/src/com/inmind/class_interface04/Weapon.java @@ -0,0 +1,29 @@ +package com.inmind.class_interface04; + +//武器类 +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; + } +}