一个只完成了一部分的小游戏。。。

第一次以小组的方式讨论制作一个比较有意思的小项目
初期设计的时候想要实现的内容有点多,导致后来搁浅了很多内容
部分系统设计比较简陋,算是给以后制作这类项目埋下一个伏笔,希望以后再制作这类项目时能提高完成度和小组配合度。
下面是代码部分:

技能(Skill)类:

先将各职业技能文字设计好,因为是第一次做这类游戏项目,我们把技能都设计成了被动技能

public class Skill {
    
    
    public void DaWaSkill() {
    
    
        System.out.println("*-大娃技能:自由生长!!!");
        System.out.println("*-效果:大娃比其他葫芦兄弟身强力壮,每次升级技能除生命外的其他所有属性+1");
    }

    public void ErWaSkill() {
    
    
        System.out.println("*-二娃技能:千里眼,顺风耳!!!");
        System.out.println("*-二娃比其他葫芦兄弟反应灵敏,总能料敌先机,每次受到伤害时减少1*(技能等级)伤害");
    }

    public void SanWaSkill() {
    
    
        System.out.println("*-三娃技能:铜头铁臂!!!");
        System.out.println("*-三娃拥有金刚不坏之身,受到物理伤害减少,每次受到物理伤害减少2*(技能等级)伤害");
    }

    public void SiWaSkill() {
    
    
        System.out.println("*-四娃技能:火焰灼烧!!!");
        System.out.println("*-四娃熟练掌握火的力量,攻击造成魔法伤害,造成伤害时能让敌人受到额外1*(技能等级)点持续伤害");
    }

    public void WuWaSkill() {
    
    
        System.out.println("*-五娃技能:迟滞之水!!!");
        System.out.println("*-五娃熟练掌握水的力量,攻击造成魔法伤害,敌人与之战斗时如同身陷漩涡,使敌人全属性降低1*(技能等级)点");
    }

    public void LiuWaSkill() {
    
    
        System.out.println("*-六娃技能:神隐之术!!!");
        System.out.println("*-六娃掌握隐身能力,总是能给怪物意料之外的攻击,给敌人造成伤害时必定暴击,暴击伤害为1+0.25*(技能等级)");
    }

    public void QiWaSkill() {
    
    
        System.out.println("*-七娃技能:紫金葫芦!!!");
        System.out.println("*-七娃天赋异禀,攻击造成魔法伤害,掌握着可以吞噬万物的紫金葫芦,每次升级技能吸收天地元气纳为己用,获得3个属性点");
    }

}

职业(Profession)类:

制作时间比较仓促,所以各个角色的属性成长没有具体细致的测试和设计

class Profession {
    
    
    Skill skill = new Skill();
    public String name;
    public int level;//等级
    public int skillLevel;//技能等级
    public int attack;//攻击力
    public int magicAttack;//魔法攻击
    public int armor;//护甲
    public int magicResistance;//魔抗
    public double healthValue;//生命值

    public double getHealthValue() {
    
    
        return healthValue;
    }

    public void print() {
    
    
        System.out.println("*-*-*-*-*-*-*-*-*");
        System.out.println("*-ID:" + this.name);
        System.out.println("*-等级:" + this.level);
        System.out.println("*-技能等级:" + this.skillLevel);
        System.out.println("*-攻击力:" + this.attack);
        System.out.println("*-护甲:" + this.armor);
        System.out.println("*-魔抗:" + this.magicResistance);
        System.out.println("*-生命值:" + this.healthValue);
    }
}

class PlayerDaWa extends Profession {
    
    
    Skill skill = new Skill();

//每个角色都有不同的属性成长

    public PlayerDaWa() {
    
    
        name = "大娃";
        level = 1;
        skillLevel = 1;
        attack = 10 + skillLevel + (level - 1);
        armor = 5 + skillLevel + (level - 1);
        magicResistance = 5 + skillLevel + (level - 1);
        healthValue = 100 + (level - 1) * 10;
    }
//调用Skill类中每个角色的技能描述
    public void showSkill() {
    
    
        skill.DaWaSkill();
        System.out.println("*-*-*-*-*-*-*-*-*");
    }

}

class PlayerErWa extends Profession {
    
    
    Skill skill = new Skill();

    public PlayerErWa() {
    
    
        name = "二娃";
        level = 1;
        skillLevel = 1;
        attack = 5 + (level - 1);
        armor = 5;
        magicResistance = 5;
        healthValue = 100 + (level - 1) * 30;

    }

    public void showSkill() {
    
    
        skill.ErWaSkill();
        System.out.println("*-*-*-*-*-*-*-*-*");
    }

}

class PlayerSanWa extends Profession {
    
    
    Skill skill = new Skill();

    public PlayerSanWa() {
    
    
        name = "三娃";
        level = 1;
        skillLevel = 1;
        attack = 5;
        armor = 5 + (level - 1);
        magicResistance = 5 + (level - 1);
        healthValue = 100 + (level - 1) * 20;

    }

