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

玩家类

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年前,在荒凉山间有一弃子被红花会长收养。谁也没想到,一手创建红花会的竟然是一个女子。这个孩子被她悉心培养,红花会从全大陆搜集到的各种秘术他都可以随意翻阅。这一天,一个带着面纱的红衣女子走进了他的院子。“娘,您怎么来了”只见少年随手一挥,厅内的茶壶便将玉杯满上,玉杯凭空飘到了女子面前。“阿臣你这控物的手法越发熟练了,你跟在娘身边这么多年,也该出去历练一番了”

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

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

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

  1. 使用Dart/Flutter语言开发的命令行文字RPG类型小游戏

    使用Dart/Flutter语言开发的命令行文字RPG类型小游戏 项目源码:https://gitee.com/FantasyWind/word_game 介绍 项目背景 本项目为使用Dart/Flu ...

  2. C++RPG打怪小游戏

    yee~ 我是yanxinchenji, 大家心心念念的武器技能,它来啦!!! 本次更新主要更新武器技能与防沉迷系统(? 还有一些剧情与玩家水分与饥饿度 具体有哪些请大家到游戏中体验吧! /*末日之战 ...

  3. Java控制台游戏~600行代码实现打怪小游戏

    Java控制台游戏~600行代码实现打怪小游戏(多图预警) 一,先放个启动界面(一些英雄,怪物技能介绍跟装备属性都写在里边): 二,在这个简单的小游戏里,你可以体验到: 1.打怪: 2.随机玩法寻宝: ...

  4. 用C++语言写游戏——打怪小游戏

    想玩游戏吗? 就到某位神犇这来吧! 这会告诉你很多游戏写法! 今天,神犇就开始书写第二期--打怪小游戏!!! 很容易,只需要用脑袋想想即可,READY--GO! 我也希望大家多多捧场哦~~~ 有一点点 ...

  5. 从零开始写C++打怪小游戏(1)

    大家好呀,我是yanxinchenji 最近开学了,作业有点多,停更了一段时间 当然,就算是开学,也抵挡不住我更新的激情!! 所以,我想教大家写一个c++的打怪游戏!!无缝剪辑 话不多说,我们开始吧! ...

  6. C++自创打怪小游戏

    大家好,我是yanxinchenji 第一次发博客有点紧张 我前几天写了个打怪小游戏 想发博客上给大家看看 有什么bug欢迎在评论区提出(毕竟这还是个测试版 也可以加我微信:yanxinchenjic ...

  7. 一个简单的五子连珠小游戏

    一个简单的五子连珠小游戏 程序目的:设计一个五子连珠小游戏 1,棋盘大小是9X9 2,初始状态棋盘上随机分布着7个不同色的棋子. 3,当同色的棋子有5颗连在一起排成横向.纵向或者斜向时,游戏者可以得1 ...

  8. Python打怪小游戏

    Python打怪小游戏 1.怪兽池中有若干种怪兽: monsters_pool = ['火柴鼠', '瞌睡熊', '板牙狸', '博学企鹅', '绅士企鹅', '漂浮龟', '皮皮', '贪玩虎', ...

  9. 利用python做一个小游戏_如何使用python做一个简单的猜数字的小游戏

    1 首先小编先打开IDLE,如下图: 2 然后这里点击菜单栏的'File',然后点击菜单"New File",如下图: 3 然后我们就在idle中新建了一个python文件,如下图 ...

最新文章

  1. Python-高阶函数
  2. MacBook创建docker私有仓库docker server gave HTTP response to HTTPS client 问题处理办法
  3. Java描述设计模式(13):迭代器模式
  4. PTA6、输出10个不重复的英文字母 (10 分)
  5. mysql join不加关联条件的含义
  6. 2020年天津市二级分类土地利用数据(矢量)
  7. linux 命令:chmod详解
  8. 深度学习——day8 读论文(2022 硕士毕业论文)大规模车辆路径问题的深度强化学习算法研究
  9. stm32码盘传感器_STM32电机测速(正交或者霍尔编码器)
  10. 【打印机】连接共享打印机找不到网络路径解决方案
  11. android o壁纸,超实用壁纸应用大合集 - 你想要的壁纸在这里统统都能找到! - Android 应用 - 【最美应用】...
  12. vb.net 教程 20-3 控制Ie浏览器 2 获得Ie窗口的结构
  13. windows10 插入耳机无弹出,无声音,提示扬声器、耳机未插入
  14. ATeam社区(牛客网项目第七章)
  15. (数学)POJ - 1365 Prime Land
  16. Androd studio + MUMU模拟器
  17. 哈工大软件构造期末知识点总结
  18. android音乐播放器实现,Android实现简单音乐播放器(MediaPlayer)
  19. fafa什么意思_Fafa是什么意思
  20. LaTex排版时track changes

热门文章

  1. 六、MSP432飞控软件框架分析
  2. 如何为运输中的快递添加包裹备注
  3. IBM APPSCAN 使用学习
  4. vue百度地图API、获取当前经纬度以及地理位置
  5. 如何在K8S中创建一个自定义Controller?
  6. 通过svg可以转换成iconfont字体图标
  7. dumping计算机英语,计算机英语 IT专业英语词典 3
  8. IP画像中的重要维度——IP周边
  9. [分形几何] 1.3 Koch曲线python可视化
  10. Python汽车管理系统源码