【原创】【程序小游戏】迷宫(版本1)

迷宫

很早很早很早很早很早以前写的一个代码,扔出来晒晒,不然会发霉。。。。还有BUG。。。。
那时候还不知道函数,不懂数组,Ah,500行!

找时间重写一个吧。。。

规则

这个不需要讲吧。。。。

代码

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <conio.h>
#include <time.h>
//打开相关头文件

int main()
{
    system("color 1a");//0~9,A~F
    char a[50][50]={"##############################",
                            "#o  $ $ $ #   ##  $N@#$##  $N@",
                            "# ###### # # # $ $#$#$###$####",
                            "# # $ ## #$$ #$#### # ###$  ##",
                            "#  $# ##$ ###   $#  #  ## ####",
                            "##### #  $  # ##### # $   ####",
                            "#   # ##### #   #  $# # #    #",
                            "# # #$   ## # #### ## # # ####",
                            "#$# # ##    $ ##  $  $# # ####",
                            "# # # ####### ## ###### #   ##",
                            "#$# $ ##   #@N# ###### ###   #",
                            "# ###### # #####$$#  $     # #",
							"#  $ $ $$# #    $##### ### # #",
                            "# ########$##### ##### ### # #",
                            "#$$$$$# ## ##### ### $     ###",
                            "#####$#$##$#   $ $######## # #",
                            "#$$$$$# ## ##$### $      #$  #",
                            "#$#$###$  $ $ ###### ####### #",
                            "#N#$ $ ###1##$ $ $ #  $ $ $  #",
                            "#@############################",
                            "    C 2 0 1 8 2 0 3 0 E P I C"
        };
    int i,x,y,p,q,sum=0,p1,q1,p2,q2,p3,q3;
    char ch;    
    x=1;    y=1;
    p1=1;   q1=29;
    p2=19;  q2=1;
    p3=1;   q3=20;
    p=10;   q=12;
    printf("Welcome to the Game!\n");
    Sleep(2000);
    printf("I am C20182030Epic!\n");
    Sleep(2000);
    printf("If you want to win this game,you must eat the really'@'!\n");
    Sleep(2000);
    printf("Or you will lose!\n");
    Sleep(2000);
    printf("Ready?\n");
    Sleep(2000);
    printf("Let's begin!\nHope you will have fun with my game!");
    Sleep(3500);
    system("cls");
    printf("  Level 1 begins!\n\n\n  by C20182030Epic");
    Sleep(3500);
    system("cls");

    for(i=0;i<=22;i++) //输出地图
        puts(a[i]);

    while(x!=p || y!=q) //判断是否走到出口
    {  
            ch=getch();
            if(x==p1 && y==q1)
            {
                system("cls");
                printf("You Die!\n");
                Sleep(1000);
                printf("You lose %d$!\n",sum);
                Sleep(1000);
                printf("You are a loser!L-O-S-E-R!");
                Sleep(3000);
                return 0;
            }
            if(x==p2 && y==q2)
            {
                system("cls");
                printf("You Die!\n");
                Sleep(1000);
                printf("You lose %d$!\n",sum);
                Sleep(1000);
                printf("You are a loser!L-O-S-E-R!");
                Sleep(3000);
                return 0;
            }
            if(x==p3 && y==q3)
            {
                system("cls");
                printf("You Die!\n");
                Sleep(1000);
                printf("You lose %d$!\n",sum);
                Sleep(1000);
                printf("You are a loser!L-O-S-E-R!");
                Sleep(3000);
                return 0;
            }
            if(a[x+1][y]=='1'||a[x-1][y]=='1'||a[x][y+1]=='1'||a[x][y-1]=='1')
            {
                a[1][1]='2';
                a[18][10]=' ';
            }
            if(a[x+1][y]=='2'||a[x-1][y]=='2'||a[x][y+1]=='2'||a[x][y-1]=='2')
            {
                a[5][13]='3';
                a[1][1]=' ';
            }
            if(a[x+1][y]=='3'||a[x-1][y]=='3'||a[x][y+1]=='3'||a[x][y-1]=='3')
            {
                a[8][8]='4';
                a[5][13]=' ';
            }
            if(a[x+1][y]=='4'||a[x-1][y]=='4'||a[x][y+1]=='4'||a[x][y-1]=='4')
            {
                a[18][15]='5';
                a[8][8]=' ';
            }
            if(a[x+1][y]=='5'||a[x-1][y]=='5'||a[x][y+1]=='5'||a[x][y-1]=='5')
            {
                a[4][18]='X';
                a[18][15]=' ';
            }
            if(a[x+1][y]=='X'||a[x-1][y]=='X'||a[x][y+1]=='X'||a[x][y-1]=='X')
            {
                a[1][19]='$';
                a[1][28]='$';
                a[18][1]='$';
                a[10][13]='$';
                a[4][18]=' ';
            }


            if(ch=='s')
                if(a[x+1][y]!='#'&&a[x+1][y]!='N')
                {
                    if(a[x+1][y]=='$')sum++;
                    a[x][y]=' ';
                    x++;
                    a[x][y]='o';
                }
            if(ch=='w')
                if(a[x-1][y]!='#'&&a[x-1][y]!='N')
                {
                    if(a[x-1][y]=='$')sum++;
                    a[x][y]=' ';
                    x--;
                    a[x][y]='o';
                }           
            if(ch=='a')         
                if(a[x][y-1]!='#'&&a[x][y-1]!='N')
                {
                    if(a[x][y-1]=='$')sum++;
                    a[x][y]=' ';
                    y--;            
                    a[x][y]='o';
                }
            if(ch=='d')
                if(a[x][y+1]!='#'&&a[x][y+1]!='N')
                {
                    if(a[x][y+1]=='$')sum++;
                    a[x][y]=' ';
                    y++;
                    a[x][y]='o';
                }


                if(ch=='S')
                {
                    if(a[x+1][y]=='$')sum++;
                    a[x][y]=' ';
                    x++;
                    a[x][y]='o';
                }
            if(ch=='W')
                {
                    if(a[x-1][y]=='$')sum++;
                    a[x][y]=' ';
                    x--;
                    a[x][y]='o';
                }           
            if(ch=='A')         
                {
                    if(a[x][y-1]=='$')sum++;
                    a[x][y]=' ';
                    y--;            
                    a[x][y]='o';
                }
            if(ch=='D')
                {
                    if(a[x][y+1]=='$')sum++;
                    a[x][y]=' ';
                    y++;
                    a[x][y]='o';
                }

        system("cls");//清屏
        for(i=0;i<=22;i++)
            puts(a[i]);
    }
    system("cls");
    printf("  \n  Level 1 finishes!\n");
    Sleep(1500);
    printf("  \n  Level 2 begins!\n\n  by C20181220");
    Sleep(3500);
    system("cls");

    char a1[7][40]={
                   "###@###########",
                   "#o #8 8 8 8  8#8",
                   "# ##   #888####",
                   "# 8# 8  #####",
                   "##  8  #",
                   "#########",
    };
    int l,a5,b,c,d,sum1;    
    x=1;y=1;p=0;q=3;sum1=0;
    srand((unsigned)time(NULL));
    a5=rand()%100;
    b=(a5+1414414)%100;
    c=(b+554*31)%100;
    d=(c*55-1231)%10;

    for(i=0;i<=5;i++)
        puts(a1[i]);

    while(x!=p || y!=q)
    {
        ch=getch();
        if(ch=='s')//向下移动
        {
            if(a1[x+1][y]!='#')
            {
                if(a1[x+1][y]=='8') sum1++;
                a1[x][y]=' ';
                x++;
                a1[x][y]='o';
            }
        }
        if(ch=='w')//向上移动
            if(a1[x-1][y]!='#')
            {
                if(a1[x-1][y]=='8') sum1++;
                a1[x][y]=' ';
                x--;
                a1[x][y]='o';
            }           
        if(ch=='a') //向左移动      
            if(a1[x][y-1]!='#')
            {
                if(a1[x][y-1]=='8') sum1++;
                a1[x][y]=' ';
                y--;            
                a1[x][y]='o';
            }
        if(ch=='d')//向右移动
            if(a1[x][y+1]!='#')
            {
                if(a1[x][y+1]=='8') sum1++;
                a1[x][y]=' ';
                y++;
                a1[x][y]='o';
            }
            if(ch=='S')
                {
                    if(a1[x+1][y]=='8')sum++;
                    a1[x][y]=' ';
                    x++;
                    a1[x][y]='o';
                }
            if(ch=='W')
                {
                    if(a1[x-1][y]=='8')sum++;
                    a1[x][y]=' ';
                    x--;
                    a1[x][y]='o';
                }           
            if(ch=='A')         
                {
                    if(a1[x][y-1]=='8')sum++;
                    a1[x][y]=' ';
                    y--;            
                    a1[x][y]='o';
                }
            if(ch=='D')
                {
                    if(a1[x][y+1]=='8')sum++;
                    a1[x][y]=' ';
                    y++;
                    a1[x][y]='o';
                }
        system("cls");//清屏
        if(sum1==7) a1[1][3]=' ';
        for(i=0;i<=5;i++)
            puts(a1[i]);
    }

    system("cls");
    printf("Beng!!\n");
    Sleep(600);
    printf("Zha la!\n");
    Sleep(600);
    printf("hahahahaha!\n");
    printf("%d+%d=",a5,b);
    Sleep(300);
    scanf("%d",&l);
    if(l==a5+b)
    {
        sum+=l;
        sum+=sum1;
        printf("%d*%d=",c,d);
        scanf("%d",&l);
        if(l==c*d)
        {
            sum+=l;
            printf("Bang!!\nhahahaha!\nThank C20181220\n");
            Sleep(2500);
        }
        else 
        {
            printf("You wrong!!!!!\nThank C20181220\n");
            Sleep(2500);
            return 0;
        }
    }
    else 
    {
        printf("You wrong!!!!!\nThank C20181220\n");
        Sleep(2500);
        return 0;
    }

    system("cls");
    printf("  \n  Level 2 finishes!\n");
    Sleep(1500);
    printf("  \n  Level 3 begins!\n\n  by C20181220");
    Sleep(3500);
    system("cls");

    x=1;
    y=1;
    char a2[7][40]={
                   "###@###########",
                   "#o #8 8       #8",
                   "# ##   #  8####",
                   "# 8# 8  #####",
                   "##  8  #",
                   "#########",
                    };
    sum1=0;
    for(i=0;i<=5;i++)
        puts(a2[i]);

    while(x!=p || y!=q)
    {
        ch=getch();
        if(ch=='s')//向下移动
        {
            if(a2[x+1][y]!='#')
            {
                if(a2[x+1][y]=='8') sum1++;
                a2[x][y]=' ';
                x++;
                a2[x][y]='o';
            }
        }
        if(ch=='w')//向上移动
            if(a2[x-1][y]!='#')
            {
                if(a2[x-1][y]=='8') sum1++;
                a2[x][y]=' ';
                x--;
                a2[x][y]='o';
            }           
        if(ch=='a') //向左移动      
            if(a2[x][y-1]!='#')
            {
                if(a2[x][y-1]=='8') sum1++;
                a2[x][y]=' ';
                y--;            
                a2[x][y]='o';
            }
        if(ch=='d')//向右移动
            if(a2[x][y+1]!='#')
            {
                if(a2[x][y+1]=='8') sum1++;
                a2[x][y]=' ';
                y++;
                a2[x][y]='o';
            }
            if(ch=='S')
                {
                    if(a2[x+1][y]=='8')sum++;
                    a2[x][y]=' ';
                    x++;
                    a2[x][y]='o';
                }
            if(ch=='W')
                {
                    if(a2[x-1][y]=='8')sum++;
                    a2[x][y]=' ';
                    x--;
                    a2[x][y]='o';
                }           
            if(ch=='A')         
                {
                    if(a2[x][y-1]=='8')sum++;
                    a2[x][y]=' ';
                    y--;            
                    a2[x][y]='o';
                }
            if(ch=='D')
                {
                    if(a2[x][y+1]=='8')sum++;
                    a2[x][y]=' ';
                    y++;
                    a2[x][y]='o';
                }
        system("cls");//清屏
        if(sum1==6) a2[1][3]=' ';
        for(i=0;i<=5;i++)
            puts(a2[i]);
    }

    system("cls");
    printf("You win!\n");
    Sleep(500);
    printf("You have %d$!\nYou are a rich man now!HAHAHAHA!\n",sum);
    Sleep(1500);
    printf("I'm C20182030Epic.\nThank C20181220!\n");
    Sleep(2500);
    system("cls");
    return 0;
}
/*
    system("cls");
    printf("  \n  Level 3 finishes!\n");
    Sleep(1500);
    printf("  \n  Level 4 begins!\n\n  by ZhouZi Wenyan");
    Sleep(3500);
    system("cls");
    char a3[100][100]={
                    "#########",
                    "#o       #",
                    "#Do You Like This Game?      #",
                    "#   A.    B.#",
                    "#  Yes No#",
                    "#        #",
                    "#        #",
                    "#########",
                  };
    x=1;y=1;
    for(i=0;i<=8;i++)
        puts(a3[i]);

    while(x!=p || y!=q)
    {
        ch=getch();
        if(ch=='s')//向下移动
        {
            if(a3[x+1][y]!='#')
            {
                if(a3[x+1][y]=='8') sum1++;
                a3[x][y]=' ';
                x++;
                a3[x][y]='o';
            }
        }
        if(ch=='w')//向上移动
            if(a3[x-1][y]!='#')
            {
                if(a3[x-1][y]=='8') sum1++;
                a3[x][y]=' ';
                x--;
                a3[x][y]='o';
            }           
        if(ch=='a') //向左移动      
            if(a3[x][y-1]!='#')
            {
                if(a3[x][y-1]=='8') sum1++;
                a3[x][y]=' ';
                y--;            
                a3[x][y]='o';
            }
        if(ch=='d')//向右移动
            if(a3[x][y+1]!='#')
            {
                if(a3[x][y+1]=='8') sum1++;
                a3[x][y]=' ';
                y++;
                a3[x][y]='o';
            }
        system("cls");//清屏
        for(i=0;i<=8;i++)
            puts(a3[i]);
    }
*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值