    public void showSkill() {
    
    
        skill.SanWaSkill();
        System.out.println("*-*-*-*-*-*-*-*-*");
    }

}

class PlayerSiWa extends Profession {
    
    
    Skill skill = new Skill();

    public PlayerSiWa() {
    
    
        name = "四娃";
        level = 1;
        skillLevel = 1;
        magicAttack = 5 + (level - 1) * 2;
        armor = 5;
        magicResistance = 5;
        healthValue = 100 + (level - 1) * 20;

    }

    public void showSkill() {
    
    
        skill.SiWaSkill();
        System.out.println("*-*-*-*-*-*-*-*-*");
    }

}

class PlayerWuWa extends Profession {
    
    
    Skill skill = new Skill();

    public PlayerWuWa() {
    
    
        name = "五娃";
        level = 1;
        skillLevel = 1;
        magicAttack = 5 + (level - 1) * 2;
        armor = 5 + (level - 1);
        magicResistance = 5 + (level - 1);
        healthValue = 100;

    }

    public void showSkill() {
    
    
        skill.WuWaSkill();
        System.out.println("*-*-*-*-*-*-*-*-*");
    }

}

class PlayerLiuWa extends Profession {
    
    
    Skill skill = new Skill();

    public PlayerLiuWa() {
    
    
        name = "六娃";
        level = 1;
        skillLevel = 1;
        attack = 5 + (level - 1) * 3;
        armor = 5;
        magicResistance = 5;
        healthValue = 100 + (level - 1) * 10;

    }

    public void showSkill() {
    
    
        skill.LiuWaSkill();
        System.out.println("*-*-*-*-*-*-*-*-*");
    }

}

class PlayerQiWa extends Profession {
    
    
    Skill skill = new Skill();

    public PlayerQiWa() {
    
    
        name = "七娃";
        level = 1;
        skillLevel = 1;
        magicAttack = 5 + (level - 1);
        armor = 5 + (level - 1);
        magicResistance = 5 + (level - 1);
        healthValue = 100 + (level - 1) * 10;

    }

    public void showSkill() {
    
    
        skill.QiWaSkill();
        System.out.println("*-*-*-*-*-*-*-*-*");
    }

}

怪物(Enemy)类:

制作时间比较仓促,所以各个怪物的属性成长没有具体细致的测试和设计

public class Enemy {
    
    
    public String name;
    public int attack;//攻击力
    public int magicAttack;//魔法攻击
    public int armor;//护甲
    public int magicResistance;//魔抗
    public double healthValue;//生命值
}

class Enemy1 extends Enemy {
    
    
    @Override
    public String toString() {
    
    
        return "Enemy1{" +
                "name='" + name + '\'' +
                ", attack=" + attack +
                ", magicAttack=" + magicAttack +
                ", armor=" + armor +
                ", magicResistance=" + magicResistance +
                ", healthValue=" + healthValue +
                '}';
    }

    public Enemy1() {
    
    
        name = "蛤蟆";
        attack = 0;
        magicAttack = 10;
        armor = 1;
        magicResistance = 1;
        healthValue = 100;
        System.out.println("*-*-*-*-*-*-*-*-*");
        System.out.println("*-ID:" + this.name);
        System.out.println("*-怪物攻击造成魔法伤害");
        System.out.println("*-攻击力:" + this.magicAttack);
        System.out.println("*-护甲:" + this.armor);
        System.out.println("*-魔抗:" + this.magicResistance);
        System.out.println("*-生命值:" + this.healthValue);
        System.out.println("*-*-*-*-*-*-*-*-*");

    }
}

class Enemy2 extends Enemy {
    
    
    public Enemy2() {
    
    
        name = "老鼠";
        attack = 10;
        magicAttack = 0;
        armor = 5;
        magicResistance = 5;
        healthValue = 100;
        System.out.println("*-*-*-*-*-*-*-*-*");
        System.out.println("*-ID:" + this.name);
        System.out.println("*-怪物攻击造成物理伤害");
        System.out.println("*-攻击力:" + this.attack);
        System.out.println("*-护甲:" + this.armor);
        System.out.println("*-魔抗:" + this.magicResistance);
        System.out.println("*-生命值:" + this.healthValue);
        System.out.println("*-*-*-*-*-*-*-*-*");
    }

    @Override
    public String toString() {
    
    
        return "Enemy2{" +
                "name='" + name + '\'' +
                ", attack=" + attack +
                ", magicAttack=" + magicAttack +
                ", armor=" + armor +
                ", magicResistance=" + magicResistance +
                ", healthValue=" + healthValue +
                '}';
    }
}

