一个未完成的文字rpg打怪小游戏。。。(难得写点东西)

最近要写一个这个嘛
虽然是有小组大家一起写
我还是先自己单打写了一个
写着写着就尬住了(这个版本升级上有问题)
感觉学到的知识自己还是用不上 只是看得懂罢了

玩家类

mport java.util.Scanner;

public  class Player {
     String name;
     int HP;
     int MP;
     int actualLife;
     int level;
     int attackDamage;
     int abilityPower;
     int exp;
     boolean isLive;

     public Player(int i) {
         switch (i) {
             case 1: {
                 this.name = "嘉禾";
                 this.HP = 100;
                 this.MP = 50;
                 this.isLive = true;
                 this.attackDamage = 20;
                 this.abilityPower =50;
                 this.actualLife = HP;
                 this.exp = 0;
                 this.level = 1;
             }
             break;
             case 2: {
                 this.name = "遥";
                 this.HP = 100;
                 this.MP = 50;
                 this.isLive = true;
                 this.attackDamage = 55;
                 this.abilityPower = 0;
                 this.actualLife = HP;
                 this.exp = 0;
                 this.level = 1;
             }
             break;
             case 3: {
                 this.name = "文犇";
                 this.HP = 100;
                 this.MP = 50;
                 this.isLive = true;
                 this.attackDamage = 40;
                 this.abilityPower = 40;
                 this.actualLife = HP;
                 this.exp = 0;
                 this.level = 1;
             }
             case 4: {
                 this.name = "凯";
                 this.HP = 100;
                 this.MP = 50;
                 this.isLive = true;
                 this.attackDamage = 3000;
                 this.abilityPower = 0;
                 this.actualLife = HP;
                 this.exp = 0;
                 this.level = 1;

             }
             case 5: {
                 this.name = "阿臣";
                 this.HP = 100;
                 this.MP = 50;
                 this.isLive = true;
                 this.attackDamage = 3000;
                 this.abilityPower = 0;
                 this.actualLife = HP;
                 this.exp = 0;
                 this.level = 1;

             }
             break;
         }
         System.out.println("选择的角色是"+this.name);
         System.out.println("初始生命值"+this.HP);
         System.out.println("初始蓝量"+this.MP);
         System.out.println("存活状态"+this.isLive);
         System.out.println("物理攻击值"+this.attackDamage);
         System.out.println("魔法攻击值"+this.abilityPower);

         System.out.println("当前经验值"+this.exp);
         System.out.println("当前等级"+this.level);
     }

上来是五种角色可供选择

然后是角色升级属性提升

public void leveup(){
         if (this.name.equals("嘉禾")){
             this.HP=this.HP+10;
             this.MP=this.MP+10;
             this.attackDamage=this.attackDamage+2;
             this.attackDamage=this.attackDamage+4;
         }
         if (this.name.equals("遥")){
             this.HP=this.HP+20;
             this.MP=this.MP+3;
             this.attackDamage=this.attackDamage+4;
             this.attackDamage=this.attackDamage;
         }
         if (this.name.equals("文犇")){
             this.HP=this.HP+10;
             this.MP=this.MP+10;
             this.attackDamage=this.attackDamage+3;
             this.attackDamage=this.attackDamage+3;
         }
         if (this.name.equals("凯")){
             this.HP=this.HP+8;
             this.MP=this.MP+12;
             this.attackDamage=this.attackDamage+2;
             this.attackDamage=this.attackDamage+3;
         }
         if (this.name.equals("阿臣")){
             this.HP=this.HP+8;
             this.MP=this.MP+10;
             this.attackDamage=this.attackDamage+2;
             this.attackDamage=this.attackDamage+4;
         }
     }


然后是战斗判定 如果战斗结束经验足够直接再转到升级判定

 public void fightdecide(){//战斗判定
if (actualLife<=0){
return;
}else{
    fight();
}
     }


     public void fight() {
         Scanner decide = new Scanner(System.in);
         System.out.println("输入角色编号");
         int a = decide.nextInt();//输入角色编号
         System.out.println("输入怪物编号");
         int c = decide.nextInt();//输入怪物编号
         Moster m2 = new Moster(c);
         Player p1 = new Player(a);
         System.out.println("你遭遇了:"+m2.name);
         p1.actualLife = p1.HP;
         m2.actualLife = m2.HP;
         for (int i = 1;i<=99;i++) {
             System.out.println("1普攻");
             int b = decide.nextInt();
             if (b == 1) {
                 System.out.println("进行普通攻击");
                 p1.actualLife = p1.actualLife - m2.attackDamage;
                 m2.actualLife = m2.actualLife - p1.attackDamage;
                 System.out.println("你的当前生命值:" + p1.actualLife);
                 System.out.println("怪物的当前生命值:" + m2.actualLife);

             }
             if (b == 2) {
                 System.out.println("进行技能释放");
             }
             if (p1.actualLife<=0){
                 System.out.println("战斗结束,您已死亡!!!");
                 break;
             }
             if (m2.actualLife<=0){
                 System.out.println("战斗结束,您击败了怪物!!!");
                 p1.exp= p1.exp+m2.giveexp;
                 break;
             }
             if (p1.exp>=p1.level*200){
                 p1.level++;
                 leveup();
             }
         }
     }

