C++推箱子的后续(颜色和字符读取)

上次的推箱子教程后,有小伙伴说希望发添加颜色的代码,那么今天小编就来说一说颜色和一些其他知识:

关于读取字符

1.getchar()

上次说到需要输入按键“w,a,s,d”来使小人移动,但还不能每次输入后都按一下回车。那么今天又是讲干货的一天:
若要读取字符,我们可以:

char a;
cin>>a;

或是c语言的:

char a;
scanf("%c",&a);

但其实我们还可以用其他方法:

char a;
a=getchar();

a=getchar();与scanf("%c",&a);的作用是完全一样的,但是学过算法的同学都知道,当遇到循环时候a=getchaar();就会出问题。这是因为:getchar()的作用是从stdin流中读入一个字符,也就是说,如果stdin有数据的话不用输入它就可以直接读取了,第一次getchar()时,确实需要人工的输入,但是如果你输了多个字符,以后的getchar()再执行时就会直接从缓冲区中读取了。实际上是 输入设备->内存缓冲区->程序getchar。你按的键是放进缓冲区了,然后供程序getchar()。当遇到循环时,多次的getchar()会受到回车的影响。因为上一次循环输入时你按下了回车,所以下一次循环到getchar()时就会读取你上一次的“\n”。如果需要取消’\n’的影响,可以用getchar();来清除,这里getchar();只是取得了’\n’但是并没有赋给任何字符变量,所以不会有影响,相当于清除了这个字符。而且getchar()会带有回显,你如果连续输入三次a,并将读取的内容输入,将会看到aaaa,这就是getchar()的回显效果。

2.getche()

getche()也是用来读取字符,用法与getchar()一样。

char a;
a=getche();

但是getche()可是省略我们输入的那一次回车,代码:

