扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
public class Player {
创新互联服务项目包括蟠龙网站建设、蟠龙网站制作、蟠龙网页制作以及蟠龙网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,蟠龙网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到蟠龙省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
// 模拟交战
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!
哈哈,八戒快死了!
八戒已死亡!
战斗结束!
*/
变量和方法是不同的概念!!浅显来讲,变量是数据,所谓变量,就是其值能够被改变的数据,常量与其对立!!而方法是对这些变量进行操作的定义。可以类比一下,球是变量,那么打球就是方法!!用JAVA来举个例子,int a=2;那么a就是变量,int getA(){return a;}就是方法!!不知道这样讲你明白不??
public static void main(String[] args) {
final String[] tips = { "智商200+", "智商180+", "智商140+", "智商100+", "低能80" };
final int NUM = 5;
int result = 0;
int step = 0;
int RANDOMS = 0;
while (true) {
RANDOMS = new Random().nextInt(50) + 1;
// System.out.println("RANDOMS = " + RANDOMS);
System.out.print("请猜一个数,范围在0-50:");
step = 0;
while (step NUM) {
result = new Scanner(System.in).nextInt();
if (result RANDOMS) {
if (step 4) {
System.out.println("抱歉,你猜的数字有点大哦,要不再试一次?");
}
} else if (result RANDOMS) {
if (step 4) {
System.out.println("抱歉,你猜的数字有点小咯,要不再次一次?");
}
} else {
System.err.println("太棒了,你猜对了!" + tips[step]);
break;
}
step++;
}
if (step == 5) {
System.out.println("抱歉,你猜的次数已经超过限制!");
}
try {
Thread.sleep(1000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
while (true) {
System.out.print("大侠,要不要再来一次(y/n)?");
String ys = new Scanner(System.in).next();
if (ys.startsWith("y") || ys.startsWith("Y")) {
System.out.println("游戏重新开始...");
break;
} else if (ys.startsWith("n") || ys.startsWith("N")) {
System.out.println("游戏结束...");
return;
}
}
}
}
robocode ibm公司写的一个多线程的坦克对战游戏, 很经典,可免费获得
首先写个类命名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了线程有点忘了,,汗
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流