问题标题: 地下城1.7(1个月制作)

1
1
已解决
叶苗卿
叶苗卿
新手守护
新手守护

#include<bits/stdc++.h>
#include<cstdlib>
#include<windows.h>
#include<conio.h>
#include<string>
using namespace std;
char  a[14][100]= {"| S小怪 M大怪 O入口 0你的位置 R小资源 H大资源 @传送门 -道路 |道路 X回血 L领主|",
                   "|                                                                          |",
                   "|      |S-R-X|-H--M-S-R-S-S-H-M-X---|      |-X|-S--H-|                     |",
                   "|      M     |       |              |-S|R--|  |      |                     |",
                   "|      |     |-M--X--|H-R-|     |-S-|  |      |-M--H--|  H--MMM--L         |",
                   "|      S--R--|       |    |--M-R|      |-S|-X-|       |--|       @         |",
                   "| O0-|HHHHHLR-M-S--|R-M-|--X--|S-S-M-|X-|-R-|-H-M-M---|  XX-MMM--L         |",
                   "|      M--S|-|-X-R---|    |-|S-H|    |    |   |       |                    |",
                   "|      S   |      |  |      |        |-X-|-M-|-H-|-MH-|                    |",
                   "|      H   |-S--R-|-S--X-R--|-S-M--H-|       |        |                    |",
                   "|      X   |                         |    |H-|X-H-H-M-|                    |",
                   "|      R--M|SHHHH---M--M-X-|-S-M-R--S|-M-H|                                  |",
                   "|                                                                          |"};
char  b[14][100]= {"| S小怪 M大怪 O入口 0你的位置 R小资源 H大资源 @传送门 -道路 |道路 X回血 L领主|",
                   "|                                                                      |",
                   "|      |S-R-X|-H--M-S-R-S-S-H-M-X---|      |-X|-S--H-|                 |",
                   "|      M     |       |              |-S|R--|  |      |                 |",
                   "|      |     |-M--X--|H-R-|     |-S-|  |      |-M--H--|                |",
                   "|      S--R--|       |    |--M-R|      |-S|-X-|       L--@             |",
                   "| O0-|-----HR-M-S--|R-M-|--X--|S-S-M-|X-|-R-|-H-M-M-M-|                |",
                   "|      M--SH-|-X-R---|    |-|S-H|    |    |   |       |                |",
                   "|      S   H      |  |      |        |-X-|-M-|-H-|-MH-|                |",
                   "|      H   H-S--R-|-S--X-R--|-S-M--H-|       |        |                |",
                   "|      X   |                         |    |H-|X-H-H-M-|                |",
                   "|      R--M|S---HHHHM--M-X-|-S-M-R--S|-M-H|                            |",
                   "|                                                                      |"};
int c;        
int shang_hai=5;
int sheng_ming=10;
int sheng_ming_zhi=5;
int jb=10;
string xing_ming;
int l,j;
void game_2();
void player_zi_liao();
void player();
void shop();
void zi_mu_1();
void q();
void game_1();
void s_1();
void shi_bai();
void da_guai();
void xiao_guai();
void xiao_ziyuan();
void ling_zhu();
void da_ziyuan();
void hui_xue();
void sheng_li();
//S小怪 M大怪 O入口 0你的位置 R小资源 H大资源 @传送门 -道路 |道路 X回血

void sheng_li()
{
    q();
    cout<<"恭喜你,通关了!\n";
    cout<<"下次更新 英雄 技能 道具 更多战斗** 更多武器和防具 任务** 经验与等级 材料(合成神器)....提前预告:下个版本 小镇2.0新的危机\n";
    system("pause");
}

void hui_xue()
{
    q();
    if(sheng_ming<sheng_ming_zhi)
    {
        sheng_ming+=2;
        cout<<"生命值加2";
    }
    else
    {
        cout<<"生命值已满,回不了血";
    }
        Sleep(1000);
    q();
}

void xiao_ziyuan()
{
    q(); 
    cout<<"恭喜你获得 金币+20";
    jb+=20;
    Sleep(1000);
    q(); 
}

void da_ziyuan()
{
    q();
    cout<<"恭喜你获得 金币+50";
    jb+=50;
    Sleep(1000);
    q(); 
}

void da_guai()
{
    q();
    int bguai_xue;
    cout<<"即将跟大怪物战斗\n";
    bguai_xue=200;
    while(1)
    {
        if(sheng_ming<=0)
        {
            cout<<"你被大怪打**了";
                Sleep(1000);
            q();
            break;
        }
        if(bguai_xue<=0)
        {
            cout<<"你打败了大怪";jb+=300; 
                Sleep(1000);
            q();
            break;  
        }
        cout<<"\n1.攻击 2.防御(暂时获得1血)\n";
        cout<<"请输入:";
        cin>>c;
        if(c==1)
        {
            bguai_xue-=shang_hai;
            cout<<"\n成功造成攻击\n";
            Sleep(500);
            cout<<"你受到伤害*50";
            sheng_ming-=50;
        }
        if(c==2)
        {
            sheng_ming++;
            sheng_ming-=10;
        } 
        cout<<"\n你的生命:"<<sheng_ming;
        cout<<"\n怪物的生命:"<<bguai_xue; 
}
}