#include
#include
using namespace std;
int main()
{
    char a;
    a=getche();
    cout<<"你刚输入了"<

当你输入了5后会立刻显示”你刚输入了5“。并且还是带有回显。
在这里插入图片描述

3.getch()

接下来就是上次推箱子中讲到的getch()了,getch()的输入既不需要按下回车,结果也不会带有回显。当考虑到做游戏,做菜单或者一些应用类程序时还是比较实用的。

下面总结一下,
getchar()读取一个字符,输入后需要等待“Enter”才能读取,并且带有回显。
getche()读取一个字符,输入后不需要等待“Enter”,直接读取,并且带有回显。
getch()读取一个字符,输入后不需要等待“Enter”才能读取,没有回显。

getche()和getch()是很实用的读取字符代码可以用来开发应用游戏等,但是如果是搞竞赛和算法的同学不要去使用,这是无效的代码。

关于颜色

颜色的代码也很简单,不需要特殊的头文件

system("color a");

在你的代码开头加上它,再运行。。你会发现字变绿了。
如果加上:

system("color a0");

哇!好绿哇!
color即是改变颜色的代码,后面的数字与color用空格隔开,并且数字是16进制的,第一个数是背景色,第二个数是字的颜色。如果单独一个数就是字的颜色。
这里是16进制数分别代表的颜色

0黑色
1蓝色
2绿色
3湖蓝色
4红色
5紫色
6黄色
7白色
8灰色
9淡蓝色
A淡绿色
B淡浅绿色
C淡红色
D淡紫色
E淡黄色
F亮白色

过关变色的推箱子

有了今天的颜色代码,就可以在你的推箱子中加上色彩了,下面是我的前四关变色推箱子(函数版):

#include
#include
#include
#include
#include
using namespace std;
void check1(char a[][20])
{
        if(a[6][3]=='O')
            a[6][3]='@';
        if(a[3][6]=='O')
            a[3][6]='@';
        if(a[9][7]=='O')
            a[9][7]='@';
        if(a[6][11]=='O')
            a[6][11]='@';
        if(a[6][3]==' ')
            a[6][3]='*';
        if(a[3][6]==' ')
            a[3][6]='*';
        if(a[9][7]==' ')
            a[9][7]='*';
        if(a[6][11]==' ')
            a[6][11]='*';
}
void check2(char a[][20])
{
        if(a[5][9]=='O')
            a[5][9]='@';
        if(a[6][9]=='O')
            a[6][9]='@';
        if(a[7][9]=='O')
            a[7][9]='@';
        if(a[5][9]==' ')
            a[5][9]='*';
        if(a[6][9]==' ')
            a[6][9]='*';
        if(a[7][9]==' ')
            a[7][9]='*';
}
void check3(char a[][20])
{
        if(a[6][4]=='O')
            a[6][4]='@';
        if(a[6][5]=='O')
            a[6][5]='@';
        if(a[7][4]=='O')
            a[7][4]='@';
        if(a[7][5]=='O')
            a[7][5]='@';
        if(a[6][4]==' ')
            a[6][4]='*';
        if(a[6][5]==' ')
            a[6][5]='*';
        if(a[7][4]==' ')
            a[7][4]='*';
        if(a[7][5]==' ')
            a[7][5]='*';
}
void check4(char a[][20])
{
        if(a[7][3]=='O')
            a[7][3]='@';
        if(a[8][3]=='O')
            a[8][3]='@';
        if(a[8][4]=='O')
            a[8][4]='@';
        if(a[8][5]=='O')
            a[8][5]='@';
        if(a[8][6]=='O')
            a[8][6]='@';
        if(a[7][3]==' ')
            a[7][3]='*';
        if(a[8][3]==' ')
            a[8][3]='*';
        if(a[8][4]==' ')
            a[8][4]='*';
        if(a[8][5]==' ')
            a[8][5]='*';
        if(a[8][6]==' ')
            a[8][6]='*';
}
void first()
{
 a:
    char a[20][20]={"             ",
                    "             ",
                    "     ###     ",
                    "     #*#     ",
                    "     # #     ",
                    "  ####O######",
                    "  #*  OH O *#",
                    "  #####O#####",
                    "      # #    ",
                    "      #*#    ",
                    "      ###    "};
    system("cls");
    for(int i=0;i<=11;i++)
        {
            puts(a[i]);
        }
    int x,y;
    x=6,y=7;
    while(1)
    {
        char z;
        z=getch();
        if(z=='w')
        {
            if(a[x-1][y]!='#')
            {
                if(a[x-2][y]!='#'&&a[x-1][y]=='O'&&a[x-2][y]!='O'&&a[x-2][y]!='@')
                {
                    a[x][y]=' ';
                    x--;
                    a[x][y]='H';
                    a[x-1][y]='O';
                }
                else if(a[x-2][y]!='#'&&a[x-1][y]=='@'&&a[x-2][y]!='O'&&a[x-2][y]!='@'&&a[x-2][y]!=' ')
                {
                    a[x][y]=' ';
                    x--;
                    a[x][y]='H';
                    a[x-1][y]='@';
                }
                else if(a[x-2][y]!='#'&&a[x-1][y]=='@'&&a[x-2][y]!='O'&&a[x-2][y]!='@'&&a[x-2][y]==' ')
                {
                    a[x][y]=' ';
                    x--;
                    a[x][y]='H';
                    a[x-1][y]='O';
                }
                else if(a[x-1][y]!='O'&&a[x-1][y]!='@')
                {
                    a[x][y]=' ';
                    x--;
                    a[x][y]='H';
                }
            }
        }
        if(z=='a')
        {
            if(a[x][y-1]!='#')
            {
                if(a[x][y-2]!='#'&&a[x][y-1]=='O'&&a[x][y-2]!='O'&&a[x][y-2]!='@')
                {
                    a[x][y]=' ';
                    y--;
                    a[x][y]='H';
                    a[x][y-1]='O';
                }
                else if(a[x][y-2]!='#'&&a[x][y-1]=='@'&&a[x][y-2]!='O'&&a[x][y-2]!='@'&&a[x][y-2]!=' ')
                {
                    a[x][y]=' ';
                    y--;
                    a[x][y]='H';
                    a[x][y-1]='@';
                }
                else if(a[x][y-2]!='#'&&a[x][y-1]=='@'&&a[x][y-2]!='O'&&a[x][y-2]!='@'&&a[x][y-2]==' ')
                {
                    a[x][y]=' ';
                    y--;
                    a[x][y]='H';
                    a[x][y-1]='O';
                }
                else if(a[x][y-1]!='O'&&a[x][y-1]!='@')
                {
                    a[x][y]=' ';
                    y--;
                    a[x][y]='H';
                }
            }
        }
        if(z=='d')
        {
            if(a[x][y+1]!='#')
            {
                if(a[x][y+2]!='#'&&a[x][y+1]=='O'&&a[x][y+2]!='O'&&a[x][y+2]!='@')
                {
                    a[x][y]=' ';
                    y++;
                    a[x][y]='H';
                    a[x][y+1]='O';
                }
                else if(a[x][y+2]!='#'&&a[x][y+1]=='@'&&a[x][y+2]!='@'&&a[x][y+2]!='O'&&a[x][y+2]!=' ')
                {
                    a[x][y]=' ';
                    y++;
                    a[x][y]='H';
                    a[x][y+1]='@';
                }
                else if(a[x][y+2]!='#'&&a[x][y+1]=='@'&&a[x][y+2]!='@'&&a[x][y+2]!='O'&&a[x][y+2]==' ')
                {
                    a[x][y]=' ';
                    y++;
                    a[x][y]='H';
                    a[x][y+1]='O';
                }
                else if(a[x][y+1]!='O'&&a[x][y+1]!='@')
                {
                    a[x][y]=' ';
                    y++;
                    a[x][y]='H';
                }
            }
        }
        if(z=='s')
        {
            if(a[x+1][y]!='#')
            {
                if(a[x+2][y]!='#'&&a[x+1][y]=='O'&&a[x+2][y]!='O'&&a[x+2][y]!='@')
                {
                    a[x][y]=' ';
                    x++;
                    a[x][y]='H';
                    a[x+1][y]='O';
                }
                else if(a[x+2][y]!='#'&&a[x+1][y]=='@'&&a[x+2][y]!='O'&&a[x+2][y]!='@'&&a[x+2][y]!=' ')
                {
                    a[x][y]=' ';
                    x++;
                    a[x][y]='H';
                    a[x+1][y]='@';
                }
                else if(a[x+2][y]!='#'&&a[x+1][y]=='@'&&a[x+2][y]!='O'&&a[x+2][y]!='@'&&a[x+2][y]==' ')
                {
                    a[x][y]=' ';
                    x++;
                    a[x][y]='H';
                    a[x+1][y]='O';
                }
                else if(a[x+1][y]!='O'&&a[x+1][y]!='@')
                {
                    a[x][y]=' ';
                    x++;
                    a[x][y]='H';
                }
            }
        }
        if(z=='r')
            goto a;
        check1(a);
        if(a[6][3]=='@'&&a[6][11]=='@'&&a[9][7]=='@'&&a[3][6]=='@')
            break;
        system("cls");
        for(int i=0;i<=11;i++)
        {
            puts(a[i]);
        }
    }
    system("cls");
    cout<<"you win!";
    Sleep(3000);
}
void second()
{
b:
    system("color 2");
    char a[20][20]={"            ",
                    "            ",
                    "  #####     ",
                    "  #H  #     ",
                    "  # OO# ### ",
                    "  # O # #*# ",
                    "  ### ###*# ",
                    "   ##    *# ",
                    "   #   #  # ",
                    "   #   #### ",
                    "   #####    ",};
    system("cls");
    for(int i=0;i<=11;i++)
        {
            puts(a[i]);
        }
    int x,y;
    x=3,y=3;
    while(1)
    {
        char z;
        z=getch();
        if(z=='r')
            goto b;
        if(z=='w')
        {
            if(a[x-1][y]!='#')
            {
                if(a[x-2][y]!='#'&&a[x-1][y]=='O'&&a[x-2][y]!='O'&&a[x-2][y]!='@')
                {
                    a[x][y]=' ';
                    x--;
                    a[x][y]='H';
                    a[x-1][y]='O';
                }
                else if(a[x-2][y]!='#'&&a[x-1][y]=='@'&&a[x-2][y]!='O'&&a[x-2][y]!='@')
                {
                    a[x][y]=' ';
                    x--;
                    a[x][y]='H';
                    a[x-1][y]='@';
                }
                else if(a[x-1][y]!='O'&&a[x-1][y]!='@')
                {
                    a[x][y]=' ';
                    x--;
                    a[x][y]='H';
                }
            }
        }
        if(z=='a')
        {
            if(a[x][y-1]!='#')
            {
                if(a[x][y-2]!='#'&&a[x][y-1]=='O'&&a[x][y-2]!='O'&&a[x][y-2]!='@')
                {
                    a[x][y]=' ';
                    y--;
                    a[x][y]='H';
                    a[x][y-1]='O';
                }
                else if(a[x][y-2]!='#'&&a[x][y-1]=='@'&&a[x][y-2]!='O'&&a[x][y-2]!='@')
                {
                    a[x][y]=' ';
                    y--;
                    a[x][y]='H';
                    a[x][y-1]='@';
                }
                else if(a[x][y-1]!='O'&&a[x][y-1]!='@')
                {
                    a[x][y]=' ';
                    y--;
                    a[x][y]='H';
                }
            }
        }
        if(z=='d')
        {
            if(a[x][y+1]!='#')
            {
                if(a[x][y+2]!='#'&&a[x][y+1]=='O'&&a[x][y+2]!='O'&&a[x][y+2]!='@')
                {
                    a[x][y]=' ';
                    y++;
                    a[x][y]='H';
                    a[x][y+1]='O';
                }
                else if(a[x][y+2]!='#'&&a[x][y+1]=='@'&&a[x][y+2]!='@'&&a[x][y+2]!='O')
                {
                    a[x][y]=' ';
                    y++;
                    a[x][y]='H';
                    a[x][y+1]='@';
                }
                else if(a[x][y+1]!='O'&&a[x][y+1]!='@')
                {
                    a[x][y]=' ';
                    y++;
                    a[x][y]='H';
                }
            }
        }
        if(z=='s')
        {
            if(a[x+1][y]!='#')
            {
                if(a[x+2][y]!='#'&&a[x+1][y]=='O'&&a[x+2][y]!='O'&&a[x+2][y]!='@')
                {
                    a[x][y]=' ';
                    x++;
                    a[x][y]='H';
                    a[x+1][y]='O';
                }
                else if(a[x+2][y]!='#'&&a[x+1][y]=='@'&&a[x+2][y]!='O'&&a[x+2][y]!='@')
                {
                    a[x][y]=' ';
                    x++;
                    a[x][y]='H';
                    a[x+1][y]='@';
                }
                else if(a[x+1][y]!='O'&&a[x+1][y]!='@')
                {
                    a[x][y]=' ';
                    x++;
                    a[x][y]='H';
                }
            }
        }
        check2(a);
        if(a[5][9]=='@'&&a[6][9]=='@'&&a[7][9]=='@')
            break;
        system("cls");
        for(int i=0;i<=11;i++)
        {
            puts(a[i]);
        }
    }
    system("cls");
    cout<<"you win!";
    Sleep(3000);
}
void third()
{
c:
    system("color 1");
    char a[20][20]={"             ",
                    "             ",
                    "   #######   ",
                    "   #     ### ",
                    "  ##O###   # ",
                    "  # H O  O # ",
                    "  # **# O ## ",
                    "  ##**#   #  ",
                    "   ########  ",
                    "             ",
                    "             ",};
    system("cls");
    for(int i=0;i<=11;i++)
        {
            puts(a[i]);
        }
    int x,y;
    x=5,y=4;
    while(1)
    {
        char z;
        z=getch();
        if(z=='r')
            goto c;
        if(z=='w')
        {
            if(a[x-1][y]!='#')
            {
                if(a[x-2][y]!='#'&&a[x-1][y]=='O'&&a[x-2][y]!='O'&&a[x-2][y]!='@')
                {
                    a[x][y]=' ';
                    x--;
                    a[x][y]='H';
                    a[x-1][y]='O';
                }
                else if(a[x-2][y]!='#'&&a[x-1][y]=='@'&&a[x-2][y]!='O'&&a[x-2][y]!='@'&&a[x-2][y]!=' ')
                {
                    a[x][y]=' ';
                    x--;
                    a[x][y]='H';
                    a[x-1][y]='@';
                }
                else if(a[x-2][y]!='#'&&a[x-1][y]=='@'&&a[x-2][y]!='O'&&a[x-2][y]!='@'&&a[x-2][y]==' ')
                {
                    a[x][y]=' ';
                    x--;
                    a[x][y]='H';
                    a[x-1][y]='O';
                }
                else if(a[x-1][y]!='O'&&a[x-1][y]!='@')
                {
                    a[x][y]=' ';
                    x--;
                    a[x][y]='H';
                }
            }
        }
        if(z=='a')
        {
            if(a[x][y-1]!='#')
            {
                if(a[x][y-2]!='#'&&a[x][y-1]=='O'&&a[x][y-2]!='O'&&a[x][y-2]!='@')
                {
                    a[x][y]=' ';
                    y--;
                    a[x][y]='H';
                    a[x][y-1]='O';
                }
                else if(a[x][y-2]!='#'&&a[x][y-1]=='@'&&a[x][y-2]!='O'&&a[x][y-2]!='@'&&a[x][y-2]!=' ')
                {
                    a[x][y]=' ';
                    y--;
                    a[x][y]='H';
                    a[x][y-1]='@';
                }
                else if(a[x][y-2]!='#'&&a[x][y-1]=='@'&&a[x][y-2]!='O'&&a[x][y-2]!='@'&&a[x][y-2]==' ')
                {
                    a[x][y]=' ';
                    y--;
                    a[x][y]='H';
                    a[x][y-1]='O';
                }
                else if(a[x][y-1]!='O'&&a[x][y-1]!='@')
                {
                    a[x][y]=' ';
                    y--;
                    a[x][y]='H';
                }
            }
        }
        if(z=='d')
        {
            if(a[x][y+1]!='#')
            {
                if(a[x][y+2]!='#'&&a[x][y+1]=='O'&&a[x][y+2]!='O'&&a[x][y+2]!='@')
                {
                    a[x][y]=' ';
                    y++;
                    a[x][y]='H';
                    a[x][y+1]='O';
                }
                else if(a[x][y+2]!='#'&&a[x][y+1]=='@'&&a[x][y+2]!='@'&&a[x][y+2]!='O'&&a[x][y+2]!=' ')
                {
                    a[x][y]=' ';
                    y++;
                    a[x][y]='H';
                    a[x][y+1]='@';
                }
                else if(a[x][y+2]!='#'&&a[x][y+1]=='@'&&a[x][y+2]!='@'&&a[x][y+2]!='O'&&a[x][y+2]==' ')
                {
                    a[x][y]=' ';
                    y++;
                    a[x][y]='H';
                    a[x][y+1]='O';
                }
                else if(a[x][y+1]!='O'&&a[x][y+1]!='@')
                {
                    a[x][y]=' ';
                    y++;
                    a[x][y]='H';
                }
            }
        }
        if(z=='s')
        {
            if(a[x+1][y]!='#')
            {
                if(a[x+2][y]!='#'&&a[x+1][y]=='O'&&a[x+2][y]!='O'&&a[x+2][y]!='@')
                {
                    a[x][y]=' ';
                    x++;
                    a[x][y]='H';
                    a[x+1][y]='O';
                }
                else if(a[x+2][y]!='#'&&a[x+1][y]=='@'&&a[x+2][y]!='O'&&a[x+2][y]!='@'&&a[x+2][y]!=' ')
                {
                    a[x][y]=' ';
                    x++;
                    a[x][y]='H';
                    a[x+1][y]='@';
                }
                else if(a[x+2][y]!='#'&&a[x+1][y]=='@'&&a[x+2][y]!='O'&&a[x+2][y]!='@'&&a[x+2][y]==' ')
                {
                    a[x][y]=' ';
                    x++;
                    a[x][y]='H';
                    a[x+1][y]='O';
                }
                else if(a[x+1][y]!='O'&&a[x+1][y]!='@')
                {
                    a[x][y]=' ';
                    x++;
                    a[x][y]='H';
                }
            }
        }
        check3(a);
        if(a[6][4]=='@'&&a[6][5]=='@'&&a[7][4]=='@'&&a[7][5]=='@')
            break;
        system("cls");
        for(int i=0;i<=11;i++)
        {
            puts(a[i]);
        }
    }
    system("cls");
    cout<<"you win!";
    Sleep(3000);
}
void forth()
{
d:
    system("color 4");
    char a[20][20]={"             ",
                    "             ",
                    "   ####      ",
                    "  ##  #      ",
                    "  #HO #      ",
                    "  ##O ##     ",
                    "  ## O #     ",
                    "  #*O  #     ",
                    "  #**@*#     ",
                    "  ######     ",
                    "             ",};
    system("cls");
    for(int i=0;i<=11;i++)
        {
            puts(a[i]);
        }
    int x,y;
    x=4,y=3;
    while(1)
    {
        char z;
        z=getch();
        if(z=='r')
            goto d;
        if(z=='w')
        {
            if(a[x-1][y]!='#')
            {
                if(a[x-2][y]!='#'&&a[x-1][y]=='O'&&a[x-2][y]!='O'&&a[x-2][y]!='@')
                {
                    a[x][y]=' ';
                    x--;
                    a[x][y]='H';
                    a[x-1][y]='O';
                }
                else if(a[x-2][y]!='#'&&a[x-1][y]=='@'&&a[x-2][y]!='O'&&a[x-2][y]!='@'&&a[x-2][y]!=' ')
                {
                    a[x][y]=' ';
                    x--;
                    a[x][y]='H';
                    a[x-1][y]='@';
                }
                else if(a[x-2][y]!='#'&&a[x-1][y]=='@'&&a[x-2][y]!='O'&&a[x-2][y]!='@'&&a[x-2][y]==' ')
                {
                    a[x][y]=' ';
                    x--;
                    a[x][y]='H';
                    a[x-1][y]='O';
                }
                else if(a[x-1][y]!='O'&&a[x-1][y]!='@')
                {
                    a[x][y]=' ';
                    x--;
                    a[x][y]='H';
                }
            }
        }
        if(z=='a')
        {
            if(a[x][y-1]!='#')
            {
                if(a[x][y-2]!='#'&&a[x][y-1]=='O'&&a[x][y-2]!='O'&&a[x][y-2]!='@')
                {
                    a[x][y]=' ';
                    y--;
                    a[x][y]='H';
                    a[x][y-1]='O';
                }
                else if(a[x][y-2]!='#'&&a[x][y-1]=='@'&&a[x][y-2]!='O'&&a[x][y-2]!='@'&&a[x][y-2]!=' ')
                {
                    a[x][y]=' ';
                    y--;
                    a[x][y]='H';
                    a[x][y-1]='@';
                }
                else if(a[x][y-2]!='#'&&a[x][y-1]=='@'&&a[x][y-2]!='O'&&a[x][y-2]!='@'&&a[x][y-2]==' ')
                {
                    a[x][y]=' ';
                    y--;
                    a[x][y]='H';
                    a[x][y-1]='O';
                }
                else if(a[x][y-1]!='O'&&a[x][y-1]!='@')
                {
                    a[x][y]=' ';
                    y--;
                    a[x][y]='H';
                }
            }
        }
        if(z=='d')
        {
            if(a[x][y+1]!='#')
            {
                if(a[x][y+2]!='#'&&a[x][y+1]=='O'&&a[x][y+2]!='O'&&a[x][y+2]!='@')
                {
                    a[x][y]=' ';
                    y++;
                    a[x][y]='H';
                    a[x][y+1]='O';
                }
                else if(a[x][y+2]!='#'&&a[x][y+1]=='@'&&a[x][y+2]!='@'&&a[x][y+2]!='O'&&a[x][y+2]!=' ')
                {
                    a[x][y]=' ';
                    y++;
                    a[x][y]='H';
                    a[x][y+1]='@';
                }
                else if(a[x][y+2]!='#'&&a[x][y+1]=='@'&&a[x][y+2]!='@'&&a[x][y+2]!='O'&&a[x][y+2]==' ')
                {
                    a[x][y]=' ';
                    y++;
                    a[x][y]='H';
                    a[x][y+1]='O';
                }
                else if(a[x][y+1]!='O'&&a[x][y+1]!='@')
                {
                    a[x][y]=' ';
                    y++;
                    a[x][y]='H';
                }
            }
        }
        if(z=='s')
        {
            if(a[x+1][y]!='#')
            {
                if(a[x+2][y]!='#'&&a[x+1][y]=='O'&&a[x+2][y]!='O'&&a[x+2][y]!='@')
                {
                    a[x][y]=' ';
                    x++;
                    a[x][y]='H';
                    a[x+1][y]='O';
                }
                else if(a[x+2][y]!='#'&&a[x+1][y]=='@'&&a[x+2][y]!='O'&&a[x+2][y]!='@'&&a[x+2][y]!=' ')
                {
                    a[x][y]=' ';
                    x++;
                    a[x][y]='H';
                    a[x+1][y]='@';
                }
                else if(a[x+2][y]!='#'&&a[x+1][y]=='@'&&a[x+2][y]!='O'&&a[x+2][y]!='@'&&a[x+2][y]==' ')
                {
                    a[x][y]=' ';
                    x++;
                    a[x][y]='H';
                    a[x+1][y]='O';
                }
                else if(a[x+1][y]!='O'&&a[x+1][y]!='@')
                {
                    a[x][y]=' ';
                    x++;
                    a[x][y]='H';
                }
            }
        }
        check4(a);
        if(a[7][3]=='@'&&a[8][3]=='@'&&a[8][4]=='@'&&a[8][5]=='@'&&a[8][6]=='@')
            break;
        system("cls");
        for(int i=0;i<=11;i++)
        {
            puts(a[i]);
        }
    }
    system("cls");
    system("color 0f");
    cout<<"you win!";
    Sleep(3000);
}
int main()
{
    cout<<"\n\n\n\n\n          ******************************************\n\n"
                            <<"                     欢迎来到推箱子\n\n"
                            <<"                     游戏说明:\n"
                            <<"                     请用小写输入法操作,wasd为上下左右移动\n"
                            <<"                     游戏中H为你,O,@为可推动的箱子,\n                     将箱子全部推动到*处即获胜\n"
                            <<"                     作者:敲代码的猫\n"
                            <<"                     按任意键继续\n\n"
                            <<"          ******************************************\n";
    getch();
    system("cls");
    first();
    system("cls");v
    second();
    system("cls");
    third();
    system("cls");
    forth();
    return 0;
}

C++推箱子的后续(颜色和字符读取)_第1张图片
C++推箱子的后续(颜色和字符读取)_第2张图片
C++推箱子的后续(颜色和字符读取)_第3张图片
去试一试吧!

2021.2.2

你可能感兴趣的:(游戏)