class Enemy3 extends Enemy {
    
    
    public Enemy3() {
    
    
        name = "蜈蚣";
        attack = 0;
        magicAttack = 10;
        armor = 5;
        magicResistance = 5;
        healthValue = 100;
        System.out.println("*-*-*-*-*-*-*-*-*");
        System.out.println("*-怪物攻击造成魔法伤害");
        System.out.println("*-ID:" + this.name);
        System.out.println("*-攻击力:" + this.magicAttack);
        System.out.println("*-护甲:" + this.armor);
        System.out.println("*-魔抗:" + this.magicResistance);
        System.out.println("*-生命值:" + this.healthValue);
        System.out.println("*-*-*-*-*-*-*-*-*");
    }

    @Override
    public String toString() {
    
    
        return "Enemy3{" +
                "name='" + name + '\'' +
                ", attack=" + attack +
                ", magicAttack=" + magicAttack +
                ", armor=" + armor +
                ", magicResistance=" + magicResistance +
                ", healthValue=" + healthValue +
                '}';
    }
}

class Enemy4 extends Enemy {
    
    
    public Enemy4() {
    
    
        name = "蜘蛛";
        magicAttack = 10;
        attack = 0;
        armor = 5;
        magicResistance = 5;
        healthValue = 100;
        System.out.println("*-*-*-*-*-*-*-*-*");
        System.out.println("*-怪物攻击造成魔法伤害");
        System.out.println("*-ID:" + this.name);
        System.out.println("*-攻击力:" + this.magicAttack);
        System.out.println("*-护甲:" + this.armor);
        System.out.println("*-魔抗:" + this.magicResistance);
        System.out.println("*-生命值:" + this.healthValue);
        System.out.println("*-*-*-*-*-*-*-*-*");
    }

    @Override
    public String toString() {
    
    
        return "Enemy4{" +
                "name='" + name + '\'' +
                ", attack=" + attack +
                ", magicAttack=" + magicAttack +
                ", armor=" + armor +
                ", magicResistance=" + magicResistance +
                ", healthValue=" + healthValue +
                '}';
    }
}

class Enemy5 extends Enemy {
    
    
    public Enemy5() {
    
    
        name = "蝙蝠";
        attack = 10;
        magicAttack = 0;
        armor = 5;
        magicResistance = 5;
        healthValue = 100;
        System.out.println("*-*-*-*-*-*-*-*-*");
        System.out.println("*-ID:" + this.name);
        System.out.println("*-攻击力:" + this.attack);
        System.out.println("*-护甲:" + this.armor);
        System.out.println("*-魔抗:" + this.magicResistance);
        System.out.println("*-生命值:" + this.healthValue);
        System.out.println("*-*-*-*-*-*-*-*-*");
    }
}

class Enemy6 extends Enemy {
    
    
    public Enemy6() {
    
    
        name = "小蛇精";
        attack = 10;
        magicAttack = 0;
        armor = 5;
        magicResistance = 5;
        healthValue = 100;
        System.out.println("*-*-*-*-*-*-*-*-*");
        System.out.println("*-ID:" + this.name);
        System.out.println("*-攻击力:" + this.attack);
        System.out.println("*-护甲:" + this.armor);
        System.out.println("*-魔抗:" + this.magicResistance);
        System.out.println("*-生命值:" + this.healthValue);
        System.out.println("*-*-*-*-*-*-*-*-*");
    }
}

//精英怪=============================================================================
class SmallBoss1 extends Enemy {
    
    
    public SmallBoss1() {
    
    
        name = "蛤蟆头目";
        magicAttack = 10;
        attack = 0;
        armor = 5;
        magicResistance = 5;
        healthValue = 100;
        System.out.println("*-*-*-*-*-*-*-*-*");
        System.out.println("*-怪物攻击造成魔法伤害");
        System.out.println("*-ID:" + this.name);
        System.out.println("*-攻击力:" + this.magicAttack);
        System.out.println("*-护甲:" + this.armor);
        System.out.println("*-魔抗:" + this.magicResistance);
        System.out.println("*-生命值:" + this.healthValue);
        System.out.println("*-*-*-*-*-*-*-*-*");
    }

    @Override
    public String toString() {
    
    
        return "SmallBoss1{" +
                "name='" + name + '\'' +
                ", attack=" + attack +
                ", magicAttack=" + magicAttack +
                ", armor=" + armor +
                ", magicResistance=" + magicResistance +
                ", healthValue=" + healthValue +
                '}';
    }
}

class SmallBoss2 extends Enemy {
    
    
    public SmallBoss2() {
    
    
        name = "老鼠头目";
        attack = 10;
        magicAttack = 0;
        armor = 5;
        magicResistance = 5;
        healthValue = 100;
        System.out.println("*-*-*-*-*-*-*-*-*");
        System.out.println("*-ID:" + this.name);
        System.out.println("*-攻击力:" + this.attack);
        System.out.println("*-护甲:" + this.armor);
        System.out.println("*-魔抗:" + this.magicResistance);
        System.out.println("*-生命值:" + this.healthValue);
        System.out.println("*-*-*-*-*-*-*-*-*");
    }

