第一次以小组的方式讨论制作一个比较有意思的小项目
初期设计的时候想要实现的内容有点多,导致后来搁浅了很多内容
部分系统设计比较简陋,算是给以后制作这类项目埋下一个伏笔,希望以后再制作这类项目时能提高完成度和小组配合度。
下面是代码部分:
技能(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();
}
}
}
因为时间紧张,而且是第一次制作该类项目,导致多次出错,所以没有将所有角色内容制作完全。项目中也有很多问题没有解决,后续若有时间会慢慢补全后续内容以及修改错误,达到优化游戏效果的目的。