面向对象:来一场植物大战僵尸

一、面向对象:来一场植物大战僵尸

  1.我们先要准备植物类,僵尸类、场景类。

  2.植物类来存放植物的属性与动作方法,僵尸类存放僵尸的属性与动作方法,在场景类中创建具体的植物与僵尸,并调用它们的动作。

  3.植物类

/**
* @fileName : zhiwu.java
* @description : TODO
* @author : yangzhihong
* @date : 2021年12月15日-上午9:43:05
*/
public class zhiwu {
	/**
	* @return : void
	* @Description : TODO
	* @author : yangzhihong
	* @Date : 2021年12月15日上午9:43:05
	*/
	String name;
	int hp;
	int attack;
	
	zhiwu (String name,int hp,int attack){
		this.name=name;
		this.hp=hp;
		this.attack=attack;
	}
	
	public void fight(jiangshi js) {
		System.out.println(this.name+"在攻击"+js.name);
		js.hp -= this.attack;
		System.out.println(js.name+"的血量剩余"+js.hp+"\n");
		
	}
 
}

  4.僵尸类:

/**
* @fileName : jiangshi.java
* @description : TODO
* @author : yangzhihong
* @date : 2021年12月15日-上午9:50:59
*/
public class jiangshi {
	String name;
	int hp;
	int attack;
	
	jiangshi(String name,int hp,int attack){
		this.name = name;
		this.hp = hp;
		this.attack = attack;	
	}
	public void eat(zhiwu zw) {
		System.out.println(this.name+"在攻击"+zw.name);
		zw.hp -= this.attack;
		System.out.println(zw.name+"的血量还剩余"+zw.hp);
	}
}

  5.场景类:

/**
* @fileName : Client.java
* @description : TODO
* @author : yangzhihong
* @date : 2021年12月15日-上午9:57:43
*/
 
public class Client {
 
	/**
	* @return : void
	* @Description : TODO
	* @author : yangzhihong
	* @Date : 2021年12月15日上午9:57:43
	*/
	public static void main(String[] args) {
		zhiwu zw = new zhiwu("豌豆射手",1000,50);
		jiangshi js = new jiangshi("僵尸博士",800,60);
		
		System.out.println("植物:"+zw.name+"\n血量:"+zw.hp+"\n攻击力:"+zw.attack+"\n");
		System.out.println("僵尸:"+js.name+"\n血量:"+js.hp+"\n攻击力:"+js.attack+"\n");
		
		zw.fight(js);
		js.eat(zw);
 
	}
 
}

  6.来个小小的总结:

①图纸类中描述对象的属性与动作,构造方法来实现,创建对象实例化使他们“动起来”。

②不一定所有代码都写在一个类里。

posted @   _杨先生  阅读(44)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示