    @Override
    public String toString() {
    
    
        return "SmallBoss2{" +
                "name='" + name + '\'' +
                ", attack=" + attack +
                ", magicAttack=" + magicAttack +
                ", armor=" + armor +
                ", magicResistance=" + magicResistance +
                ", healthValue=" + healthValue +
                '}';
    }
}

class SmallBoss3 extends Enemy {
    
    
    public SmallBoss3() {
    
    
        name = "蜘蛛头目";
        attack = 0;
        magicAttack = 10;
        armor = 5;
        magicResistance = 5;
        healthValue = 100;
        System.out.println("*-*-*-*-*-*-*-*-*");
        System.out.println("*-怪物攻击造成魔法伤害");
        System.out.println("*-ID:" + this.name);
        System.out.println("*-攻击力:" + this.magicAttack);
        System.out.println("*-护甲:" + this.armor);
        System.out.println("*-魔抗:" + this.magicResistance);
        System.out.println("*-生命值:" + this.healthValue);
        System.out.println("*-*-*-*-*-*-*-*-*");
    }

    @Override
    public String toString() {
    
    
        return "SmallBoss3{" +
                "name='" + name + '\'' +
                ", attack=" + attack +
                ", magicAttack=" + magicAttack +
                ", armor=" + armor +
                ", magicResistance=" + magicResistance +
                ", healthValue=" + healthValue +
                '}';
    }
}

class SmallBoss4 extends Enemy {
    
    
    public SmallBoss4() {
    
    
        name = "蜈蚣头目";
        attack = 0;
        magicAttack = 10;
        armor = 5;
        magicResistance = 5;
        healthValue = 100;
        System.out.println("*-*-*-*-*-*-*-*-*");
        System.out.println("*-怪物攻击造成魔法伤害");
        System.out.println("*-ID:" + this.name);
        System.out.println("*-攻击力:" + this.magicAttack);
        System.out.println("*-护甲:" + this.armor);
        System.out.println("*-魔抗:" + this.magicResistance);
        System.out.println("*-生命值:" + this.healthValue);
        System.out.println("*-*-*-*-*-*-*-*-*");
    }
}

class SmallBoss5 extends Enemy {
    
    
    public SmallBoss5() {
    
    
        name = "蝙蝠头目";
        attack = 10;
        magicAttack = 0;
        armor = 5;
        magicResistance = 5;
        healthValue = 100;
        System.out.println("*-*-*-*-*-*-*-*-*");
        System.out.println("*-ID:" + this.name);
        System.out.println("*-攻击力:" + this.attack);
        System.out.println("*-护甲:" + this.armor);
        System.out.println("*-魔抗:" + this.magicResistance);
        System.out.println("*-生命值:" + this.healthValue);
        System.out.println("*-*-*-*-*-*-*-*-*");
    }
}

class SmallBoss6 extends Enemy {
    
    

    public SmallBoss6() {
    
    
        name = "蛇精头目";
        attack = 10;
        magicAttack = 0;
        armor = 5;
        magicResistance = 5;
        healthValue = 100;
        System.out.println("*-*-*-*-*-*-*-*-*");
        System.out.println("*-ID:" + this.name);
        System.out.println("*-攻击力:" + this.attack);
        System.out.println("*-护甲:" + this.armor);
        System.out.println("*-魔抗:" + this.magicResistance);
        System.out.println("*-生命值:" + this.healthValue);
        System.out.println("*-*-*-*-*-*-*-*-*");
    }
}

//BOSS================================================================================
class BigBoss1 extends Enemy {
    
    
    public BigBoss1() {
    
    
        name = "青蛇精";
        magicAttack = 15;
        attack = 0;
        armor = 5;
        magicResistance = 5;
        healthValue = 100;
        System.out.println("*-*-*-*-*-*-*-*-*");
        System.out.println("*-怪物攻击造成魔法伤害");
        System.out.println("*-ID:" + this.name);
        System.out.println("*-攻击力:" + this.magicAttack);
        System.out.println("*-护甲:" + this.armor);
        System.out.println("*-魔抗:" + this.magicResistance);
        System.out.println("*-生命值:" + this.healthValue);
        System.out.println("*-*-*-*-*-*-*-*-*");
    }

    @Override
    public String toString() {
    
    
        return "BigBoss1{" +
                "name='" + name + '\'' +
                ", attack=" + attack +
                ", magicAttack=" + magicAttack +
                ", armor=" + armor +
                ", magicResistance=" + magicResistance +
                ", healthValue=" + healthValue +
                '}';
    }
}

