實驗要求:
掌握類與對象的基本思想
能夠熟練地使用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);
}
}