代码如下:
package t11;
import java.util.Random;
public class Fight
{
String name;
int life, attack, speed, crit, armor;// 生命、攻击力,攻速,暴击,护甲
void set_Fight(String a,int a1, int a2, int a3, int a4, int a5)//可改为构造函数
{
name=a;
life = a1;
attack = a2;
speed = a3;
crit = a4;
armor = a5;
}
void attack(Fight x)
{
int send_attack;
Random r1=new Random();
if(r1.nextInt(100)<=crit)
{
send_attack=attack*speed*2;
}
else
{
send_attack=attack*speed;
}
System.out.println(name+"发出攻击:"+send_attack);
x.be_Attack(send_attack);
}
void be_Attack(int x)
{
life=(int)(life-x*100.0/(100+armor));
show_Me();
}
void show_Me()
{
System.out.println(name+",life:"+life);
}
}
主类调用它:
package t11;
public class c1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Fight shoot,soldier;
shoot=new Fight();
soldier=new Fight();
shoot.set_Fight("射手",300, 75, 2, 10, 30);
soldier.set_Fight("战士",500, 90, 1, 20, 45);
while(true)
{
shoot.attack(soldier);
soldier.attack(shoot);
if(shoot.life<=0 || soldier.life<=0)
{
break;
}
}
}
}