class BigBoss2 extends Enemy {
    
    
    public BigBoss2() {
    
    
        name = "蝎子大王";
        attack = 15;
        magicAttack = 0;
        armor = 5;
        magicResistance = 5;
        healthValue = 100;
        System.out.println("*-*-*-*-*-*-*-*-*");
        System.out.println("*-ID:" + this.name);
        System.out.println("*-攻击力:" + this.attack);
        System.out.println("*-护甲:" + this.armor);
        System.out.println("*-魔抗:" + this.magicResistance);
        System.out.println("*-生命值:" + this.healthValue);
        System.out.println("*-*-*-*-*-*-*-*-*");
    }
}

地图(Map)类:

将怪物类里的类放入地图中,实现选择地图后可以在地图内再选择怪物

public class Map {
    
    
    public Enemy qiXiangGu(int chooseMonster) {
    
    
        if (chooseMonster == 1) {
    
    
            Enemy1 enemy1 = new Enemy1();//蛤蟆
            return enemy1;
        } else if (chooseMonster == 2) {
    
    
            Enemy2 enemy2 = new Enemy2();//老鼠
            return enemy2;
        } else if (chooseMonster == 3) {
    
    
            Enemy3 enemy3 = new Enemy3();//蜈蚣
            return enemy3;
        } else
            System.out.println("输入有误");
        return null;

    }

    public Enemy yaoWuZhen(int chooseSmallBoss) {
    
    
        if (chooseSmallBoss == 1) {
    
    
            SmallBoss1 smallBoss1 = new SmallBoss1();//蛤蟆头目
            return smallBoss1;
        } else if (chooseSmallBoss == 2) {
    
    
            SmallBoss2 smallBoss2 = new SmallBoss2();//老鼠头目
            return smallBoss2;
        } else if (chooseSmallBoss == 3) {
    
    
            SmallBoss3 smallBoss3 = new SmallBoss3();//蜈蚣头目
            return smallBoss3;
        } else
            System.out.println("输入有误");
        return null;

    }

    public Enemy bossPlace(int chooseBigBoss) {
    
    


        if (chooseBigBoss == 1) {
    
    
            BigBoss1 bigBoss1 = new BigBoss1();
            return bigBoss1;
        } else if (chooseBigBoss == 2) {
    
    
            BigBoss2 bigBoss2 = new BigBoss2();
            return bigBoss2;
        } else
            System.out.println("输入有误");
        return null;
    }
}

战斗(Fight)类:

添加战斗类,写清战斗流程和战斗方式

