import java.util.Random;
import java.util.Scanner;
import java.lang.Math.*;
public class FightersUniverse
{
public static void main(String []args)
{
int round=1;
int powerdiff= 0;
int fighter1;
int fighter2;
int attactr;
int value;
int fighter1power;// old power for
int fighter2power;
Random randomattack = new Random();
Player player1 = new Player("Ho Yin", 10);
Player player2 = new Player("Justin", 10);
BossPlayer player3 = new BossPlayer("Boss Janice",10);
BossPlayer player4 = new BossPlayer("Boss Florence",10);
Player Players[]={player1,player2,player3,player4};
do
{
System.out.printf("==Round%s==\n",round);//write the round
round++;// increase the round
do{
fighter1 = 0+randomattack.nextInt(4);
fighter2 = 0+randomattack.nextInt(4);
}while(fighter1 == fighter2);
fighter1power =Players[fighter1].getpower();
fighter2power =Players[fighter2].getpower();
System.out.printf("%s attack %s!\n",Players[fighter1].getname(),Players[fighter2].getname());
if (powerdiff ==0)
{
powerdiff = 1;//if powerdiff =0 powerdiff will become 1
}
else
powerdiff = Math.abs(Players[fighter1].getpower()-Players[fighter2].getpower());
value = 0 + randomattack.nextInt(2);// randamattack 1/2 can be attact
if (value ==1)
{
Players[fighter1].attack(powerdiff); //player1 attack +powerdiff
Players[fighter2].attack(-powerdiff);//player2 attack - powerdiff
System.out.printf("%s wins\n",Players[fighter1].getname());
}
else{
Players[fighter1].attack(-powerdiff);
Players[fighter2].attack(powerdiff);
System.out.printf("%s loses\n",Players[fighter1].getname());
}
if (Players[fighter1].isDead() == true )//if player1 power<0
System.out.printf("%s is killed\n",Players[fighter1].getname());
else if(Players[fighter2].isDead() == true)//if player2 power <0
System.out.printf("%s is killed\n",Players[fighter2].getname());
System.out.printf("***%s:%d->%d\n",Players[fighter1].getname(),fighter1power,Players[fighter1].getpower());
System.out.printf("***%s:%d->%d\n",Players[fighter2].getname(),fighter2power,Players[fighter2].getpower());
} while(player1.getpower()>=0&&player2.getpower()>=0&&player3.getpower()>=0&&player4.getpower()>=0); // all player =>0 unti one play kidded
System.out.printf("===GameOver==\n");//game over
for(int i=0; i<Players.length;i++)
{
System.out.printf("***%s's power = %d\n",Players[i].getname(),Players[i].getpower());
} //all player power
/*
System.out.printf("***%s's power = %d\n",Players[0].getname(),Players[0].getpower());
System.out.printf("***%s's power = %d\n",Players[1].getname(),Players[1].getpower());
System.out.printf("***%s's power = %d\n",Players[2].getname(),Players[2].getpower());
System.out.printf("***%s's power = %d\n",Players[3].getname(),Players[3].getpower());
*/
}//end main
}//end class game