使用Java创作一个双人PK的程序

package demo5;

import java.util.Random;

/*
 * 玩家类
 * 属性:名字,类型,生命值,防御值,攻击力
 * 方法:自我介绍,pk
 * */
public class Player {
    //封装:吧属性设为pri,vate,提供公共的get/set方法间接访问
    private String name;
    private String type;
    private int life;
    private int defense;
    private int attack;



    public void say(){
        System.out.println("我叫"+name+",是一个"+type);
        System.out.println(",生命力高达"+life+",防御力"+defense+",攻击力"+attack);
    }
    //    我方开启的战斗
//    @param p 敌对玩家
     Random r = new Random();
    int i = r.nextInt(10);
    int o = r.nextInt(10);
    public void pk(Player p){

        int flag = 0;//默认我方先攻击

        //回合制,直到一方死亡停止
        while (true){
            //显示一下当前战斗人的信息
            this.say();
            p.say();


            //定义一个标记,0我方攻击 1敌方共计
            if (flag==0){
                if (i>=5){
                    int harm = this.attack*2-p.defense;
                    p.life-=harm;
                    System.out.println(p.name+"掉血"+harm);
                }else {
                    int harm = this.attack-p.defense;
                    System.out.println(p.name+"掉血"+harm);
                    p.life-=harm;//让敌方生命值-伤害值
                }
                //战斗 我方攻击力-敌方防御力=伤害值

                flag=1;//改变标记,转换攻击角色
            }else{
                if (i<=5){
                    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;//攻击标记,转换攻击角色
            }
            //有血量<=0,战斗结束
            if (this.life<=0){
                System.out.println(p.name+"打败了"+this.name);
                if (o>=5){
                    System.out.println("装备碎了");
                }
                break;
            }
            if (p.life<=0){
                System.out.println(this.name+"打败了"+p.name);
                if (o>=5){
                    System.out.println("装备飞了");
                }
                break;
            }

            //线程休眠
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }



    }



    //构造器
    public Player() {
    }

    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 demo5;

public class PlayerTest {
    public static void main(String[] args) {
        Player p1 = new Player("龙傲天","战士",100,20,30);
        Player p2 = new Player("牧尘","法师",70,12,45);
        
        p1.pk(p2);

    }
}

你可能感兴趣的:(大数据)