public class Fight {
    
    
    public int fight(Profession profession, Enemy enemy) {
    
    
        int i = 0;
        boolean flag1 = true;
        PlayerDaWa playerDaWa = new PlayerDaWa();
        Map map = new Map();
        Fight fight = new Fight();
        Game mains = new Game();
        gameA:
        for (; flag1; ) {
    
    
            Enemy chooseEnemy = mains.chooseMap();
            double enemyNowHp = enemy.healthValue;

            double professionNowHp = profession.healthValue;
            System.out.println("1:打怪");
            System.out.println("2:回家");
            System.out.println("3:状态");
            System.out.println("4:退出游戏");
            Scanner scanner = new Scanner(System.in);
            int b = scanner.nextInt();
            switch (b) {
    
    
                case 1:
                    boolean flag2 = true;
                    for (; flag2; ) {
    
    
                        System.out.println("1:攻击");
                        System.out.println("2:逃跑");
                        int c = scanner.nextInt();

                        if (c == 1) {
    
    
                            while (true) {
    
    

                                //怪物受到魔法攻击
                                if (profession.attack == 0) {
    
    
                                    enemyNowHp = enemyNowHp - profession.magicAttack + enemy.magicResistance;
                                    System.out.println("怪物现在剩下HP:" + enemyNowHp);
                                } else if (profession.attack != 0) {
    
    //怪物受到物理攻击
                                    enemyNowHp = enemyNowHp - profession.attack + enemy.armor;
                                    System.out.println("怪物现在剩下HP:" + enemyNowHp);
                                }
                                if (enemy.attack == 0) {
    
    
                                    //角色受到魔法攻击

                                    professionNowHp = profession.healthValue - enemy.magicAttack + profession.magicResistance;
                                    profession.healthValue = professionNowHp;
                                    System.out.println("角色现在剩下HP:" + professionNowHp);
                                } else if (profession.attack != 0) {
    
    //角色受到物理攻击
                                    professionNowHp = profession.healthValue - enemy.attack + profession.armor;
                                    profession.healthValue = professionNowHp;
                                    System.out.println("角色现在剩下HP:" + professionNowHp);
                                }
                                if (enemyNowHp <= 0) {
    
    
                                    System.out.println("你取得了胜利!");
                                    i++;
                                    flag2 = false;
                                    break;
                                }
                                if (professionNowHp <= 0) {
    
    
                                    System.out.println("GAME OVER!");
                                    flag2 = false;
                                    flag1 = false;
                                    break gameA;
                                }


                            }
                            if (i % 5 == 0 && i != 0) {
    
    
                                profession.level++;
                                System.out.println("您的等级提升了!!   当前等级:" + profession.level);
                                playerDaWa.level = profession.level;
                                playerDaWa.attack = 10 + playerDaWa.skillLevel + (playerDaWa.level - 1);
                                playerDaWa.armor = 5 + playerDaWa.skillLevel + (playerDaWa.level - 1);
                                playerDaWa.magicResistance = 5 + playerDaWa.skillLevel + (playerDaWa.level - 1);
                                playerDaWa.healthValue = 100 + (playerDaWa.level - 1) * 10;
                                profession.attack = playerDaWa.attack;
                                profession.armor = playerDaWa.armor;
                                profession.magicResistance = playerDaWa.magicResistance;
                                profession.healthValue = playerDaWa.healthValue;
                            }
                            if (i % 6 == 0 && i != 0) {
    
    
                                profession.skillLevel++;
                                System.out.println("您的技能等级提升了!!   当前技能等级:" + profession.skillLevel);
                                playerDaWa.skillLevel = profession.skillLevel;
                                playerDaWa.attack = 10 + playerDaWa.skillLevel + (playerDaWa.level - 1);
                                playerDaWa.armor = 5 + playerDaWa.skillLevel + (playerDaWa.level - 1);
                                playerDaWa.magicResistance = 5 + playerDaWa.skillLevel + (playerDaWa.level - 1);
                                playerDaWa.healthValue = 100 + (playerDaWa.level - 1) * 10;
                                profession.attack = playerDaWa.attack;
                                profession.armor = playerDaWa.armor;
                                profession.magicResistance = playerDaWa.magicResistance;
                                profession.healthValue = playerDaWa.healthValue;
                            }
                        }
                        if (c == 2) {
    
    
                            System.out.println("你越跑发现后面怪物越多,你慢慢的体力不支,被怪物抓走了!游戏结束!");
                            break gameA;
                        }
                    }
                    break;
                case 2:
                    System.out.println("怪物在你回家的路上埋伏了你,你没了!游戏结束!");
                    break gameA;


                case 3:
                    System.out.println("剩余生命力:" + professionNowHp + "/" + profession.healthValue);
                    playerDaWa.print();
                    playerDaWa.showSkill();
                    break;
                case 4:
                    System.out.println("游戏结束,欢迎下次体验!");
                    System.out.println("如需体验完整版,请联系作者购买!");
                    break gameA;
            }

        }
        return i;
    }
}

Game类:

Game类用于补全游戏流程,使游戏进程不突兀

public class Game {
    
    

    public void content() {
    
    
        System.out.println("您辛勤耕耘,葫芦都长了出来,您将选择一个葫芦娃得到他的能力。请选择你中意的葫芦:");
        System.out.println("0:大娃 1:二娃 2:三娃 3:四娃 4:五娃 5:六娃 6:七娃 ");

        Fight fight = new Fight();
        Scanner scanner = new Scanner(System.in);
        int a = 0;
        for (; ; ) {
    
    
            a = scanner.nextInt();
            if (a >= 0 && a <= 6) {
    
    
                break;
            } else {
    
    
                System.out.println("您输入的指令不符合规范(0至6),请重新输入");
            }
        }

        if (a == 0) {
    
    
            System.out.println("您将得到大娃的力量,拯救这片土地!!!");
            System.out.println("您所选择的角色信息及基础属性为:");
            PlayerDaWa playerDaWa = new PlayerDaWa();
            Enemy chooseEnemy = new Enemy();
            playerDaWa.print();
            playerDaWa.showSkill();
            fight.fight(playerDaWa, chooseEnemy);

        } else if (a == 1) {
    
    
            System.out.println("您将得到二娃的力量,拯救这片土地!!!");
            System.out.println("您所选择的角色信息及基础属性为:");
            PlayerErWa playerErWa = new PlayerErWa();
            playerErWa.print();
            playerErWa.showSkill();
            System.out.println("此角色为付费体验角色,当前版本为试玩免费版,不提供该角色。如需体验请联系作者另行付费购买!");
            return;
        } else if (a == 2) {
    
    
            System.out.println("您将得到三娃的力量,拯救这片土地!!!");
            System.out.println("您所选择的角色信息及基础属性为:");
            PlayerSanWa playerSanWa = new PlayerSanWa();
            playerSanWa.print();
            playerSanWa.showSkill();
            System.out.println("此角色为付费体验角色,当前版本为试玩免费版,不提供该角色。如需体验请联系作者另行付费购买!");
            return;
        } else if (a == 3) {
    
    
            System.out.println("您将得到四娃的力量,拯救这片土地!!!");
            System.out.println("您所选择的角色信息及基础属性为:");
            PlayerSiWa playerSiWa = new PlayerSiWa();
            playerSiWa.print();
            playerSiWa.showSkill();
            System.out.println("此角色为付费体验角色,当前版本为试玩免费版,不提供该角色。如需体验请联系作者另行付费购买!");
            return;
        } else if (a == 4) {
    
    
            System.out.println("您将得到五娃的力量,拯救这片土地!!!");
            System.out.println("您所选择的角色信息及基础属性为:");
            PlayerWuWa playerWuWa = new PlayerWuWa();
            playerWuWa.print();
            playerWuWa.showSkill();
            System.out.println("此角色为付费体验角色,当前版本为试玩免费版,不提供该角色。如需体验请联系作者另行付费购买!");
            return;
        } else if (a == 5) {
    
    
            System.out.println("您将得到六娃的力量,拯救这片土地!!!");
            System.out.println("您所选择的角色信息及基础属性为:");
            PlayerLiuWa playerLiuWa = new PlayerLiuWa();
            playerLiuWa.print();
            playerLiuWa.showSkill();
            System.out.println("此角色为付费体验角色,当前版本为试玩免费版,不提供该角色。如需体验请联系作者另行付费购买!");
            return;
        } else if (a == 6) {
    
    
            System.out.println("您将得到七娃的力量,拯救这片土地!!!");
            System.out.println("您所选择的角色信息及基础属性为:");
            PlayerQiWa playerQiWa = new PlayerQiWa();
            playerQiWa.print();
            playerQiWa.showSkill();
            System.out.println("此角色为付费体验角色,当前版本为试玩免费版,不提供该角色。如需体验请联系作者另行付费购买!");
            return;
        } else {
    
    
            System.out.println("输入数字有误!");
            System.out.println("会不会玩?不会玩就回家种地!");
            return;
        }
    }


