【Java类和对象】奥特曼打怪兽练习

来源:互联网 发布:php 源码 owncloud 编辑:程序博客网 时间:2024/04/30 13:29

【Java类和对象】奥特曼打怪兽练习

【实验目的】

通过写一个回合制的战斗过程,来练习在JAVA中,类和对象的应用。

【实验过程】

1.Aoteman.java 创建一个Aoteman类

public class Aoteman {  
private String name;
private int score; //经验属性
private int blood;//血量属性
private int attack;//攻击力属性
//设置经验
public void setScore(int s){
score = s;
}
//获取经验
public int getScore(){
return score;
}


//设置奥特曼姓名
public void setName(String n){
name =n;
}
//获取奥特曼姓名
public String getName(){
return name;
}
//设置奥特曼血量
public void setblood(int b){
blood = b;
}
//获取奥特曼血量
public int getblood(){
return blood;
}
//设置奥特曼的攻击力
public void setattack(int t){
attack=t;
}
public int getattack(){
return attack;
}
//定义打怪兽的方法
public void Hit(Monster c){ //Monster变为了c
//让怪兽血量减少
//int blood = c.getblood();


java.util.Random rand = new java.util.Random();//创建一个随机数类的对象

int value = rand.nextInt(attack);//如果attack是20,生成0-19,这样攻击力随机,战斗的结果不确定


c.setblood(c.getblood()-value);


//c.setblood(blood);
System.out.println(name+"在攻击"+c.getName()+"怪兽。"+c.getName()+"掉血:"+value+"点,剩余血量为:"+c.getblood());
}
}

2.Monster.java 创建一个Monster类

public class Monster { //类的组成为属性和方法。
//属性格式
private String name;//怪兽属性
private int score;//怪兽经验属性
private int blood;//血量属性
private int attack;//攻击力属性
//方法格式 :public void 方法名
//设置怪兽经验
public void setScore(int s){
score = s;
}
//获取怪兽经验
public int getScore(){
return score;
}
//设置怪兽名
public void setName(String n){
name =n;
}
//获取怪兽名
public String getName(){
return name;
}
//设置怪兽血量
public void setblood(int b){
blood = b;
}
//获取怪兽血量
public int getblood(){
return blood;
}
//设置怪兽的攻击力
public void setattack(int t){
attack=t;
}
public int getattack(){
return attack;
}
//定义打奥特曼的方法
public void Hit(Aoteman c){ //Aoteman变为了c
//让奥特曼血量减少
//int blood = c.getblood();

java.util.Random rand = new java.util.Random();//创建一个随机数类的对象

int value = rand.nextInt(attack);//如果attack是20,生成0-19


c.setblood(c.getblood()-value);
//c.setblood(blood);
System.out.println(name+"在攻击"+c.getName()+"。"+c.getName()+"掉血:"+value+"点,剩余血量为:"+c.getblood());
}
}

3.Hit.java 创建一个Hit类,这里是战斗的主函数

public class Hit {


//定义程序的入口主函数
public static void main(String [] args){


   //创建Aoteman和Monster类型的对象
   Aoteman ao = new Aoteman();
   Monster mo = new Monster();


   //调用设置属性值的方法
   ao.setName("迪迦奥特曼");
   ao.setattack(50);
   ao.setblood(400);
   ao.setScore(60);


   mo.setName("哥斯拉");
   mo.setblood(400);
   mo.setattack(50);
   mo.setScore(50);

   while(mo.getblood()>0){
//调用对打的方法
    ao.Hit(mo);
if(mo.getblood()<=0){//判断怪兽血量是否为0
ao.setScore(ao.getScore()+mo.getScore());//让奥特曼的经验增加
//输出
System.out.println(ao.getName()+"已经打死"+mo.getName()+"怪兽,"+ao.getName()+"的经验要增加"+mo.getScore()+"经验。");
break;
}


    mo.Hit(ao);
if(ao.getblood()<=0){//判断怪兽血量是否为0
mo.setScore(mo.getScore()+ao.getScore());//让怪兽的经验增加
//输出
System.out.println(mo.getName()+"已经打死"+ao.getName()+","+mo.getName()+"的经验要增加"+ao.getScore()+"经验。");
break;
    }
      }
   //System.out.println("怪兽"+mo.getName()+"打败了"+ao.getName()+",获取经验:"+ao.getScore());
}
}


【实验原理和方法】

1.创建的对象的格式:

         //类名 对象名 = new 类名();

         类名 对象名 = new 构造方法(参数值,...);

2.

类的格式:

         publicclass 类名 {

                   private数据类型 属性名;

                  

                   public返回值数据类型 方法名(数据类型 参数名,...){

                            //代码

                   }

         }

3.通过这一个有趣的小程序理解了类和对象的含义,并掌握了他们各自定义的方法。


0 0
原创粉丝点击