     public void regeneration(){//恢复血量方法
         this.actualLife=this.HP;
     }
 }

然后是怪物类

这就没啥好看的了 就是一些属性和数值罢了

public class Moster {
    String name;
    int HP;
    int MP;
    int actualLife;
    int level;
    int attackDamage;
    int giveexp;


    public Moster(int i) {
        switch (i) {
            case 1: {
                this.name = "被感染的普通人";
                this.HP = 20;
                this.attackDamage = 20;
                this.actualLife = HP;
                this.giveexp = 40;
                this.level = 2;
            }
            break;
            case 2: {
                this.name = "被感染的凶兽";
                this.HP = 50;
                this.attackDamage = 30;
                this.actualLife = HP;
                this.giveexp = 80;
                this.level = 5;
            }
            break;
            case 3: {
                this.name = "魔界士兵";
                this.HP = 100;
                this.attackDamage = 40;
                this.actualLife = HP;
                this.giveexp = 200;
                this.level = 10;
            }
            case 4: {
                this.name = "魔界统领";
                this.HP = 200;
                this.MP = 50;
                this.attackDamage = 80;
                this.actualLife = HP;
                this.giveexp = 1000;
                this.level = 30;

            }
            case 5: {
                this.name = "逆天魔王";
                this.HP = 100;
                this.MP = 50;
                this.attackDamage = 200;
                this.actualLife = HP;
                this.giveexp = 9999;
                this.level = 50;
            }
            break;
        }
    }
}

最后是游戏主方法

import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("        天玄历1778年\n" +
                "大陆本源被上界神秘人物击碎,部分本源被带走,大路四分五裂。原本充裕的灵气\n相较原来变的稀薄。各大势力都纷纷派出弟子外出历练,应对未来可能发生的大劫。\n" +
                "\n" +
                "西玄域是一个无尽的海域,遍布着大小岛屿。人们都靠船只来往交易。但是在海域\n深处,有一个被世人认为是禁忌的岛屿。没有人接近过那片岛,曾经有人远远听见岛\n上传来的龙吟。而散布在岛四周的来自龙族的血脉威压,让人无法靠近。如今,岛上\n却走出了一个少年,掌心有一个暗红色的龙族印记看似毫无修为,却绝对让人无法轻视。\n" +
                "\n" +
                "北玄域有着很多的人类修炼者,当然也充斥着妖兽。人类为了抵御来自妖兽的冲击,\n开宗立派,传承道法。其中,藏剑山庄当属北玄域第一大势力。相传数年前,藏剑\n山庄庄主喜得一子,却从未传出有此子修为进升的消息。而在藏剑山庄的一出禁地内,\n一个眼神坚毅的少年破关而出。从小被各种天材地宝锻骨洗髓的他,如今\n剑体终于小成,向父亲告别,一个人开始了未知的冒险。\n" +
                "\n" +
                "东玄域是五域内最为繁华的一域。豪杰辈出,同时也龙蛇混杂。红花会是东玄域最\n大的情报组织。势力遍布整个大路,传承数百年。18年前,在荒凉山间有一弃子被红\n花会长收养。谁也没想到,一手创建红花会的竟然是一个女子。这个孩子被她悉心培养,\n红花会从全大陆搜集到的各种秘术他都可以随意翻阅。这一天,一个带着面纱的红衣\n女子走进了他的院子。“娘,您怎么来了”只见少年随手一挥,厅内的茶壶便将玉杯满上,\n玉杯凭空飘到了女子面前。“阿臣你这控物的手法越发熟练了,你跟在娘身边这么多年,也该出去历练一番了”\n" +
                "\n" +
                "南玄域气候多变,地形复杂。山林,沼泽,大漠之内都有着人类修炼者的足迹。唐\n门,是传承数代的武学世家。悄无声息却又杀伤力巨大的暗器,解药难寻的剧毒,让\n人防不胜防的机关,让南玄域的修炼者都不敢轻易的招惹唐门弟子。唐门弟子行事诡秘,\n行为飘忽,让人感觉亦正亦邪,捉摸不透。这一天,一个单名为凯的少年,来到了\n南玄第一大城—南玄城。走在人来人往的街上,鲜有高手能认出他衣服上的唐门标志。\n" +
                "\n" +
                "而在中玄域,到处暗藏着空间乱流,规则属性混乱。当初神秘人物便是夺走了中玄\n域的本源,隐藏在中玄域之下的魔界封印被破开,魔气四溢。普通人被魔气感染便会\n直接魔化。而修炼者也需要花大量元气才能抵御魔气侵蚀。因此中玄域的各个宗门都迁到\n了其他大路。在一处本就人迹罕至的山谷内,一个少年完全不惧谷底散溢的魔气,\n在此修炼。可以看到他左眼内的黑色魔气和右眼内的清澈灵气形成了鲜明对比。而在谷口,\n有一巨大石碑上写了绝情二字。是大陆本源消失导致了封印破坏让这块从上古沉寂至今的山谷重现于世。");

        System.out.println("");
        System.out.println("");
        System.out.println("请挑选您的角色: 1   中玄域    绝情谷   嘉禾 ");
        System.out.println("             2   北玄域    藏剑山   遥 ");
        System.out.println("             3   西玄域    神龙岛   文犇 ");
        System.out.println("             4   南玄域    唐门     凯 ");
        System.out.println("             5   东玄域    红花会   阿臣");

        int a = sc.nextInt();
        Player p1 = new Player(a);
        for (int i = 0 ;i<=999;i++) {
            System.out.println("请选择您需要的操作:1 遭遇怪物, 2 打坐回复 ");
            int b = sc.nextInt();
            if (b == 1) {
                p1.fightdecide();
            }
            if (b == 2) {
                p1.regeneration();
            }
            if (p1.level==60){
                break;
            }
        }
    }
}