void xiao_guai()
{
    q();
    int sguai_xue;
    cout<<"即将跟小怪物战斗\n";
    sguai_xue=50;
    while(1)
    {
        if(sheng_ming<=0)
        {
            cout<<"你被小怪打**了";
                Sleep(1000);
            q();
            break;
        }
        if(sguai_xue<=0)
        {
            cout<<"你打败了小怪";jb+=100;
                Sleep(1000);
            q();
            break;  
        }
        cout<<"\n1.攻击 2.防御(暂时获得1血)\n";
        cout<<"请输入:";
        cin>>c;
        if(c==1)
        {
            sguai_xue-=shang_hai;
            cout<<"\n成功造成攻击\n";
            Sleep(500);
            cout<<"你受到伤害*10";
            sheng_ming-=10;
        }
        if(c==2)
        {
            sheng_ming++;
            sheng_ming-=10;
        } 
        cout<<"\n你的生命:"<<sheng_ming;
        cout<<"\n怪物的生命:"<<sguai_xue; 
}
}
void ling_zhu()
{
    q();
    int ling_xue;
    cout<<"即将跟领主战斗\n";
    ling_xue=500;
    while(1)
    {
        if(sheng_ming<=0)
        {
            cout<<"你被领主打**了";
                Sleep(1000);
            q();
            break;
        }
        if(ling_xue<=0)
        {
            cout<<"你打败了领主";jb+=500;
                Sleep(1000);
            q();
            break;  
        }
        cout<<"\n1.攻击 2.防御(暂时获得1血)\n";
        cout<<"请输入:";
        cin>>c;
        if(c==1)
        {
            ling_xue-=shang_hai;
            cout<<"\n成功造成攻击\n";
            Sleep(500);
            cout<<"你受到伤害*10";
            sheng_ming-=100;
        }
        if(c==2)
        {
            sheng_ming++;
            sheng_ming-=10;
        } 
        cout<<"\n你的生命:"<<sheng_ming;
        cout<<"\n怪物的生命:"<<ling_xue; 
}
}

void s_1()
{
    cout<<"\t";
    cout<<"小镇";
    Sleep(500);
    cout<<"1.0";
    Sleep(500);
    cout<<"地下城";
    Sleep(1000);
    q();
    zi_mu_1();
}

void player_zi_liao()
{
    q();
    cout<<"\n    名字:"<<xing_ming<<endl;
    cout<<"    金币:"<<jb<<endl;
    cout<<"    伤害:"<<shang_hai<<endl;
    cout<<"    生命:"<<sheng_ming<<endl;
    Sleep(2000);
    game_1();
}

void player()
{
    q();
    cout<<"勇士,请输入你的姓名:";
    cin>>xing_ming;
    game_1();
}

void q()
{
    system("cls");
}

void zi_mu_1()
{
    cout<<"卡罗特小镇的资源一天天流逝,直到今天,资源严重缺乏,你身为勇士,不愿看到大家一个一个被饿**,决定去地下城闯一闯\n";
    system("pause");
    q();
    player();
}

void game_1()
{
    q();
    cout<<"\n";
    cout<<"\t\t小镇\n\n";
    cout<<"\t1.去地下城  2.铁匠铺  3.** 4.查看下个版本更新内容 \n";
    cout<<"你选择:";
    cin>>l;
    if(l==2)
    {
        shop();
    }
    if(l==3)
    {
        player_zi_liao();
    }
    if(l==1)
    {
        game_2();
    }
    if(l==4)
    {
        cout<<"下次更新 英雄 技能 道具 更多战斗** 更多武器和防具 任务** 经验与等级 材料(合成神器)....提前预告:下个版本 小镇2.0新的危机\n";
        system("pause");
        game_1();
    }
}

void shi_bai()
{
    q();
    cout<<"你**亡了(装备不掉落)";
    Sleep(1000);
    q();
    game_1();
}

