【无标题】

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <windows.h>
using namespace std;
string p_name; // player名字 
int w_t = 40; // 等待时间 
int has_num; // 拥有的精灵数量
int lineup_num; // 阵容中的精灵数量 
struct move{ // 招式 
    string name; // 名称 
    string info; // 介绍 
    string sx; // 属性 
    int kind; // 特殊状态的类型:0表示增强攻击 1表示增强防御 2表示特殊状态攻击效果 3表示特殊状态限制效果
    int attack; // 攻击力(直接)最弱状态,真实攻击 = 攻击力 × 等级 / 3 下取整 
    int add_attack; // 攻击力(增强) 
    int defense; // 防御力(增强) 
    int pro_spe; // 施加特殊状态几率 
    string spe; // 施加的特殊状态 
    int keep; // 特殊状态持续时间 
}all_move[100];
struct spirit{
    string name; // 精灵名称 
    bool has_pet_name = false; // 是否拥有昵称 
    string pet_name; // 昵称 
    string info; // 信息 
    string sx; // 属性 
    int lev; // 等级 
    int ne; // 进化的下一只精灵的编号 (0表示没有下一个进化形态) 
    int change_lev; // 进化的等级(最终形态为100) 
    int hp; // 100级最高HP
}all_spi[100],lineup_spi[100],has_spi[100],enemy_spi[100];
struct things{
    int money = 0; // 精灵币 
    int spi_ball = 0; // 精灵球数量 
    /*特殊物品*/
    int tj = 0; // 图鉴 
    int sm_map = 0; // 水沫镇地图 
}p_thing;
/*----------------------- 输 出 函 数 -----------------------*/ 
void endl(int t){ 
    for(int i = 1;i <= t;i ++) cout<<endl;
}
void print(string out){ // 延时输出 
    int wait_time = w_t;
    for(int i = 0;i < out.size();i ++){
        if(GetAsyncKeyState(VK_RETURN)) wait_time = 0;
        cout<<out[i];
        Sleep(wait_time);
    }
}
void print(string out,int t){ // 居中延时输出 
    int wait_time = w_t;
    for(int i = 0;i < out.size();i ++){
        if(GetAsyncKeyState(VK_RETURN)) wait_time = 0;
        cout<<out[i];
        Sleep(wait_time);
    }
}
void gotoxy(HANDLE hOut,int x,int y){ // 移动光标 
    COORD pos;
    pos.X = x;
    pos.Y = y;
    SetConsoleCursorPosition(hOut,pos);
}
void print_middle(char str[],int y){ // 居中输出 
    HANDLE hOutput = GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_SCREEN_BUFFER_INFO bInfo;
    GetConsoleScreenBufferInfo(hOutput,&bInfo);
    int dwSizeX = bInfo.dwSize.X,dwSizey = bInfo.dwSize.Y;
    int len = strlen(str);
    int x = dwSizeX / 2 - len / 2;
    gotoxy(hOutput,x,y);
    print(str,10);
}
void print_right(char str[],int y){ // 右对齐输出 
    HANDLE hOutput = GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_SCREEN_BUFFER_INFO bInfo;
    GetConsoleScreenBufferInfo(hOutput,&bInfo);
    int dwSizeX = bInfo.dwSize.X,dwSizey = bInfo.dwSize.Y;
    int len = strlen(str);
    int x = dwSizeX - len - 2;
    gotoxy(hOutput,x,y);
    print(str,10);
}
/*----------------------- 初 始 化 函 数 -----------------------*/ 
void init_move(){
    int k = 1;
    all_move[k].name = "火花";
    all_move[k].info = "向对手发射细小的火焰来攻击的招式,有10%的几率使目标陷入灼伤状态。";
    all_move[k].attack = 5;
    all_move[k].pro_spe = 10;
    all_move[k].spe = "灼烧";
    k ++;
    all_move[k].name = "泡沫";
    all_move[k].info = "向对手喷射无数的水泡攻击,有10%的几率降低对手的速度。";
    all_move[k].attack = 5;
    all_move[k].pro_spe = 10;
    all_move[k].spe = "速度降低";
    k ++;
    all_move[k].name = "藤鞭";
    all_move[k].info = "将草元素凝聚成藤鞭抽向对手,有10%的几率使目标陷入眩晕状态。";
    all_move[k].attack = 5;
    all_move[k].pro_spe = 10;
    all_move[k].spe = "眩晕";
    k ++;
}
void init_spirit(){ // 初始精灵信息 
    all_spi[1].name = "小火龙";
    all_spi[1].sx = "火";
    all_spi[1].info = "生下来的时候,尾巴上就有火焰在燃烧。喜欢热热的东西。据说当它被雨淋湿的时候,尾巴的末端会冒出烟来。";
    all_spi[1].ne = 2;
    all_spi[1].change_lev = 18;
    all_spi[2].name = "火颚龙";
    all_spi[2].sx = "火";
    all_spi[2].info = "有着像火焰一般的性格,一直在寻找战斗的对手,不打赢的话热血就平静不下来。会用燃烧的尾巴四处挥动,会使周围的温度渐渐变高,并让敌人觉得痛苦,";
    all_spi[2].ne = 3;
    all_spi[2].change_lev = 36;
    all_spi[3].name = "火焰爆龙";
    all_spi[3].sx = "火 龙";
    all_spi[3].info = "能够喷出猛烈的火焰,仿佛连岩石都能烤焦。有时会引发森林火灾。能用翅膀飞到距地面1400米的高度。会吐出高温火焰。";
    all_spi[3].ne = 0;
    all_spi[3].change_lev = 100;
    all_spi[1].hp = all_spi[2].hp = all_spi[3].hp = 420;
    all_spi[4].name = "嘎嘎鸭";
    all_spi[4].sx = "水";
    all_spi[4].info = "体内蕴含着神奇的力量,智力很高,据说进化到最终形态时拥有与人相同的智力。";
    all_spi[4].ne = 5;
    all_spi[4].change_lev = 16;
    all_spi[5].name = "波音鸭";
    all_spi[5].sx = "水";
    all_spi[5].info = "擅长游泳。能在湖泊之类的地方看到它优雅的身姿。当额头闪耀光芒时就能使出神通力。";
    all_spi[5].ne = 6;
    all_spi[5].change_lev = 38;
    all_spi[6].name = "神音鸭皇";
    all_spi[6].sx = "水 幻";
    all_spi[6].info = "拥有惊人的智力,热爱学习,游动的速度在宝可梦里是最快的。能用声音迷惑对手。";
    all_spi[6].ne = 0;
    all_spi[6].change_lev = 100;
    all_spi[4].hp = all_spi[5].hp = all_spi[6].hp = 450;
    all_spi[7].name = "草苗蜗";
    all_spi[7].sx = "草";
    all_spi[7].info = "沐浴着阳光,进行光合作用,用全身进行光合作用。甲壳是泥土变硬后形成的。"; 
    all_spi[7].ne = 8;
    all_spi[7].change_lev = 20;
    all_spi[8].name = "树叶蜗牛";
    all_spi[8].sx = "草";
    all_spi[8].info = "阳光越是照耀,活力越是充沛。如果口渴,壳上的叶子就会枯萎。";
    all_spi[8].ne = 9;
    all_spi[8].change_lev = 35;
    all_spi[9].name = "巨林蜗牛";
    all_spi[9].sx = "草 土";
    all_spi[9].info = "生活在森林中的水边。白天会去森林的外面。壳上树木所生的果实滋味甘甜且营养丰富,十分美味。";
    all_spi[9].ne = 0;
    all_spi[9].change_lev = 100;
    all_spi[7].hp = all_spi[8].hp = all_spi[9].hp = 530;
    all_spi[10].name = "麻小雀";
    all_spi[10].sx = "飞";
    all_spi[10].info = "不喜欢战斗,经常藏身在树冠中,抓取小虫做为食物。";
    all_spi[10].ne = 11;
    all_spi[10].change_lev = 45;
    all_spi[11].name = "土石雀";
    all_spi[11].sx = "飞 土";
    all_spi[11].info = "进化后拥有了土系力量,个性温顺,但遇到敌人时,会拍动翅膀丢洒沙砾,来驱退敌人。";
    all_spi[11].ne = 0;
    all_spi[11].change_lev = 100;
    all_spi[10].hp = all_spi[11].hp = 260;
    all_spi[12].name = "小火猴";
    all_spi[12].sx = "火";
    all_spi[12].info = "在悬崖峭壁间也能穿梭自如。生活在岩山之上,但也会在树林活动。睡觉时会将火焰熄灭。";
    all_spi[12].ne = 13;
    all_spi[12].change_lev = 17;
    all_spi[13].name = "强火猴";
    all_spi[13].sx = "火";
    all_spi[13].info = "能熟练控制尾部火焰的大小,以自己擅长的距离进行战斗。";
    all_spi[13].ne = 14;
    all_spi[13].change_lev = 38;
    all_spi[14].name = "爆炎火猴";
    all_spi[14].sx = "火";
    all_spi[14].info = "性格像头上燃烧的火焰一样激烈。在速度方面无可匹敌。";
    all_spi[14].ne = 0;
    all_spi[14].change_lev = 100;
    all_spi[12].hp = all_spi[13].hp = all_spi[14].hp = 380;
    all_spi[15].name = "白狼犬";
    all_spi[15].sx = "恶";
    all_spi[15].info = "全身披有白灰色的毛,面部及四肢均有深灰色的纹理。突出的虎牙十分锋利。天赋异禀,在较早的时间内就能完成进化。";
    all_spi[15].ne = 16;
    all_spi[15].change_lev = 15;
    all_spi[16].name = "暗银狼";
    all_spi[16].sx = "恶";
    all_spi[16].info = "发出凶猛的吼声并压低身体的时候,就是它准备发动攻击的前兆。会用锋利的尖牙一口咬住对手。身体呈银灰色,瞳孔呈红色。";
    all_spi[16].ne = 17;
    all_spi[16].change_lev = 26;
    all_spi[17].name = "暗月银狼王";
    all_spi[17].sx = "恶 暗";
    all_spi[17].info = "进化之后拥有了黑暗的能力,红色瞳孔中散发着恐怖的杀气。"; 
    all_spi[17].ne = 0;
    all_spi[17].change_lev = 100;
    all_spi[15].hp = all_spi[16].hp = all_spi[17].hp = 380;
}
void init(){
    init_move();
    init_spirit();
}
/*----------------------- 游 戏 函 数 -----------------------*/ 
void desc(int k){ // 介绍精灵(图鉴功能) 
    print("精灵名称:");
    print(all_spi[k].name);
    endl(1);
    print("属性:");
    print(all_spi[k].sx);
    endl(1);
    print("精灵信息:");
    print(all_spi[k].info);
    endl(1);
}
void change_hp(int k){ // 调整精灵HP值(血量) 
    int tmp_hp = has_spi[k].hp; // 计算HP 
    int level = has_spi[k].lev;

}
void add_spi(int k,int level){ // 将精灵添加到已有精灵列表 
    has_spi[++ has_num] = all_spi[k];
    has_spi[has_num].lev = level;
}
void add_lineup(int k){ // 将精灵加入对战阵容 
    // 阵容最多5只精灵 
    lineup_spi[++ lineup_num] = has_spi[k];
}
void fight(spirit enemy_spi[]){
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED |FOREGROUND_GREEN);
    print_middle("【对战】",1);
    endl(4);
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_RED |FOREGROUND_GREEN | FOREGROUND_BLUE);
}
void loading(int x){ // 加载界面 
    // 等待编写 
    // x为1等待时间短
    // x为2等待时间长 
    system("cls");
}
void welcome(){ // 欢迎界面 
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN |FOREGROUND_BLUE); // 青色 
    print_middle("☆『蓝辙星痕』☆",1); 
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED |FOREGROUND_BLUE); // 粉色 
    print_middle("『万物行动之源』",4);
    print_middle("『把荣耀渗透于全宇宙』",6);
    print_middle("『在各地发光 或多或少』",8);
    print_middle("『因地而异』",10);
    print_middle("『我曾去过那受光最多的天体』",12);
    print_middle("『看到了回到人间的人』",14);
    print_middle("『无法也无力重述的事物』",16);
    print_middle("『生命·灵魂』",18);
    endl(1);
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_RED |FOREGROUND_GREEN | FOREGROUND_BLUE); // 白色 
    print("(如发现居中字体出现重合现象,请调整控制台大小。)");
    endl(1);
    print("请登录(若没有发现存档自动注册)"); 
    endl(1);
    print("输入你的用户名:(请不要输入空格或其他特殊符号)"); 
    endl(1);
    cin>>p_name;
    print("输入成功,您的用户名是:");
    print(p_name);
    Sleep(200); 
}
void des_tips(){
    system("cls");
    print_middle("【温馨提示】",1);
    endl(3);
    print("1. 如果觉得剧情输出速度过慢可以按Enter键跳过此行。");
    endl(2);
    print("2. 括号含义:");
    endl(1);
    print("    ·〖〗代表剧情发生的大概范围。");
    endl(1);
    print("    ·〔〕代表剧情发生的具体位置。");
    endl(1);
    print("    ·『』代表该段落为诗句。(在游戏开始界面也有出现)");
    endl(2);
    print("3. 段落位置:");
    endl(1);
    print("    ·普通情况(即左对齐)为剧情或提示语句。");
    endl(1);
    print("    ·右对齐为剧情发生时间。");
    endl(1);
    print("    ·居中为诗句或游戏开始界面的标题。");
    endl(1);
    print("4. 关于剧情:不要在意任何细节和标明(bushi的语句");
    endl(3);
    print("输入1以返回:");
    endl(1);
    int ans = 0;
    scanf("%d",&ans);
    while(ans != 1){
        print("输入失败,请再次输入:");
        endl(1);
    }
    endl(1);
    print("输入成功,正在返回");
    Sleep(100);
    return ;
}
void fcd(){ // 初始菜单 
    Sleep(50);
    system("cls");
    print("游戏加载成功");
    endl(1);
    print("现在你想要:");
    print("1.进入游戏  2.等待10秒进入");
    endl(1);
    print("请输入:");
    int ans;
    scanf("%d",&ans);
    while(ans != 1 && ans != 2){
        print("输入失败,请再次输入:");
        scanf("%d",&ans);
    }
    if(ans == 1){
        print("输入成功,正在进入");
        return ;
    }
    else {
        print("正在等待...");
        Sleep(100);
        return ; 
    }
}
void background(){
    system("cls");
    fcd();
    loading(1);
    des_tips();
    system("cls");
}
void l_bag(){
    system("cls");
    print_middle("【背包】",1);
    endl(4);
    print("正在编写中,暂时无法查看");
    endl(1);
    print("输入1返回");
    int ans;
    scanf("%d",&ans);
    while(ans != 1){
        print("输入失败,请再次输入:");
        scanf("%d",&ans);
    }
}
void l_spi(){
    system("cls");
    print_middle("【精灵列表】",1);
    endl(4);
    print("正在编写中,暂时无法查看");
    endl(1);
    print("输入1返回");
    int ans;
    scanf("%d",&ans);
    while(ans != 1){
        print("输入失败,请再次输入:");
        scanf("%d",&ans);
    }
    if(ans == 1) return ;
} 
void cd(){ // 菜单 
    system("cls");
    print_middle("【菜单界面】",1);
    endl(4);
    print("现在你想要:");
    endl(1);
    print("1.查看背包 2.查看拥有精灵 3.返回游戏") ;
    endl(1);
    int ans;
    scanf("%d",&ans);
    while(ans != 1 && ans != 2 && ans != 3){
        print("输入失败,请再次输入.");
        endl(1);
        scanf("%d",ans);
    }
    print("输入成功");
    if(ans == 1){
        l_bag();
        return ;
    }
    else if(ans == 2){
        l_spi();
        return ;
    }
    else return ;
}
void qhqj(){
    endl(3);
    print("正在切换情节");
    endl(1);
    print("你想要:");
    endl(1);
    print("1.切换情节 2.进入菜单");
    endl(1); 
    int in;
    scanf("%d",&in);
    while(in != 1 && in != 2){
        print("输入失败,请再次输入:");
        scanf("%d",&in);
    }
    if(in == 1){
        print("切换情节中");
        Sleep(100);
        system("cls");
    }
    else{
        print("正在进入菜单");
        Sleep(100);
        cd();
    }
}
/*----------------------- 剧 情 函 数 -----------------------*/ 
void bc_jq1(){
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);
    print_middle("〖未知星系〗",1);
    endl(1);
    print_middle("〔YYSJ114514号子舰〕",2);
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED |FOREGROUND_GREEN); // 黄色 
    print_right("灵星纪年 2314年5月26日",3);
    endl(2);
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_RED |FOREGROUND_GREEN | FOREGROUND_BLUE);
    print_middle("『去往所有命运 风暴之中的...』",4);
    print_middle("『你来自火山炙热 与...的深海』",6);
    print_middle("『生本就是意外 硬币反选为尘埃』",8);
    print_middle("『为侥幸 可以相爱 造了船 移着山』",10);
    print_middle("『出征是古老的宿命 人将...踏入夜晚』",12);
    print_middle("『只有我...』",14);
    endl(2);
    print("无尽的“沙沙”声...");
    endl(1);
    print("门开了...");
    endl(3);
    print("墨:你的老收音机又坏了?我看看吧。");
    endl(2);
    print("垠:才刚坏呢,你怎么每次都这么准时?不过这台收音机也该换了,太容易坏了,连播一首堔的歌都断断续续的。");
    endl(2);
    print("墨没有搭理他,拿起收音机就转身离去了...");
    endl(2);
    print("过了一会儿...");
    endl(2);
    print("门开了...");
    endl(3);
    print("垠:这么快就修好了?你修东西的技术也是越来越好了呢。");
    endl(2);
    print("墨:不是的,这次不是收音机的问题,我们的飞船,驶入了无信号区域。");
    endl(2);
    print("垠:什么?!那赶快驶回去啊!");
    endl(2);
    print("墨:没时间了,刚刚你播的音乐是缓存下来的一部分,所以能播,我们离开信号区域估计已经有一天了,根本无法推算出原本的航线。这里,没有任何人能救得了我们。");
    endl(2);
    print("垠:那...没有任何办法了?");
    endl(2);
    print("墨:也许吧,现在只能任其发展,自求多福吧。") ;
    endl(2);
    print("舷窗外浩瀚的宇宙仿佛梦魇狞笑着,垠无力地瘫倒在座椅上...");
    qhqj();
}
void bc_jq2(){
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);
    print_middle("〖未知星系〗",1);
    endl(1);
    print_middle("〔星鹰号母舰〕",2);
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED |FOREGROUND_GREEN); // 黄色 
    print_right("灵星纪年 2314年5月27日",3);
    endl(3);
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_RED |FOREGROUND_GREEN | FOREGROUND_BLUE);
    print("炽:什么?你说YYSJ114514号子舰不见了?");
    endl(2);
    print("翎:是的,舰长,据判断应该是是驶离了信号区域。");
    endl(3);
    print("炽望向星空,努力地使自己平静下来。");
    endl(3);
    print("炽:算了,这么臭的子舰,不要也罢。(bushi");
    endl(2);
    print("炽:持续搜索子舰的坐标,一有发现我们就展开救援。");
    endl(2);
    print("翎:是,舰长。");
    qhqj();
}
void bc_jq3(){
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);
    print_middle("〖未知星系〗",1);
    endl(1);
    print_middle("〔YYSJ114514号子舰〕",3);
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_RED |FOREGROUND_GREEN | FOREGROUND_BLUE);
    endl(2);
    print_middle("『不要再去形容我』",4);
    print_middle("『不要再去留恋我』",6);
    print_middle("『不要再去塑造我』",8);
    print_middle("『别怪我』",10);
    print_middle("『飞入黑暗的漩涡』",12);
    print_middle("『划过宇宙的星河』",14);
    print_middle("『载着肉身的躯壳』",16);
    print_middle("『漫行着』",18);
    print_middle("『飞入属于你的王国』",20);
    print_middle("『燃烧所有你的余火』",22);
    endl(4); 
    print("不知多少年过去,垠和墨也渐渐适应了孤独的生活,未完成的救赎任务,也依旧执行着。");
    qhqj();
}
void bc_jq4(){  
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);
    print_middle("〖太阳系〗",1);
    endl(1);
    print_middle("〔地球附近〕",2);
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED |FOREGROUND_GREEN); // 黄色 
    print_right("灵星纪年 2316年9月19日",3);
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_RED |FOREGROUND_GREEN | FOREGROUND_BLUE);
    endl(1);
    print_middle("『乘飞舟 遨游』",4);
    print_middle("『无止休 探求』",6);
    print_middle("『寰宇中 面纱背后』",8);
    print_middle("『那古老源头』",10);
    print_middle("『短暂的生命』",12);
    print_middle("『当向永恒望去』",14);
    print_middle("『无形中 意识的岛屿 便缓缓游移』",16);
    print_middle("『船舱里 是梦境』",18);
    print_middle("『有一朵 诗的云』",20);
    print_middle("『透过那云雾间 迢递过岁月的灵魂』",22);
    print_middle("『奔流的 光阴在一刹那搁浅』",24);
    print_middle("『悬浮在 河汉之间』",26);
    endl(4);
    print("漫行于宇宙之中,他们再次找到了一个文明——");
    print_middle(" 『 地 球 文 明 』 ",32);
    qhqj();
}
void bc_jq5(){
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);
    print_middle("〖太阳系〗",1);
    endl(1);
    print_middle("〔地球附近〕",2);
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED |FOREGROUND_GREEN); // 黄色 
    print_right("灵星纪年 2316年9月19日",3);
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_RED |FOREGROUND_GREEN | FOREGROUND_BLUE);
    endl(3);
    print("垠:一颗不错的星球,调查一下吧。");
    endl(3);
    print("过了一会儿...");
    endl(3);
    print("墨:结果出来了,是一颗适合居住的星球。平近点角 358.617 度 轨道倾角 7.155 度 升交点经度 -11.26064 度 表面温度 14 ℃ 转轴倾角 23.44°距恒星长度适宜。 应该有生命存在");
    endl(2);
    print("垠:准备小艇,我去探查一下。");
    endl(2);
    print("墨:好的,注意要仔细一点,你已经误判了至少十个文明程度了。");
    endl(2);
    print("垠:好了好了,这次我认真就是了,走了。");
    endl(3);
    print("说罢,垠钻进了小艇。");
    endl(2);
    print("墨无奈的摇摇头。继续扫描地球获得更多数据。");
    endl(1);
    print("[此段和前段剧情为补充剧情(是后面补的,还没补完),所以差一段连接下面的剧情。]");
    endl(1);
    qhqj();
}
void sm_jq1(){
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);
    print_middle("〖水沫镇〗",1);
    endl(1);
    print_middle("〔家〕",2);
    endl(2);
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_RED |FOREGROUND_GREEN | FOREGROUND_BLUE);
    print("阳光穿过窗棂,温暖地撒满房间的角落。");
    endl(1);
    print("“叮铃铃”揉着惺忪的睡眼,翻身坐起");
    endl(1);
    print("门开了。"); 
    endl(1);
    print("妈妈:起来啦,今天要去领取第一只精灵啦,快点快点。");
    endl(1);
    print("慵懒地伸了个懒腰,开始了新的一天。");
    endl(1);
    print("出门,树叶窸窣,投下一片浅浅的光影。");
    endl(1);
    print("路上,「土石雀」在展翅飞翔,「嘎嘎鸭」在水中舒展细碎的粼粼的波光。");
    qhqj();
}
void sm_jq2(){
    int f_spi; // 第一只精灵 
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);
    print_middle("〖水沫镇〗",1);
    endl(1);
    print_middle("〔博士家〕",2);
    endl(2); 
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_RED |FOREGROUND_GREEN | FOREGROUND_BLUE);
    print("阳光下,那栋高大的建筑物泛着淡淡的微光");
    endl(1);
    print("轻叩锈迹斑斑的门。。。");
    endl(1);
    print("博士:是");
    print(p_name);
    print("吗,进来吧。");
    endl(1);
    print("进入。。。");
    endl(1);
    print("博士:来领取第一只精灵?这里有些资料,看看吧");
    endl(1);
    cout<<"___________________________"<<endl;
    for(int i = 1;i <= 3;i ++){
        int k;
        if(i == 1) k = 1;
        else if(i == 2) k = 4;
        else k = 7;
        desc(k);
        endl(1);
    }
    cout<<"___________________________"<<endl;
    print("博士:选择一只吧");
    endl(2);
    print("请选择:1.小火龙 2.嘎嘎鸭 3.草苗蜗");
    int ans;
    scanf("%d",&ans);
    if(ans == 1){
        f_spi = 1;
        add_spi(1,5);
    }
    else if(ans == 2){
        f_spi = 4;
        add_spi(4,5);
    }
    else{
        f_spi = 7;
        add_spi(7,5);
    }
    print("博士:是");
    print(has_spi[has_num].name);
    print("啊,是一只好精灵呢。");
    endl(1);
    print("博士:还有这些,这个是「图鉴」,可以获取精灵信息,而且也是你的身份证哦。");
    endl(1);
    print("博士:然后这些事「精灵球」,可以用来收服精灵。");
    endl(1);
    print("获得:「图鉴」×1,「精灵球」×10");
    p_thing.tj += 1;
    p_thing.spi_ball += 10;
    qhqj();
}
void sm_jq3(){
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);
    print_middle("〖水沫镇〗",1);
    endl(1);
    print_middle("〔博士家门外〕",2);
    endl(1);
    print("妈妈:出来啦,选了什么精灵?");
    endl(1);
    print(p_name) ;
    print(":是「");
    print(has_spi[has_num].name);
    print("」哦。");
    endl(1);
    print(p_name);
    print(":出来吧。");
    endl(1);
    print(has_spi[has_num].name);
    int ans;
    if(has_spi[has_num].name == "小火龙"){
        print(":火火");
        endl(1);
        print("妈妈:真是太可爱了,给它取个昵称吧。就叫。。。火火怎么样?");
        endl(1);
        print("你要说什么呢:1.真不戳,就叫火火吧  2.还是我来取吧");
        endl(1);
        scanf("%d",&ans);
        if(ans == 1){
            has_spi[has_num].has_pet_name = true;
            has_spi[has_num].pet_name =  "火火"; 
        } 
        else{
            string nn;
            print("请输入你取得昵称:"); 
            cin>>nn;
            has_spi[has_num].has_pet_name = true;
            has_spi[has_num].pet_name = nn;
        }
    }
    else if(has_spi[has_num].name == "嘎嘎鸭"){
        print(":嘎嘎");
        endl(1);
        print("妈妈:真是太可爱了,给它取个昵称吧。就叫。。。鸭鸭怎么样?");
        endl(1);
        print("你要说什么呢:1.真不戳,就叫鸭鸭吧  2.还是我来取吧");
        endl(1);
        scanf("%d",&ans);
        if(ans == 1){
            has_spi[has_num].has_pet_name = true;
            has_spi[has_num].pet_name =  "鸭鸭";
        } 
        else{
            string nn;
            print("请输入你取得昵称:"); 
            cin>>nn;
            has_spi[has_num].has_pet_name = true;
            has_spi[has_num].pet_name = nn;
        }
    }
    else{
        print(":苗苗");
        endl(1);
        print("妈妈:真是太可爱了,给它取个昵称吧。就叫。。。苗苗怎么样?");
        endl(1);
        print("你要说什么呢:1.真不戳,就叫苗苗吧  2.还是我来取吧");
        endl(1);
        scanf("%d",&ans);
        if(ans == 1){
            has_spi[has_num].has_pet_name = true;
            has_spi[has_num].pet_name =  "苗苗";
        } 
        else{
            string nn;
            print("请输入你取得昵称:"); 
            cin>>nn;
            has_spi[has_num].has_pet_name = true;
            has_spi[has_num].pet_name = nn;
        }
    }
    endl(1);
    print("更改昵称成功。昵称为:");
    print(has_spi[has_num].pet_name);
    endl(1);
    print("妈妈:那从此以后你就是训练家了哦。就可以离开家,出去冒险了。");
    endl(1);
    print("妈妈:这是一些「精灵币」。拿着。以后有用的,还有「水沫镇地图」");
    endl(1);
    print("获得:「精灵币」×1000,「水沫镇地图」×1");
    p_thing.money += 1000;
    p_thing.sm_map += 1;
    qhqj();
}
void sm_jq4(){
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);
    print_middle("〖水沫镇〗",1);
    endl(1);
    print_middle("〔水沫大道〕",2);
    endl(2);
    print("你低头看「地图」。。。");
    endl(1);
    print(p_name);
    print(":哎呦");
    endl(1);
    print("你撞到一个人");
    endl(1);
    print("抬头,银色的长发披散在肩头,眼眸如一汪清潭,折射着淡淡的微光。");
    endl(1);
    print(p_name);
    print(":对。。。对不起");
    endl(1);
    print("白青岚:没事的,看你的装扮,也是训练家吧,我们一起去冒险吧。不过,在这之前,我得试探一下你的实力...");
    enemy_spi[1] = all_spi[16];
    // fight(enemy_spi);
    endl(1);
    print("全剧终。(bushi");
    endl(1);
    print("[额,不逝的,剩下的还没编好,这一段剧情大概下周可以搞定。卡在对战函数了...]");
    qhqj();
}
void bc_jq(){
    bc_jq1();
    system("cls");
    bc_jq2();
    system("cls");
    bc_jq3();
    system("cls");
    bc_jq4();
    system("cls");
    bc_jq4();
    system("cls");
}
void sm_jq(){
    sm_jq1();
    system("cls");
    sm_jq2();
    system("cls");
    sm_jq3();
    system("cls");
    sm_jq4();
    system("cls");
}
int main(){
    init();
    welcome();
    background();
    system("cls");
    bc_jq();
    sm_jq();
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值