作业:

运行结果:

代码部分:
Role父类:
package org.jsoft.zuoye;
public class Role {//父类Role
private String name;//封装一个名字name属性 通过get/set获取该属性
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int attack(){//返回伤害的方法
int i = 0;
return i;
}
}
法师Magicer子类:
package org.jsoft.zuoye;
public class Magicer extends Role{//法师继承父类
private int level;//封装一个等级level属性 通过get/set获取该属性
public int getLevel() {
return level;
}
public void setLevel(int level) {
this.level = level;
}
public int attack(){//重写父类返回伤害方法
return level*5;
}
}
战士Soldier子类:
package org.jsoft.zuoye;
public class Soldier extends Role{//战士继承父类
private int hurt;//封装一个伤害hurt属性 通过get/set获取该属性
public int gethurt() {
return hurt;
}
public void sethurt(int hurt) {
this.hurt = hurt;
}
public int attack(){//重写父类返回伤害的方法
return hurt;
}
}
Team 类:
package org.jsoft.zuoye;
public class Team {//组队
private int num;//封装属性个数num
private Role [] troops;//声明一个数组troops 并且封装
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public Role[] getTroops() {
return troops;
}
public void setTroops(Role[] troops) {
this.troops = troops;
}
public Team(){//构造方法 属性初始化
num = 0;
troops = new Role[6];
}
public void addMember(Role role){//增加成员方法
troops[num] = role;
num++;
}
public int attackSum(){//队伍总伤害方法
int total = 0;
for (int i = 0; i < num; i++) {
total = total + troops[i].attack();
}
System.out.println(total);
return total;
}
}
TestGame测试类:
package org.jsoft.zuoye;
public class TestGame {
public static void main(String[] args) {
//创建3个对象 并给出名字
Magicer m = new Magicer();
m.setName("魔法师");
Magicer m1 = new Magicer();
m1.setName("黑魔法师");
Soldier s = new Soldier();
s.setName("战士");
//创建一个队伍对象
Team t = new Team();
//添加对象
t.addMember(s);
t.addMember(m);
t.addMember(m1);
//遍历出数组里面的成员
Role [] r = t.getTroops();
System.out.println("队伍里的成员:");
for (int i = 0; i < t.getNum(); i++) {
System.out.print(r[i].getName()+" ");
}
System.out.println();
//给战士和魔法师附上技能等级和攻击值
m.setLevel(5);
m1.setLevel(6);
s.sethurt(15);
//循环遍历
for (int i = 0; i < t.getNum(); i++) {
System.out.println(r[i].getName()+" 攻击力:"+r[i].attack());
}
//最后输出队伍总伤害值
System.out.print("队伍伤害是:");
t.attackSum();
}
}
本文介绍了一个简单的Java角色扮演游戏实现案例,包含角色类的定义、队伍组建及战斗伤害计算等功能。
3434

被折叠的 条评论
为什么被折叠?