    public Enemy chooseMap() {
    
    
        System.out.println("请选择地图:");
        System.out.println("1:奇香谷  2:妖雾阵   3:挑战最终BOSS");
        Scanner scanner = new Scanner(System.in);
        int x = scanner.nextInt();
        Map map = new Map();
        if (x == 1) {
    
    
            System.out.println("奇香谷里有:1:蛤蟆 2:老鼠 3:蜈蚣,你的选择是:");
            Enemy chooseEnemy = map.qiXiangGu(scanner.nextInt());
            chooseEnemy.toString();
            return chooseEnemy;
        } else if (x == 2) {
    
    
            System.out.println("妖雾阵里有:1:蛤蟆头目 2:老鼠头目 3:蜈蚣头目,你的选择是:");
            Enemy chooseEnemy = map.yaoWuZhen(scanner.nextInt());
            chooseEnemy.toString();
            return chooseEnemy;
        } else if (x == 3) {
    
    
            System.out.println("最终BOSS有:1:青蛇精 2:蝎子大王,你的选择是:");
            Enemy chooseEnemy = map.bossPlace(scanner.nextInt());
            chooseEnemy.toString();
            return chooseEnemy;
        } else
            System.out.println("输入有误!");
        return null;
    }
}

前言(Preface)类:

最后添加了一个Preface类,该类让玩家有一个了解故事剧情的时间,也让玩家有轻松游戏的感觉
这个流程是我自己添加的,因为玩的游戏比较多,想要折磨一下其他游戏玩家(偷笑),不想要该流程可以直接在Play类中将preface.begin();这串代码删除即可

public class Preface {
    
    

    public boolean flag = false;
    public String gamerName;

