public class Player {
创新互联建站专业为企业提供古浪网站建设、古浪做网站、古浪网站设计、古浪网站制作等企业网站建设、网页设计与制作、古浪企业网站模板建站服务,10余年古浪做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
// 模拟交战
public static void Engage(){
System.out.println("战斗开始!");
new Player("悟空",200,50,10).Attack(new Player("八戒",300,40,6));
System.out.println("战斗结束!");
}
// 名字
private String name;
// 生命值
private int hp;
// 伤害
private int damage;
// 护甲
private int armor;
public Player(String name,int hp,int damage,int armor){
this.name = name;
this.hp = hp;
this.damage = damage;
this.armor = armor;
}
public String GetName(){
return this.name;
}
// 进攻
public void Attack(Player target){
System.out.println(String.format("%1$s正在攻击%2$s!",this.GetName(),target.GetName()));
target.HurtFrom(this, this.damage);
}
// 反击
public void CounterAttack(Player enemy){
System.out.println(String.format("%1$s正在反击%2$s!",this.GetName(),enemy.GetName()));
this.Attack(enemy);
}
// 计算伤害
public void HurtFrom(Player enemy,int damage){
int realDamage = damage - this.armor;
this.hp = this.hp - realDamage;
System.out.println(String.format("%1$s受到%2$s的攻击,伤害%3$s,真实伤害%4$s,当前血量%5$s!",this.GetName(),enemy.GetName(),damage,realDamage,this.hp));
if(this.hp50)
System.out.println(String.format("哈哈,%1$s快死了!", this.GetName()));
if(this.hp 0){
System.out.println(String.format("%1$s已死亡!", this.GetName()));
return;
}
this.CounterAttack(enemy);
}
}
public class Application {
public static void main(String[] args) {
// 模拟交战
Player.Engage();
}
}
// 战斗记录
/*
战斗开始!
悟空正在攻击八戒!
八戒受到悟空的攻击,伤害50,真实伤害44,当前血量256!
八戒正在反击悟空!
八戒正在攻击悟空!
悟空受到八戒的攻击,伤害40,真实伤害30,当前血量170!
悟空正在反击八戒!
悟空正在攻击八戒!
八戒受到悟空的攻击,伤害50,真实伤害44,当前血量212!
八戒正在反击悟空!
八戒正在攻击悟空!
悟空受到八戒的攻击,伤害40,真实伤害30,当前血量140!
悟空正在反击八戒!
悟空正在攻击八戒!
八戒受到悟空的攻击,伤害50,真实伤害44,当前血量168!
八戒正在反击悟空!
八戒正在攻击悟空!
悟空受到八戒的攻击,伤害40,真实伤害30,当前血量110!
悟空正在反击八戒!
悟空正在攻击八戒!
八戒受到悟空的攻击,伤害50,真实伤害44,当前血量124!
八戒正在反击悟空!
八戒正在攻击悟空!
悟空受到八戒的攻击,伤害40,真实伤害30,当前血量80!
悟空正在反击八戒!
悟空正在攻击八戒!
八戒受到悟空的攻击,伤害50,真实伤害44,当前血量80!
八戒正在反击悟空!
八戒正在攻击悟空!
悟空受到八戒的攻击,伤害40,真实伤害30,当前血量50!
悟空正在反击八戒!
悟空正在攻击八戒!
八戒受到悟空的攻击,伤害50,真实伤害44,当前血量36!
哈哈,八戒快死了!
八戒正在反击悟空!
八戒正在攻击悟空!
悟空受到八戒的攻击,伤害40,真实伤害30,当前血量20!
哈哈,悟空快死了!
悟空正在反击八戒!
悟空正在攻击八戒!
八戒受到悟空的攻击,伤害50,真实伤害44,当前血量-8!
哈哈,八戒快死了!
八戒已死亡!
战斗结束!
*/
首先写个类命名people
public class people
{
//定义人有的属性
int blood;//血
int force;//攻击力
//定义构造方法对人进行初始化
public people(int blood,int force)
{
this.blood=blood;
this.force=force;
}
//定义人的方法,比如攻击
public void attrack(people x)
{
x.blood-=this.force;
}
}
主体中代码:
people a=new people(100,20);
people b=new people(100,30);
//建一个线程a攻击b
xiancheng one=new xiancheng(a,b);
thread t1= new Thread(one);
t1.start();
//800毫秒后建一个线程b攻击a;
thread.sleep(800);
xiancheng two=new xiancheng(b,a);
thread t2= new Thread(two);
t2.start();
class xiancheng implements runnable //继承runnable接口
{
people x;
people y;
public xiancheng(people x,people y )
{
this.x=x;
this.y=y;
}
pulbic vid run()
{
while(y.blood0)
{
x.attrack(y);
thread.sleep(800);
}
}
}
//很久没用java了线程有点忘了,,汗
变量和方法是不同的概念!!浅显来讲,变量是数据,所谓变量,就是其值能够被改变的数据,常量与其对立!!而方法是对这些变量进行操作的定义。可以类比一下,球是变量,那么打球就是方法!!用JAVA来举个例子,int a=2;那么a就是变量,int getA(){return a;}就是方法!!不知道这样讲你明白不??