void game_2()
{
    q();
    int i,k;
    for(i=0;i<14;i++)
    for(k=0;k<100;k++)
    {
        a[i][k]=b[i][k];
    }
    int x=6,y=5; 
    for(i=0; i<=12; i++)
        cout<<a[i]<<endl;
    char ch;
    while(1) 
    {
        if(sheng_ming<=0)
        {
            shi_bai();
        }
        ch=getch();
        if(ch=='w')//S小怪 M大怪 O入口 0你的位置 R小资源 H大资源 @传送门 -道路 |道路 X回血
        {
            if(a[x-1][y]=='-'||a[x-1][y]=='|'||a[x-1][y]=='R'||a[x-1][y]=='S'||a[x-1][y]=='M'||a[x-1][y]=='H'||a[x-1][y]=='X'||a[x-1][y]=='L') 
            {
                if(a[x-1][y]=='H')
                {
                    q();
                    da_ziyuan();
                    q();
                }
                if(a[x-1][y]=='R')
                {
                    q();
                    xiao_ziyuan();
                    q();
                }
                if(a[x-1][y]=='S')
                {
                    q();
                    xiao_guai();
                    q();
                }
                if(a[x-1][y]=='M')
                {
                    q();
                    da_guai();
                    q();
                }
                if(a[x-1][y]=='L')
                {
                    q();
                    ling_zhu();
                    q();
                }
                if(a[x-1][y]=='X')
                {
                    q();
                    hui_xue(); 
                    q();
                }
                if(a[x+1][y]!=' '||a[x-1][y]!=' ')
                {
                    a[x][y]='|';
                }
                else
                {
                    a[x][y]='-';
                }
                x--;
                a[x][y]='0';
                q();
                for(i=0; i<=12; i++)
        cout<<a[i]<<endl;
            }
        }
        if(ch=='s')//S小怪 M大怪 O入口 0你的位置 R小资源 H大资源 @传送门 -道路 |道路 X回血
        {
            if(a[x+1][y]=='-'||a[x+1][y]=='|'||a[x+1][y]=='R'||a[x+1][y]=='S'||a[x+1][y]=='M'||a[x+1][y]=='H'||a[x+1][y]=='X'||a[x+1][y]=='L') 
            {
                if(a[x+1][y]=='H')
                {
                    q();
                    da_ziyuan();
                    q();
                }
                if(a[x+1][y]=='R')
                {
                    q();
                    xiao_ziyuan();
                    q();
                }
                if(a[x+1][y]=='S')
                {
                    q();
                    xiao_guai();
                    q();
                }
                if(a[x+1][y]=='M')
                {
                    q();
                    da_guai();
                    q();
                }
                if(a[x+1][y]=='X')
                {
                    q();
                    hui_xue(); 
                    q();
                }
                if(a[x+1][y]=='L'){
                    q();
                    ling_zhu();
                    q();
                }
                if(a[x+1][y]!=' '||a[x-1][y]!=' ')
                {
                    a[x][y]='|';
                }
                else
                {
                    a[x][y]='-';
                }
                x++;
                a[x][y]='0';
                q();
            for(i=0; i<=12; i++)
        cout<<a[i]<<endl;

            }
        }
        if(ch=='a')//S小怪 M大怪 O入口 0你的位置 R小资源 H大资源 @传送门 -道路 |道路 X回血
        {
            if(a[x][y-1]=='-'||a[x][y-1]=='|'||a[x][y-1]=='R'||a[x][y-1]=='S'||a[x][y-1]=='M'||a[x][y-1]=='H'||a[x][y-1]=='X'||a[x][y-1]=='L') 
            {
                if(a[x][y-1]=='H')
                {
                    q();
                    da_ziyuan();
                    q();
                }
                if(a[x][y-1]=='R')
                {
                    q();
                    xiao_ziyuan();
                    q();
                }
                if(a[x][y-1]=='S')
                {
                    q();
                    xiao_guai();
                    q();
                }
                if(a[x][y-1]=='M')
                {
                    q();
                    da_guai();
                    q();
                }
                if(a[x][y-1]=='X')
                {
                    q();
                    hui_xue(); 
                    q();
                }
                if(a[x+1][y]=='L'){
                    q();
                    ling_zhu();
                    q();
                }
                if(a[x][y+1]!=' '||a[x][y-1]!=' ')
                {
                    a[x][y]='-';
                }
                else
                {
                    a[x][y]='|';
                }
                y--;
                a[x][y]='0';
                q();
            for(i=0; i<=12; i++)
        cout<<a[i]<<endl;

            }
        }
        if(ch=='d')//S小怪 M大怪 O入口 0你的位置 R小资源 H大资源 @传送门 -道路 |道路 X回血
        {
            if(a[x][y+1]=='-'||a[x][y+1]=='|'||a[x][y+1]=='R'||a[x][y+1]=='S'||a[x][y+1]=='M'||a[x][y+1]=='H'||a[x][y+1]=='X'||a[x][y+1]=='@'||a[x][y+1]=='L') 
            {
                if(a[x][y+1]=='H')
                {
                    q();
                    da_ziyuan();
                    q();
                }
                if(a[x][y+1]=='@')
                {
                    q();
                    sheng_li();
                    break;
                }
                if(a[x][y+1]=='R')
                {
                    q();
                    xiao_ziyuan();
                    q();
                }
                if(a[x][y+1]=='S')
                {
                    q();
                    xiao_guai();
                    q();
                }
                if(a[x][y+1]=='M')
                {
                    q();
                    da_guai();
                    q();
                }
                if(a[x][y+1]=='X')
                {
                    q();
                    hui_xue(); 
                    q();
                }
                if(a[x][y+1]!=' '||a[x][y+1]!=' ')
                {
                    a[x][y]='-';
                }
                else
                {
                    a[x][y]='|';
                }
                y++;
                a[x][y]='0';
                q();
                for(i=0; i<=12; i++)
        cout<<a[i]<<endl;

            }
        }
}
}

