package com.hp.Demo1;
import java.util.Random;
/**
* 玩家类
* 属性:名字。类型。生命值。防御力。攻击类
* 方法:自我介绍。Pk
*/
public class player {
//封装:把属性设置为private,提供公共的get和set方法间接访问,提高安全性
private String name;//名字
private String type;//
private int life;//生命值
private int defense;//防御塔
private int attack;//攻击力
//创建对象
Random zhaungbei = new Random();
int z = zhaungbei.nextInt(10);
Random r = new Random();
int i = r.nextInt(10);//当前范围是0~99
/**
*描述自己的属性
* @return
*/
public void say(){
System.out.println("我叫"+name+",是一个"+type);
System.out.println(",生命值高达"+life+"防御塔"+defense+"攻击力"+attack);
}
/**
* 我方开启的战斗
* @param p 敌对玩家
*/
public void pk(player p){
//显示一下战斗人员的信息
this.say();
p.say();
//第一个标记,0我方攻击 1敌方攻击
int flag = 0;
if (flag==0){
//战斗 我方攻击力-敌方防御力=伤害值
int harm= this.attack-p.defense;
System.out.println(p.name+"掉血"+harm);
p.life-=harm;//让敌方生命值-伤害值
flag=1;//改变标记,转换攻击角色·
}else{
int harm= p.attack-this.defense;
System.out.println(this.name+"掉血"+harm);
this.life-=harm;//让敌方生命值-伤害值
flag=0;//改变标记,转换攻击角色
}
//直到一方死亡停止
while (true){
this.say();
p.say();
//第一个标记,0我方攻击 1敌方攻击
if (flag==0){
if (i>=5) {
//战斗 我方攻击力-敌方防御力=伤害值
System.out.println("进行暴击");
int harm= this.attack*2-p.defense;
p.life-=harm;//让敌方生命值-伤害值
System.out.println(p.name+"掉血"+harm);
}else{
int harm= this.attack-p.defense;
p.life-=harm;//让敌方生命值-伤害值
System.out.println(p.name+"掉血"+harm);
}
flag=1;//改变标记,转换攻击角色
}else{
if (i<=5) {
System.out.println("进行暴击");
int harm= p.attack*2-this.defense;
System.out.println(this.name+"掉血"+harm);
this.life-=harm;//让敌方生命值-伤害值
}else {
int harm = p.attack - this.defense;
System.out.println(this.name + "掉血" + harm);
this.life -= harm;//让敌方生命值-伤害值
}
flag=0;//改变标记,转换攻击角色
}
if (this.life<=0){
System.out.println(p.name+"打败了"+this.name);
if (z>5) {
System.out.println("掉落装备");
}
break;
}
if (p.life<=0){
System.out.println(this.name+"打败了"+p.name);
if (z<5) {
System.out.println("掉落装备");
}
break;
}
//线程休眠
try {
Thread.sleep(1000);
}catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public player(String name, String type, int life, int defense, int attack) {
this.name = name;
this.type = type;
this.life = life;
this.defense = defense;
this.attack = attack;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public int getLife() {
return life;
}
public void setLife(int life) {
this.life = life;
}
public int getDefense() {
return defense;
}
public void setDefense(int defense) {
this.defense = defense;
}
public int getAttack() {
return attack;
}
public void setAttack(int attack) {
this.attack = attack;
}
}
package com.hp.Demo1;
public class playerTest {
public static void main(String[] args) {
//创建两个玩家对像
player p1 =new player("龙傲天","战士",100,20,30);
player p2 = new player("赵日天","战士",100,20,35);
//战斗pk
p1.pk(p2);
}
}