没啥亮点 就是小组当时决定一个人一人当一个角色
然后忽然让我写一个故事背景
一开写我就来劲了 写的有点长
不过上了大学之后 真的很少自己写东西了 也就高中还能经常在写作文的时候写写散文小说什么的
上了大学 生活仿佛与文学无关了 有一说一 自己用故事表达感情 或者表达一个主旨 还是很有意思的

以下是那天一个小时写的故事背景

天玄历1778年
大陆本源被上界神秘人物击碎,部分本源被带走,大路四分五裂。原本充裕的灵气相较原来变的稀薄。各大势力都纷纷派出弟子外出历练,应对未来可能发生的大劫。

西玄域是一个无尽的海域,遍布着大小岛屿。人们都靠船只来往交易。但是在海域深处,有一个被世人认为是禁忌的岛屿。没有人接近过那片岛,曾经有人远远听见岛上传来的龙吟。而散布在岛四周的来自龙族的血脉威压,让人无法靠近。如今,岛上却走出了一个少年,掌心有一个暗红色的龙族印记看似毫无修为,却绝对让人无法轻视。

北玄域有着很多的人类修炼者,当然也充斥着妖兽。人类为了抵御来自妖兽的冲击,开宗立派,传承道法。其中,藏剑山庄当属北玄域第一大势力。相传数年前,藏剑山庄庄主喜得一子,却从未传出有此子修为进升的消息。而在藏剑山庄的一出禁地内,一个眼神坚毅的少年破关而出。从小被各种天材地宝锻骨洗髓的他,如今剑体终于小成,向父亲告别,一个人开始了未知的冒险。

东玄域是五域内最为繁华的一域。豪杰辈出,同时也龙蛇混杂。红花会是东玄域最大的情报组织。势力遍布整个大路,传承数百年。18年前,在荒凉山间有一弃子被红花会长收养。谁也没想到,一手创建红花会的竟然是一个女子。这个孩子被她悉心培养,红花会从全大陆搜集到的各种秘术他都可以随意翻阅。这一天,一个带着面纱的红衣女子走进了他的院子。“娘,您怎么来了”只见少年随手一挥,厅内的茶壶便将玉杯满上,玉杯凭空飘到了女子面前。“阿臣你这控物的手法越发熟练了,你跟在娘身边这么多年,也该出去历练一番了”

南玄域气候多变,地形复杂。山林,沼泽,大漠之内都有着人类修炼者的足迹。唐门,是传承数代的武学世家。悄无声息却又杀伤力巨大的暗器,解药难寻的剧毒,让人防不胜防的机关,让南玄域的修炼者都不敢轻易的招惹唐门弟子。唐门弟子行事诡秘,行为飘忽,让人感觉亦正亦邪,捉摸不透。这一天,一个单名为凯的少年,来到了南玄第一大城—南玄城。走在人来人往的街上,鲜有高手能认出他衣服上的唐门标志。

而在中玄域,到处暗藏着空间乱流,规则属性混乱。当初神秘人物便是夺走了中玄域的本源,隐藏在中玄域之下的魔界封印被破开,魔气四溢。普通人被魔气感染便会直接魔化。而修炼者也需要花大量元气才能抵御魔气侵蚀。因此中玄域的各个宗门都迁到了其他大路。在一处本就人迹罕至的山谷内,一个少年完全不惧谷底散溢的魔气,在此修炼。可以看到他左眼内的黑色魔气和右眼内的清澈灵气形成了鲜明对比。而在谷口,有一巨大石碑上写了绝情二字。是大陆本源消失导致了封印破坏让这块从上古沉寂至今的山谷重现于世。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值