Java小小RPG游戏第四版(基于第三版优化)

来源:互联网 发布:淘宝药店提交需求后 编辑:程序博客网 时间:2024/06/07 04:59
package com.game.huntervsmonster03;public class Hunter{String name;int maxLife;int actualLife;int level;int attack;int defend;int experience;String weapon;boolean isLive;public Hunter(int i){switch (i){case 1:{this.name = "李逍遥";this.attack = 100;this.defend = 40;this.isLive = true;this.maxLife = 200;this.weapon = "无尘剑";this.actualLife = maxLife;this.experience = 0;this.level = 1;}break;case 2:{this.name = "景天";this.attack = 500;this.defend = 200;this.isLive = true;this.maxLife = 1000;this.weapon = "魔剑";this.actualLife = maxLife;this.experience = 0;this.level = 1;}break;case 3:{this.name = "孙悟空";this.attack = 1000;this.defend = 400;this.isLive = true;this.maxLife = 3000;this.weapon = "金箍棒";this.actualLife = maxLife;this.experience = 0;this.level = 1;}break;}}void fight(Monster monster){if (!isLive){return;}monster.injured(this);}void injured(Monster monster){if (monster.attack >= this.defend)this.actualLife = this.actualLife - (monster.attack - this.defend);if (this.actualLife <= 0){this.dead();return;}this.show();this.fight(monster);}void dead(){this.isLive = false;}void changeExperience(Monster moster){this.experience += moster.experience;while (this.experience >= (this.level * 200)){upgrade();}}void upgrade(){this.level += 1;this.attack *= 1.2;this.defend *= 1.2;this.actualLife = (int) (this.maxLife * 1.2);this.maxLife *= 1.2;System.out.println(this.name + ":" + this.level);}void show(){if (this.isLive)System.out.println(this.name + "还有" + this.actualLife + "点血");else{System.out.println(this.name + "壮烈牺牲了!");return;}}}

package com.game.huntervsmonster03;public class Monster{String type;int maxLife;int actualLife;boolean isLive;int attack;int defend;int experience;public Monster(int i){switch (i){case 1:{this.type = "小僵尸";this.attack = 80;this.defend = 20;this.isLive = true;this.maxLife = 200;this.actualLife = maxLife;this.experience = 100;}break;case 2:{this.type = "大僵尸";this.attack = 130;this.defend = 50;this.isLive = true;this.maxLife = 500;this.actualLife = maxLife;this.experience = 200;}break;case 3:{this.type = "僵尸老大";this.attack = 200;this.defend = 90;this.isLive = true;this.maxLife = 1000;this.actualLife = maxLife;this.experience = 300;}break;case 4:{this.type = "小鬼";this.attack = 210;this.defend = 100;this.isLive = true;this.maxLife = 1200;this.actualLife = maxLife;this.experience = 320;}break;case 5:{this.type = "老鬼";this.attack = 350;this.defend = 150;this.isLive = true;this.maxLife = 2000;this.actualLife = maxLife;this.experience = 400;}break;case 6:{this.type = "火鬼王";this.attack = 500;this.defend = 200;this.isLive = true;this.maxLife = 5000;this.actualLife = maxLife;this.experience = 500;}break;case 7:{this.type = "黑无常";this.attack = 600;this.defend = 250;this.isLive = true;this.maxLife = 8000;this.actualLife = maxLife;this.experience = 800;}break;case 8:{this.type = "白无常";this.attack = 600;this.defend = 250;this.isLive = true;this.maxLife = 8000;this.actualLife = maxLife;this.experience = 800;}break;case 9:{this.type = "阎王";this.attack = 900;this.defend = 300;this.isLive = true;this.maxLife = 10000;this.actualLife = maxLife;this.experience = 1000;}break;}}public void fight(Hunter hunter){if (!isLive){return;}hunter.injured(this);}public void injured(Hunter hunter){if (hunter.attack >= this.defend)this.actualLife = this.actualLife - (hunter.attack - this.defend);if (this.actualLife <= 0){this.dead(hunter);return;}this.show();this.fight(hunter);}void dead(Hunter hunter){this.isLive = false;hunter.changeExperience(this);}void show(){if (this.isLive)System.out.println(this.type + "还有" + this.actualLife + "点血");elseSystem.out.println(this.type + "被杀死了!");}}

package com.game.huntervsmonster03;public class TestGme{static int i;public static void main(String[] args){Hunter hunter = new Hunter(3);for (i = 1; i < 10; i++){Monster monster = new Monster(i);System.out.println(hunter.name + "VS" + monster.type);hunter.fight(monster);System.out.println("战斗结束");// monster.show();hunter.show();if (!hunter.isLive){return;}}}}


原创粉丝点击