栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java简单模拟玩家

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java简单模拟玩家

package Baoji;

public class Player {
    
    //封装:将属性设置为private 提供公共的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+",我的生命值"+life+",防御"+defense+",攻击力"+attack);
    }

    
    public void pk(Player p){   //对手
        //定义一个标记,0代表我方进攻,1代表对方进攻
        int flag = 0;//默认我方先进攻
        //回合制pk,直到一方死亡
        while (true){
            //每次显示剩余的生命值
            this.say();
            p.say();

            if (flag==0){
                //我方进攻:敌方生命值-(我方攻击力-敌方防御力)
                int harm = (this.attack-p.defense);//得伤害
                //暴击:伤害翻倍
                int sj = (int) Math.round(Math.random()*(2-1)+1);
                if (sj ==2){
                    System.out.println(p.name+"被暴击了!掉血"+harm*2);
                }else{
                    System.out.println(p.name+"掉血"+harm);
                }
                p.setLife(p.life-harm*sj);//敌方掉血
                flag = 1;//改变进攻
            }else {
                //敌方进攻=(敌方攻击力-我方防御力)
                int harm = p.attack-this.defense;
                int sj = (int) Math.round(Math.random()*(10-1)+1);
                if (sj == 3 || sj == 9){//如果随机的是3或9表示暴击
                    System.out.println(this.name+"被暴击了!掉血"+harm*2);
                    this.setLife(this.life-harm*2);//我掉血

                }else {
                    System.out.println(this.life+"掉血"+harm);
                    this.setLife(this.life-harm);//我掉血
                    flag = 0;//改变进攻方

                }

                //判别血量
                if (this.life<=0){
                    System.out.println(this.name+"被KO了");
                    break;//倒下停止战斗
                }
                if (p.life<=0){
                    System.out.println(p.name+"被ko了");
                    break;
                }
            }

        }
    }

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

public class PlayerTest {
    public static void main(String[] args) {
        //创建玩家对象
        Player p1 = new Player();
        p1.setName("龙");
        p1.setType("战士");
        p1.setLife(100);
        p1.setDefense(20);
        p1.setAttack(30);

        Player p2 = new Player();
        p2.setName("天");
        p2.setType("法师");
        p2.setLife(100);
        p2.setDefense(15);
        p2.setAttack(50);

        //开始pk
        p1.pk(p2);
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1007455.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号