标签:基本 boolean flag ret break stat 方式 port can
实验要求:
掌握类与对象的基本思想
能够熟练地使用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);
}
}
标签:基本 boolean flag ret break stat 方式 port can
原文地址:https://www.cnblogs.com/Numblzw/p/10753948.html