一个好玩的游戏(很难过关)

#include <iostream>
#include <ctime>
#include <cstring>
#include <string>
#include <cmath>
#include <algorithm>
#include <queue>
#include <iomanip>
#include <cstdio>
#include <cstdlib>
#include <vector>
#include <stack>
#include <set>
#include <windows.h>
#include <conio.h>
using namespace std;
int main()
{
    //freopen(".in","r",stdin);
    //freopen(".out","w",stdout);
    srand(time(NULL));
    char MAP[100][100]={{"###############################"},{"#@....#....@#*........@#@*...##"}, {"#.......*...#@.........#..##.##"},{"#*....#.....#..........#..##.##"},{"####.######.####...#########.##"},{"#@....#......................##"},{"#..##.#......................##"},{"#..##.#...#####################"},{"#.........#....*@.#.......@..##"},{"#..y@.#...#.......#..........%#"},{"#######...#.......#..........%#"},{"#@.*......######.####.##########"},{"#.....#......................##"},{"###############################"}}; 
    int i,j,x=9,y=3,ax=4,ay=18,c=0;
    char yt='.',ayt='.';
    cout<<"欢迎来到鬼屋逃生游戏,用wasd操作,y是你的位置,#是墙,@是柜子,可以躲柜子里不受怪物攻击,a是怪物,速度是你2倍,每当你拿起一个钥匙,怪物自动传送你身旁,会杀死你的呕!!!*就是钥匙,%是大门,需攒齐六个钥匙才能逃脱!!!"<<endl;
    system("pause");
    bool flag=true;
    while(flag)
    {
        bool flag1=true;;
        if(MAP[x+1][y]=='a'||MAP[x-1][y]=='a'||MAP[x][y+1]=='a'||MAP[x][y-1]=='a'||MAP[x+1][y+1]=='a'||MAP[x-1][y-1]=='a'||MAP[x-1][y+1]=='a'||MAP[x+1][y-1]=='a')
        {
            if(MAP[x][y]!='@')
            {
            cout<<"你死了!!!"<<endl;
                system("pause");
            return 0; 

            }
        }
        if(MAP[x+1][y]=='%'||MAP[x-1][y]=='%'||MAP[x][y+1]=='%'||MAP[x][y-1]=='%'||MAP[x+1][y+1]=='%'||MAP[x-1][y-1]=='%'||MAP[x-1][y+1]=='%'||MAP[x+1][y-1]=='%')
        {

            if(c==6)
            {
                cout<<"游戏成功,逃脱成功!!!"<<endl;
                system("pause");
                return 0; 
            }
            else
            {
                cout<<"钥匙不够!!!"<<endl;
                system("pause");
            }
        }
        for(i=0; i<=14; i++)
        {
            for(j=0; j<=31; j++)
            {
                cout<<MAP[i][j];
            }
            cout<<endl;
        }
        char t=getch();
        if(t=='w'&&MAP[x-1][y]!='#'&&MAP[x-1][y]!='a'&&MAP[x-1][y]!='&')
        {
        MAP[x][y]=yt;
            x--;
            yt=MAP[x][y];
            if(yt=='@')
            MAP[x][y]='@';
            else
            MAP[x][y]='y';
            if(yt=='*')
            {
                flag1=false;
                yt='.';
                c++;
                MAP[ax][ay]=ayt;
                ay=y+2;
                ax=x;
                 MAP[x][y+2]='a';
            }

        }
        if(t=='a'&&MAP[x][y-1]!='#'&&MAP[x][y-1]!='a'&&MAP[x][y-1]!='&')
        {
        MAP[x][y]=yt;
            y--;
            yt=MAP[x][y];
            if(yt=='@')
            MAP[x][y]='@';
            else
            MAP[x][y]='y';
            if(yt=='*')
            {
                flag1=false;
                yt='.';
                MAP[ax][ay]=ayt;
                c++;
                ay=y+2;
                ax=x;
                 MAP[x][y+2]='a';
            }
        }
        if(t=='s'&&MAP[x+1][y]!='#'&&MAP[x+1][y]!='a'&&MAP[x+1][y]!='&')
        {
        MAP[x][y]=yt;
            x++;
            yt=MAP[x][y];
            if(yt=='@')
            MAP[x][y]='@';
            else
            MAP[x][y]='y';
            if(yt=='*')
            {
                flag1=false;
                yt='.';
                c++;
                MAP[ax][ay]=ayt;
                ay=y+2;
                ax=x;
                 MAP[x][y+2]='a';
            }
            if(yt=='&')
            {
                if(c==7)
                {
                    cout<<"游戏成功!!!逃脱鬼屋!!!"<<endl;
                    return 0;
                }
                else
                {
                    cout<<"钥匙不够!!!"<<endl;
                    x--;
                    yt=MAP[x][y];
                    MAP[x][y]='y';
                    MAP[x-1][y]='&';
                }
            } 
        }
        if(t=='d'&&MAP[x][y+1]!='#'&&MAP[x][y+1]!='a'&&MAP[x][y+1]!='&')
        {
        MAP[x][y]=yt;
            y++;
            yt=MAP[x][y];
            if(yt=='@')
            MAP[x][y]='@';
            else
            MAP[x][y]='y';
            if(yt=='*')
            {
                flag1=false;
                yt='.';
                c++;
                MAP[ax][ay]=ayt;
                ay=y+2;
                ax=x;
                 MAP[x][y+2]='a';
            }

        }
        if(flag1)
        {
            int ar=rand()%4;
        if(ar==0&&MAP[ax-1][ay]!='#'&&MAP[ax-1][ay]!='@'&&MAP[ax-1][ay]!='&'&MAP[ax-1][ay]!='y')
        {
            MAP[ax][ay]=ayt;
            ax--;
            ayt=MAP[ax][ay];
            MAP[ax][ay]='a';
        }
        else if(ar==1&&MAP[ax][ay-1]!='#'&&MAP[ax][ay-1]!='@'&&MAP[ax][ay-1]!='&'&&MAP[ax][ay-1]!='y')
        {
            MAP[ax][ay]=ayt;
            ay--;
            ayt=MAP[ax][ay];
            MAP[ax][ay]='a';
        }
        else if(ar==2&&MAP[ax+1][ay]!='#'&&MAP[ax+1][ay]!='@'&&MAP[ax+1][ay]!='&'&&MAP[ax+1][ay]!='y')
        {
            MAP[ax][ay]=ayt;
            ax++;
            ayt=MAP[ax][ay];
            MAP[ax][ay]='a';
        }
        else if(ar==3&&MAP[ax][ay+1]!='#'&&MAP[ax][ay+1]!='@'&&MAP[ax][ay+1]!='&'&&MAP[ax][ay+1]!='y')
        {
            MAP[ax][ay]=ayt;
            ay++;
            ayt=MAP[ax][ay];
            MAP[ax][ay]='a';
        }
        }

        system("cls");
    }

                system("pause");
    return 0;
}

