很简陋,没有图,请见谅
cpp
// mine[0] = 级数
// mine[1] = 战力
//mine[2] = 1 == 白虎
//mine[2] = 2 == 昊天锤
//mine[2] = 3 == 蓝银草
#include <bits/stdc++.h>
using namespace std;
int mine[100],live=3, dou = 1, luo = 1, da = 1, bag[1000], huan = 0, liang = 30;
long long huannian[100];
void jianjie() {
cout << "这里没有魔法,没有武术,却有神奇的武魂。" << endl;
cout << "这里的每个人在6岁的时候,都会在武魂殿中在魂师的帮助下进行武魂觉醒。" << endl;
cout << "武魂有动物,有植物,有器物,武魂可以辅助人们的日常生活,有特殊天赋的人可以用之修炼并进行战斗。" << endl;
cout << "有武魂且可以修炼而且级数在10级以上的被称为魂师。每个人都有级数,总共是1~100级,而每一个级数段位都有一个称号。" << endl;
cout << "而1~9级是魂士;10~19级是魂师;20~29级是大魂师;30~39级是魂尊;40~49级是魂宗;50~59级是魂王;60~69级是魂帝;70~79级是魂圣;80~89级是魂斗罗;90~99级是封号斗罗。" << endl;
cout << "封号斗罗又可分为90~94级普通封号斗罗,95~98级超级斗罗,99级极限斗罗" << endl;
cout << "而且,每10级又可以吸收一个魂环,魂环等级又分为:" << endl;
cout << "1,十年魂环(白色):任何魂士都可以吸入,最常见的魂环,也是最低级的,有条件的魂师都不会选择吸入这种魂环,拥有一个技能。" << endl;
cout << "2,百年魂环(黄色):魂士可以吸入423年以下,魂师可以吸入764年以下,较为稀有,拥有一个技能。" << endl;
cout << "3,千年魂环(紫色):魂尊可以吸收1760年以下,魂宗可以吸收5000年以下,较为罕见,拥有一个技能。" << endl;
cout << "4,万年魂环(黑色):魂王可以吸入12000年以下,魂帝可以吸收20000年以下,魂圣可以吸收50000年以下,魂斗罗可以吸收所有万年魂环,极为罕见!拥有一个技能。" << endl;
cout << "5,十万年魂环(红色):封号斗罗级,极致武魂或体质的原因才能吸入,拥有一个技能。" << endl;
cout << "若超过吸收年限则是越级吸收,越级吸收过程中极其痛苦,失败了就会爆体而亡!" << endl;
_sleep(1 * 2000);
cout << endl;
}
int sui(int n, int m) {
random_device rd;
mt19937 reng(rd());
uniform_int_distribution<int> sum(n, m);
return sum(reng);
}
int hunji() {
mine[2] += mine[0];
cout << "乱披风之舞" << endl;
if (huan >= 1) {
cout << "泰坦苍穹破" << endl;
cout << "重力沼泽" << endl;
}
cout << "抓" << endl;
if (huan >= 2) cout << "锤撼天地" << endl;
cout << "咬" << endl;
if (huan >= 3) cout << "旋风狂舞" << endl;
cout << "挠" << endl;
if (huan >= 4) cout << "邪神破" << endl;
cout << "毒液" << endl;
if (huan >= 5) cout << "绚烂之爆" << endl;
if (huan >= 6) cout << "大地蚁皇斩" << endl;
if (huan >= 7) cout << "昊天真身" << endl;
if (huan >= 8) cout << "千钧壁垒" << endl;
if (huan >= 9) cout << "大须弥锤" << endl;
if (huan >= 10) cout << "修罗结界" << endl;
}
int doupan() {
if (mine[1] > liang) {
cout << "胜利!" << endl;
mine[0] += 1;
da += 1;
liang += 100;
} else {
cout << "你输了" << endl;
live-=1;
cout << "生命-1";
cout << " 剩余生命" << live << endl;
}
return mine[100], da, liang,live;
}
void qianqingtiyao() {
cout << "你睁开了眼睛" << endl;
cout << "我";
cout << "这是要死了吗?" << endl;
cout << "不!!!" << endl;
cout << "我要活着!!!" << endl;
cout << "你又睁开了眼睛" << endl;
cout << "我";
cout << "这是在哪?" << endl;
cout << "斗罗世界的生存竞争" << endl;
cout << "拉开了序幕" << endl;
cout << endl;
}
int kaihun() {
_sleep(1*500);
int n1,wuhun;
n1 = sui(4, 10);
wuhun = 2;
int sdffs;
cout << "你随着杰克长老进行开魂" << endl;
cout << "你将手放在了上面" << endl;
cout << "请输入你想要的初始魂力:";
cout << "顿时,魂力球大放光彩" << endl;
_sleep(1*100);
cout << "你是" << n1 << "级的" << endl;
mine[0] = n1;
mine[1] = mine[0] * 34;
mine[2] = wuhun;
cout << "你的武魂竟是昊天锤" << endl;
cout << "你的目标是:";
cout << "达到500000" << endl;
return mine[100];
}
int thing() {
int num;
cout << endl;
cout << "战力:" << mine[1] << " 级数:" << mine[0] << endl;
cout << "--------------------事件-------------------" << endl;
cout << "[1]斗罗之路 [2]魂兽森林 [3]人物 [4]结束游戏" << endl;
cout << "您选择:";
cin >> num;
return num;
}
int duida(int douluodalu()) {
switch (da) {
case 1:
cout << " " << da << endl;
_sleep(1 * 5000);
hunji();
doupan();
break;
case 2:
cout << " " << da << endl;
_sleep(1 * 1000);
hunji();
doupan();
break;
case 3:
cout << " " << da << endl;
_sleep(1 * 1000);
douluodalu();
_sleep(1 * 1000);
hunji();
doupan();
if (da > 3) {
da = 1;
luo += 1;
}
if (luo > 3) {
luo = 1;
dou += 1;
}
break;
}
return da, luo;
}
int dou1luo1() {
cout << "看门人:你是什么人?" << endl;
cout << " 我是来上课的学生:唐三" << endl;
cout << "看门人:交钱,不交就给我滚开!" << endl;
cout << " 你别血口喷人,你看好了,这是我的邀请书:唐三" << endl;
cout << "看门人:假的吧?先过了我这一关再说!" << endl;
cout << " 来啊,谁怕谁:唐三" << endl;
}
int dou1luo2() {
cout << "原社长:你是什么人?" << endl;
cout << " 我是来住宿的学生:唐三" << endl;
cout << "原社长:看来又要打一架了。" << endl;
cout << " 什么意思:唐三" << endl;
cout << "原社长:我是社长,只要有新来的学生,我就要和他打一架!" << endl;
cout << " 我准备好了,开始吧:唐三" << endl;
}
int dou1luo3() {
cout << "小舞:我叫小舞,跳舞的"舞"。" << endl;
cout << " 我叫唐三:唐三" << endl;
cout << "小舞:一环大魂师,请指教。" << endl;
}
int dou1() {
switch (luo) {
case 1:
cout << " 一" << endl;
cout << "看门人的侮辱" << endl;
duida(dou1luo1);
break;
case 2:
cout << " 二" << endl;
cout << "宿舍中的较量" << endl;
duida(dou1luo2);
break;
case 3:
cout << " 三" << endl;
cout << "小舞的出现" << endl;
duida(dou1luo3);
break;
}
}
int dou2luo1() {
cout << "火舞:一群小垃圾!" << endl;
cout << " 说什么呢你:唐三" << endl;
cout << "火舞:没什么,只是觉得你太弱了!" << endl;
cout << " 凭实力说话:唐三" << endl;
cout << "火舞:好啊,赛场上见!" << endl;
}
int dou2luo2() {
cout << "风笑天:你欺负火舞!" << endl;
cout << " 不,我还帮了她一把:唐三" << endl;
cout << "风笑天:放**的**,我现在就要惩罚你这个厚颜无耻之人。" << endl;
cout << " 不是,我真没把她怎么样:唐三" << endl;
cout << "风笑天:哼!来吧!" << endl;
}
int dou2luo3() {
cout << "比比东:十万年魂兽,拿下那个小女孩" << endl;
cout << " 不许你们伤害她:唐三" << endl;
cout << "比比东:唐三,我承认你很有天赋,可惜你是我的敌人。" << endl;
cout << " 你想要怎么样:唐三" << endl;
cout << "比比东:杀了他们!" << endl;
}
int dou2() {
switch (luo) {
case 1:
cout << " 一" << endl;
cout << "第一场对决" << endl;
duida(dou2luo1);
break;
case 2:
cout << " 二" << endl;
cout << "风笑天" << endl;
duida(dou2luo2);
break;
case 3:
cout << " 三" << endl;
cout << "我的小舞" << endl;
duida(dou2luo3);
break;
}
}
int dou3luo1() {
cout << "狼盗:抓住他们!" << endl;
cout << " 不好,他们越来越多了:唐三" << endl;
}
int dou3luo2() {
cout << "深海魔晶王:食物来了!" << endl;
cout << " 谁死还不一定呢:唐三" << endl;
cout << "深海魔晶王:有点意思,就是你们太弱了!" << endl;
}
int dou3luo3() {
cout << "波塞西:来吧,在我手中坚持一炷香!" << endl;
cout << " 冒昧了,前辈:唐三" << endl;
cout << "波塞西:一炷香记时,开始!" << endl;
}
int dou3() {
switch (luo) {
case 1:
cout << " 一" << endl;
cout << "狼盗劫路" << endl;
duida(dou3luo1);
break;
case 2:
cout << " 二" << endl;
cout << "深海魔晶王" << endl;
duida(dou3luo2);
break;
case 3:
cout << " 三" << endl;
cout << "海神九考" << endl;
duida(dou3luo3);
break;
}
}
int douluo() {
if (dou > 3) {
cout << "斗罗之路已打完" << endl;
return 0;
}
cout << "第" << dou << "章第" << luo << "回--" << da << endl;
switch (dou) {
case 1:
cout << "小舞的到来" << endl;
dou1();
break;
case 2:
cout << "精英大赛" << endl;
dou2();
break;
case 3:
cout << "成神之路" << endl;
dou3();
break;
}
}
int wuhunpanding(int nian) {
cout << "是" << nian << "的魂环" << endl;
if (mine[0] / 10 != huan) {
int num;
cout << "是否吸收魂环?([1]是[2]否)";
cin >> num;
if (num == 1) {
cout << "吸收中" << endl;
huan += 1;
huannian[mine[0] / 10] = nian;
cout << "吸收成功" << endl;
}
}
}
int hunshoupan(int dizhan, int shou) {
switch (shou) {
case 1:
cout << "是" << dizhan << "年的曼陀罗蛇!" << endl;
break;
case 2:
cout << "是" << dizhan << "年的大地之王!" << endl;
break;
case 3:
cout << "是" << dizhan << "年的大力金刚熊!" << endl;
break;
case 4:
cout << "是" << dizhan << "年的狼盗!" << endl;
break;
case 5:
cout << "是" << dizhan << "年的凤尾鸡冠蛇!" << endl;
break;
case 6:
cout << "是" << dizhan << "年的天梦冰蚕!" << endl;
break;
case 7:
cout << "是" << dizhan << "年的人面魔珠!" << endl;
break;
case 8:
cout << "是" << dizhan << "年的大力金刚蚁!" << endl;
break;
case 9:
cout << "是" << dizhan << "年的泰坦巨猿!" << endl;
break;
case 10:
cout << "是" << dizhan << "年的天青牛蟒!" << endl;
break;
}
int sum;
cout << "是[1]逃跑[2]战斗" << endl;
cin >> sum;
if(sum == 1){
cout << "逃跑成功" << endl;
return 0;
}
else{
hunji();
if (mine[1] >= dizhan) {
cout << "战斗胜利" << endl;
mine[0] += 1;
_sleep(1 * 500);
wuhunpanding(dizhan);
} else {
cout << "战斗失败" << endl;
live-=1;
cout << "生命-1";
cout << " 剩余生命" << live << endl;
}}
}
int hunshousenling1(int n, int m) {
int shou = sui(1, 10);
int num = sui(n, m);
hunshoupan(num, shou);
}
int muohun(){
cout << "正在进入魔魂大白鲨(10 0000年~50 0000年)" << endl;
_sleep(1 * 1000);
int nian = sui(100000,500000);
cout << "是" << nian << "的魔魂大白鲨" << endl;
int sum;
cout << "是[1]逃跑[2]战斗" << endl;
cin >> sum;
if(sum == 1){
cout << "逃跑成功" << endl;
return 0;
}
else{
hunji();
if (mine[1] >= nian) {
cout << "战斗胜利" << endl;
mine[0] += 1;
_sleep(1 * 500);
wuhunpanding(nian);
} else {
cout << "战斗失败" << endl;
live-=1;
cout << "生命-1";
cout << " 剩余生命" << live << endl;
}}
}
int hunshousenling() {
int num;
cout << "[1]魂兽森林外围(一)(100年~500年)" << endl;
if (dou > 1 || (dou == 1 && luo > 1 ) || (dou == 1 && luo == 1 && da > 1)) {
cout << "[2]魂兽森林外围(二)(500年~800年)" << endl;
}
if (dou > 1 || (dou == 1 && luo > 1 ) || (dou == 1 && luo == 1 && da > 2)) {
cout << "[3]魂兽森林外围(三)(800年~1000年)" << endl;
}
if (dou > 1 || (dou == 1 && luo > 2 ) || (dou == 1 && luo == 2 && da > 2)) {
cout << "[4]魂兽森林中间(一)(1000年~1500年)" << endl;
}
if (dou >= 2) {
cout << "[5]魂兽森林中间(二)(1500年~5000年)" << endl;
}
if (dou >= 2 || (dou>=2 && luo >= 1)) {
cout << "[6]魂兽森林中间(三)(5000年~10000年)" << endl;
}
if (dou >= 3) {
cout << "[7]魂兽森林深处(10000年~100000年)" << endl;
}
if (dou >= 3) {
cout << "[8]魔魂大白鲨(10 0000年~20 0000年)" << endl;
}
cout << "你要去:";
cin >> num;
switch (num) {
case 1:
cout << "正在进入魂兽森林外围(一)(100年~500年)" << endl;
_sleep(1 * 1000);
hunshousenling1(100, 500);
break;
case 2:
cout << "正在进入魂兽森林外围(二)(500年~800年)" << endl;
_sleep(1 * 1000);
hunshousenling1(500, 800);
break;
case 3:
cout << "正在进入魂兽森林外围(三)(800年~1000年)" << endl;
_sleep(1 * 1000);
hunshousenling1(800, 1000);
break;
case 4:
cout << "正在进入魂兽森林中间(一)(1000年~1500年)" << endl;
_sleep(1 * 1000);
hunshousenling1(1000, 1500);
break;
case 5:
cout << "正在进入魂兽森林中间(二)(1500年~5000年)" << endl;
_sleep(1 * 1000);
hunshousenling1(1500, 5000);
break;
case 6:
cout << "正在进入魂兽森林中间(三)(5000年~10000年)" << endl;
_sleep(1 * 1000);
hunshousenling1(5000, 10000);
break;
case 7:
cout << "正在进入魂兽森林深处(10000年~100000年)" << endl;
_sleep(1 * 1000);
hunshousenling1(10000,100000);
break;
case 8:
muohun();
break;
default:
cout << "输入错误" << endl;
break;
}
}
int renwu(){
cout << "现有" << mine[0] << "级" << endl;
cout << "现有" << mine[1] << "战力" << endl;
cout << "已吸收" << huan << "个魂环" << endl;
cout << "剩余可吸收" << (mine[0]/10)-huan << "个魂环" << endl;
for(int i=1;i<=huan;i++){
cout << i << "个魂环" << huannian[i] << endl;
}
}
int main() {
qianqingtiyao();
jianjie();
kaihun();
while (live > 0) {
switch (thing()) {
case 1:
cout << "----------------------斗罗之路-----------------------" << endl;
douluo();
mine[1] = mine[0] * 34;
for (int i = 1; i <= 10; i++) {
mine[1] += huannian[i];
}
if (mine[1] >= 500000) {
_sleep(1 * 1000);
cout << "恭喜你,成了一代霸主!" << endl;
return 0;
}
break;
case 2:
cout << "----------------------魂兽森林-----------------------" << endl;
hunshousenling();
mine[1] = mine[0] * 34;
for (int i = 1; i <= 10; i++) {
mine[1] += huannian[i];
}
if (mine[1] >= 500000) {
_sleep(1 * 1000);
cout << "恭喜你,成了一代霸主!" << endl;
return 0;
}
break;
case 3:
cout << "----------------------人物-----------------------" << endl;
renwu();
break;
case 4:
cout << "----------------------游戏结束-----------------------" << endl;
if (mine[0] < 100) {
cout << "未达成目标" << endl;
}
cout << endl;
return 0;
break;
default:
cout << "输入错误" << endl;
break;
}
}
if (live == 0) {
cout << "您的复活次数已经耗尽" << endl;
cout << "您的生命即将转世" << endl;
cout << "请重新开启游戏" << endl;
}
return 0;
}