实验要求:
掌握类与对象的基本思想
能够熟练地使用Java设计并编写类
能够灵活运用各种对象
实验内容:
希腊神话中,宙斯战胜了泰坦之后成为众神之王,以此为背景,通过构造相应对象、属性和方法,并用随机的方式,模拟宙斯与泰坦的战斗过程。
构建类Titan,要求如下:
整形字段HP,以及相应的getter和setter
空参数列表构造方法Titan(),创造出的HP默认为700
带参数构造方法Titan(int HP),创造出指定HP的对象
方法attack(Zues z),参数为宙斯对象,每次调用此方法后,用随机数的方式,随机产生10-100的整数伤害,减少参数宙斯对象的HP,并且攻击结果需要在控制台输出,格式为“泰坦攻击宙斯,产生**点伤害,宙斯当前HP为**”。
构建类Zues,要求如下:
整形字段HP,以及相应的getter和setter
空参数列表构造方法Zues (),创造出的HP默认为1000
带参数构造方法Zues (int HP),创造出指定HP的对象
方法attack(Titan t),参数为泰坦对象,每次调用此方法后,用随机数的方式,随机产生0-70的整数伤害,减少参数泰坦对象的HP,并且攻击结果需要在控制台输出,格式为“宙斯攻击泰坦,产生**点伤害,泰坦当前HP为**”。
构建类ClashofTitans,要求如下:
拥有main方法,在该方法中,首先构建泰坦和宙斯对象,使用do while循环,让泰坦和宙斯相互攻击,每次攻击完毕后,判断泰坦和宙斯相应的HP,如果某一方HP小于等于0,则停止循环,并输出结果,格式为“泰坦/宙斯HP为**,已经失败,胜利者是宙斯/泰坦!”
JAVA代码:
import java.util.*;
import java.io.*;
public class ClashofTitans {
	public static void main(String[] args) {
		//Scanner in=new Scanner(System.in);
		Titan t=new Titan();
		Zues z=new Zues();
		boolean flag=true;
		while(true){
			if(flag)
			{
				t.attack(z);
			}
			else
			{
				z.attack(t);
			}
			flag=!flag;
			if(t.Hp<=0)
			{
				System.out.println("泰坦的HP为0,已经失败,胜利者是宙斯!");
				break;
			}
			if(z.Hp<=0)
			{
				System.out.println("宙斯的HP为0,已经失败,胜利者是泰坦!");
				break;
			}
		}
	}
}
class Titan {
	public int Hp;
	public int getHp() {
		return Hp;
	}
	public void setHp(int hp) {
		Hp = hp;
	}
	Titan(){
		Hp=700;
	}
	Titan(int hp){
		Hp=hp;
	}
	void attack(Zues z){
		Random r=new Random();
		int temp=r.nextInt(91)+10;
		z.Hp-=temp;
		if(z.Hp<0)
			z.Hp=0;
		System.out.println("泰坦攻击宙斯,产生"+temp+"点伤害,宙斯当前HP为"+z.Hp);
	}
}
class Zues {
	public int Hp;
	public int getHp() {
		return Hp;
	}
	public void setHp(int hp) {
		Hp = hp;
	}
	Zues(){
		Hp=1000;
	}
	Zues(int hp){
		Hp=hp;
	}
	void attack(Titan t){
		Random r=new Random();
		int temp=r.nextInt(71);
		t.Hp-=temp;
		if(t.Hp<0)
			t.Hp=0;
		System.out.println("宙斯攻击泰坦,产生"+temp+"点伤害,泰坦当前HP为"+t.Hp);
	}
}
原文:https://www.cnblogs.com/Numblzw/p/10753948.html