好的,我可以为您编写一个简单的文字冒险游戏游戏的故事背景是您是一位探险家,正在寻找一颗失落的宝石。在您的冒险旅程中,您将遇到各种挑战和难题。以下是一个简单的游戏示例: 欢迎来到“寻找失落的宝石”游戏!您是一位探险家,正在寻找一颗失落的宝石。您将面临各种难题和挑战,需要通过解谜和冒险来寻找宝石。 您来到了一个神秘的森林中,看到了两条路:一条是通往北方的小路,另一条是通往东方的大路。请问您要选择哪条路前进呢? >北方小路 您选择了往北方小路前进。在路途中,您看到了一位老人,他看起来非常疲惫和饥饿。您决定帮助他。 老人感激地接受了您的帮助,他告诉您宝石的下落地点是在一座陡峭的山峰上。他给了您一个地图,并告诉您如何到达山峰。 您继续前进,穿过了一片茂密的树林和一条溪流。在路途中,您发现了一个神秘的洞穴。您决定进入洞穴看看。 >进入洞穴 您进入了洞穴,发现了一些宝藏和陷阱。您成功地通过了所有的陷阱,并获得了一些有用的物品。 您发现了一道门,但需要输入密码才能进入。您搜索了整个洞穴,最终找到了密码。您输入密码,门打开了。 您来到了宝石所在的山峰,但在您接近宝石时,您发现了一个守卫。您需要通过一些谜题来打败守卫,才能得到宝石。 >通过谜题 您成功地通过了所有的谜题,打败了守卫。您终于得到了失落的宝石!恭喜您完成了这次冒险。 这是一个简单的游戏示例,您可以根据自己的喜好和想象力来编写更加复杂和有趣的游戏
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值