    public void begin() {
    
    
        Scanner scanner = new Scanner(System.in);
        System.out.println("你是一个居住在深山,靠采药维持生计的老人,你的名字是:");
        gamerName = scanner.next();
        System.out.println(gamerName + ",今天是一个好日子,你躺在床上看着空荡荡的房间,你在想:今天要不要去采药呢?");
        System.out.println("                                                 |");
        System.out.println("                                                ( )");
        System.out.println("                                               (   )");
        System.out.println("                                             /  ̄ ̄ \");
        System.out.println("/`````````````````````````````````````\    |ー ー   \");
        System.out.println("| 1.天气那么好,是个采药的好日子!上山!干活! |    |◉ ◉    | ");
        System.out.println("| 2.天气那么好,爷要好好在家休息一天!        >    \ ▱ イ /");
        System.out.println("\3.这么大年纪,还没个老伴儿,下山去村里逛逛! |       イ");
        System.out.println(" \                                   /     /    \ ");
        System.out.println("  ```````````````````````````````````/   你 | \");
        System.out.println("                                           | |  本 |  |");
        System.out.println("                                           ||   人 |  |");
        int choice1 = scanner.nextInt();
        if (choice1 == 1) {
    
    
            System.out.println("你无意中进入了一个山洞,山洞的洞口坍塌了,在寻找出路时,你看到了一只穿山甲被困住了!");
            System.out.println("1.救他     2.今天算是开了荤了(抓回去吃)    3.穿山甲都被困住了,我一把老骨头我也顶不住,溜了溜了!");
            int choice2 = scanner.nextInt();
            if (choice2 == 1) {
    
    
                System.out.println("   /\");
                System.out.println("  // \");
                System.out.println(" ///  \");
                System.out.println("///    \");
                System.out.println("| ||ー  ー \  /````````````````````````````````\");
                System.out.println("| || ◉ ◉ |   | 不好意思,我把山给钻穿了,放出两个很离谱|");
                System.out.println("\\\  ▱ / ∠   的妖怪,你要拿着宝葫芦籽,种出葫芦娃,才|");
                System.out.println(" \\\  イ    | 能拯救这片山脉!                    | ");
                System.out.println(" /// 穿 \   \1.把穿山甲埋回去  2.收起葫芦籽       /");
                System.out.println("///| 山  \   `````````````````````````````````");
                System.out.println("| | |  甲  ||");
                System.out.println("| | |     | |");
                int choice3 = scanner.nextInt();
                if (choice3 == 1) {
    
    
                    System.out.println("你做了错误的选择,穿山甲死了,你找不到出口,死在了洞中!");
                } else if (choice3 == 2) {
    
    
                    System.out.println("   /\");
                    System.out.println("  // \");
                    System.out.println(" ///  \");
                    System.out.println("///    \");
                    System.out.println("| ||ー  ー \  /````````````````````````````````\");
                    System.out.println("| || ◉ ◉ |   |   勇 敢 的 少 …… 老 头 啊 !        |");
                    System.out.println("\\\  ▱ / ∠                                     |");
                    System.out.println(" \\\  イ    |   快  去  拯  救  世  界  !        | ");
                    System.out.println(" /// 穿 \   \                                 /");
                    System.out.println("///| 山  \   `````````````````````````````````");
                    System.out.println("| | |  甲  ||");
                    System.out.println("| | |     | |");
                    System.out.println("穿山甲带你逃出了山洞,你回到了自己的家,故事也就此开始~");
                    flag = true;
                } else {
    
    
                    System.out.println("不会选就别选,就你想法花里胡哨的!");
                }
            } else if (choice2 == 2) {
    
    
                System.out.println("   /\");
                System.out.println("  // \");
                System.out.println(" ///  \");
                System.out.println("///    \");
                System.out.println("| || 乀 √ \  /````````````````````````````````\");
                System.out.println("| || ◉ ◉ |   |   我 可 是 国 家 一 级 保 护 动 物 ! |");
                System.out.println("\\ / 皿\/ ∠                                     |");
                System.out.println(" \\\  イ    |      你 就 等 着 吃 牢 饭 吧  !     | ");
                System.out.println(" /// 穿 \   \                                 /");
                System.out.println("///| 山  \   `````````````````````````````````");
                System.out.println("| | |  甲  ||");
                System.out.println("| | |     | |");
                System.out.println("穿山甲是国家一级保护动物,你被抓进了局子里!");
            } else if (choice2 == 3) {
    
    
                System.out.println("果然不出你所料,穿山甲都穿不过的山,你当然也穿不过,一番挣扎后,你被困死在山洞中!");
            } else {
    
    
                System.out.println("不会选就别选,就你想法花里胡哨的!");
            }
        } else if (choice1 == 2) {
    
    
            System.out.println("离家不远的七彩葫芦山不知道被哪个愣头青钻穿了,两只妖怪被放了出来,你被妖怪抓去吃了!");
        } else if (choice1 == 3) {
    
    
            System.out.println("你在村里找到了真爱,在村里定居了下来!后来听说之前住的地方不知道被什么妖怪占了山头,方圆几里再没有活人!");
        } else {
    
    
            System.out.println("不会选就别选,就你想法花里胡哨的!");
        }
    }
}

主(Play)类:

public class Play {
    
    
    public static void main(String[] args) {
    
    
        System.out.println("Loading......");
        System.out.println("  ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤");
        System.out.println("❤ 抵制不良游戏,拒绝盗版游戏。 ❤");
        System.out.println("❤ 注意自我保护,谨防受骗上当。 ❤");
        System.out.println("❤ 适度游戏益脑,沉迷游戏伤身。 ❤");
        System.out.println("❤ 合理安排时间,享受健康生活。 ❤");
        System.out.println("  ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤");
        Preface preface = new Preface();
        Game game = new Game();
        preface.begin();
        if (preface.flag == true) {
    
    
            game.content();
        }
    }
}

因为时间紧张,而且是第一次制作该类项目,导致多次出错,所以没有将所有角色内容制作完全。项目中也有很多问题没有解决,后续若有时间会慢慢补全后续内容以及修改错误,达到优化游戏效果的目的。

猜你喜欢

转载自blog.csdn.net/weixin_43950569/article/details/115001668