void shop()
{
    q();
    cout<<"欢迎光临!\n";
    cout<<"请问你需要什么帮助? (注意:伤害和生命值是=关系,不是+的关系,比如你现在伤害是5,买了桃木剑是把伤害变为10,而不是加10)\n";
    cout<<"1.桃木剑    10伤害 20金币\n";
    cout<<"2.铁剑      15伤害 30金币\n";
    cout<<"3.黄金剑    30伤害 40金币\n";
    cout<<"4.钻石剑    40伤害 50金币\n";
    cout<<"5.x光剑     50伤害 100金币\n";
    cout<<"6.皮革甲    10生命 20金币\n";
    cout<<"7.铁甲      15生命 30金币\n";
    cout<<"8.黄金甲    30生命 40金币\n";
    cout<<"9.钻石甲    40生命 50金币\n";
    cout<<"10.激光披风 50生命 100金币\n";
    cout<<"11.黑曜石铠甲 500生命 500金币\n";
    cout<<"12.机枪   50*5伤害 500金币\n";
    cout<<"13.机甲  500生命 100*5伤害 1000金币\n";
    cout<<"14.领主的爷爷  500生命 1000伤害 2000金币\n";
    cout<<"-1.返回\n";
    cout<<"请输入:";
    cin>>j;
    if(j==1||j==6)
    {
        if(jb>=20)
        {
            jb-=20;
            if(j==1)
            shang_hai=10;
            else
            {
                sheng_ming=10;
            sheng_ming_zhi=10;
            }
            game_1();
        }
        else
        cout<<"金币不够"; 
        game_1();
    }
    if(j==2||j==7)
    {
        if(jb>=30)
        {
            jb-=20;
            if(j==2)
            shang_hai=15;
            else
            {
                sheng_ming=15;
            sheng_ming_zhi=15;
            }
            game_1();
        }
        else
        cout<<"金币不够"; 
        game_1();
    }
    if(j==3||j==8)
    {
        if(jb>=40)
        {
            jb-=40;
            if(j==3)
            shang_hai=30;
            else
            {
                sheng_ming=30;
            sheng_ming_zhi=30;
            }
            game_1();
        }
        else
        cout<<"金币不够"; 
        game_1();
    }
    if(j==4||j==9)
    {
        if(jb>=50)
        {
            jb-=50;
            if(j==4)
            shang_hai=40;
            else
            {
                    sheng_ming=40;
            sheng_ming_zhi=40;
            }
            game_1();
        }
        else
        cout<<"金币不够"; 
        game_1();
    }
    if(j==5||j==10)
    {
        if(jb>=100)
        {
            jb-=100;
            if(j==5)
            shang_hai=50;
            else
            {
                sheng_ming=50;
            sheng_ming_zhi=50;  
            }
            game_1();
        }
        else
        cout<<"金币不够"; 
        game_1();
    }
    if(j==11||j==12)
    {
        if(jb>=500)
        {
            jb-=500;
            if(j==2)
            shang_hai=250;
            else
            {
                sheng_ming=500;
            sheng_ming_zhi=5;
            }
            game_1();
        }
        
        
    
}if(j==13)
    {
        if(jb>=1000)
        {
            jb-=1000;
            
            shang_hai=500;
            
                sheng_ming=500;
            sheng_ming_zhi=500;
            
            game_1();
        }
        else
        cout<<"金币不够"; 
        game_1();
    }if(j==111)
    {
        game_1();
    }
    if(j==14)
    {
        if(jb>=2000)
        {
            jb-=2000;
            
            shang_hai=1000;
            
                sheng_ming=500;
            sheng_ming_zhi=500;
            
            game_1();
        }
        else
        cout<<"金币不够"; 
        game_1();
    }
}


int main(){
    


    system("title 小镇1.0地下城");
    s_1();
    return 0;
}


0
0
0
高驰宇
高驰宇
资深光能
资深光能

**了之后再进去,一直都是“你**了”

0
我要回答