打怪游戏(数组,继承.多态)

Hunter h =new Hunter();//这一步初始化Hunter new一个对象h
h.name="德邦总管";將Hunter类的h对象中name属性赋值为德邦总管
h.weaoon="长枪"將hubter类的h对象中的weaoon属性赋值为长枪
h.hp=100同上
h.islive =true;//將hubter类的h对象中的islive赋值true来判断是否死亡


Hunter h =new hunter(“德玛西亚”);將hunter类新new一个类,將用重载的方法,重置一个数
让内部的name来接收德玛西亚;
h.weapon ="长枪";//同理,所有外面的引用赋值都可以在进行新new的时候將它以参数的形式
具体赋值到具体属性。
h.hp=100;

huter h=new hunter("安妮","小熊")//同理在此不多做称述

hunter h=new Hunter("德邦总管",长枪)//同上

h.finght(m1);调用mi的对象到方法fight中,老师將这个多个复制达到重复的效果
当然既然是重复这里也可以内部用for循环代替达到减少显示代码的效果

Monster m2 =new Monster(2);新new一个方法,在参数中赋值2;
依然可以用循环代替,这个方法具体代表的是什么又有什么作用我將在下列的解释中进行
解释

Monster m3 =new Monster(3)//同上

monster m4 =new Monster(4);同上

建造一个大类 命名为 Hunter(猎人);
分别创造了这么几个属性
String name;(名字)
String weapon;(认不到)
int maxHp (满血的状态)
int hp;(血量)
boolean isLive(用来判断是否死亡);
int attack;(攻击)
int defence;(防御)
int level;(同上)
int exp;(经验)


public Hunter(){}//创造一个不带参数的大类。这个就叫构造函数

public Hunter(String name){//將新创造出来的大类重载为带参数String的函数
this.name =name;將外来变量name赋值于自身变量name;
this.isLive =true;將自身的bool语句isLive赋值true;
attack =25;//这个应该是攻击
defence =10;这个是防御
}

public Hunter(String name,String weapon){}//创建一个方法Hunter 参数为
俩个String 的变量。
this.name =name;將自身变量name赋值给参数变量name
this.weapon =weapon;將自身认不到赋值给参数变量认不到
this.maxhp=100;將自身最大的血量赋值为100
this.hp =this.maxhp;將最大hp赋值给hp变量//这一步是为了防止因为hp的减少而妨碍
到了升级所以另外设置了一个hpmax的变量
attack=25;攻击25
defence =10;//防御值为10
this.level=1;
this.exp=0;//都是非常简单的赋值没有解释的价值


public Hunter(String name.String weapon,int hp){//重载一个含有两个String
类型的变量,
this.name =name;没什么特别的地方,跟上一步相比只是将下面一个需要赋值的d地方
放在上面了。


public void fight(manster m)//將monster类的值通过参数的方式传递给方法fight
if(!siLive){//求反,如果是fealse的话游戏结束并且返回
System.our.pringln(“如果英雄死亡,结束并返回”);
return;
}if(!isLive){//如果怪物已经死亡,那么结束游戏
return;
{
System.out.println()
m.injured();//调用一个monster的方法,但是方法里面有参数怎么
办呢?那就给于一个this值就行了
show

posted on 2017-04-09 22:11  巷猫儿(笑)  阅读(159)  评论(0)    收藏  举报

导航