推箱子但出了两个错误, 一个是 qualified id declaration before '(' token 另一个是 expected '}' at end of input

我想写一个推箱子的程序,但现在程序出bug 了,它报的错我实在是不知道怎么修改
虽然我其他部分可能也会错,但现在跑不了,实在不行,请帮帮忙


#include <iostream>
#include<conio.h>
#include<stdlib.h>
using namespace std;
class Tuixiangzi
{
private:
    char (*map)[10];
    //*是人,0是箱子,!是目的地
public:
    Tuixiangzi (char (*map_)[10]);
    void keyevent();
    void show_map();
    int judgement();
};
 
Tuixiangzi ::Tuixiangzi(char (*map_)[10])
{
    int i=0,j=0;
    for (;i<10;i++)
        for (;j<10;j++)
    map[i][j]=map_[i][j];
}
void Tuixiangzi::show_map()
{
    cout<<map[10][10]<<endl;
}
void Tuixiangzi::keyevent()
{
    //先判断向上走是否可行,如果前面是空地可走,如果前面是箱子,判断箱子前面是否为空地,如果是可走;
    int i=0,k=0;
    for(int i;i<10;i++)
        for (int k;k<10;k++)
            if (map[i][k]=='*')
                break;
        //找到了人的位置;
    char ch=_getch();//输入按键
    //向上走
    switch (ch)
    {
    case 'w':
        //前面只是空地
    if (map[i-1][k]==' ')
    {map[i-1][k]='*';
    map[i][k]=' ';}
    //前面有箱子,箱子前面是空地
    else if (map[i-1][k]=='0'&&map[i-2][k]==' ')
    {map[i-2][k]='0';
    map[i-1][k]='*';
    map[i][k]=' ';}
    //前面有箱子,箱子前面是目的地
    else if (map[i-1][k]=='0'&&map[i-2][k]=='!')
         {map[i-1][k]='*';
          map[i-2][k]='+';}
    break;
    case 's':
            //下面只是空地
    if (map[i+1][k]==' ')
    {map[i+1][k]='*';
    map[i][k]=' ';}
    //下面有箱子,箱子下面是空地
    else if (map[i+1][k]=='0'&&map[i+2][k]==' ')
    {map[i+2][k]='0';
    map[i+1][k]='*';
    map[i][k]=' ';}
    //下面有箱子,箱子下面是目的地
    else if(map[i+1][k]=='0'&&map[i+2][k]=='!')
         {
          map[i+1][k]='*';
          map[i+2][k]='+';
         }
    break;
    case 'a':
            //左面只是空地
    if (map[i][k-1]==' ')
    {map[i][k-1]='*';
    map[i][k]=' ';}
    //左面有箱子,箱子左面是空地
    else if (map[i][k-1]=='0'&&map[i][k-2]==' ')
    {map[i][k-2]='0';
    map[i][k-1]='*';
    map[i][k]=' ';}
    //左面有箱子,箱子左面是目的地
    else if(map[i][k-1]=='0'&&map[i][k-2]=='!')
         {
          map[i][k-1]='*';
          map[i][k-2]='+';
         }
    break;
    case 'd':
                //右面只是空地
    if (map[i][k+1]==' ')
    {map[i][k+1]='*';
    map[i][k]=' ';}
    //右面有箱子,箱子右面是空地
    else if (map[i][k+1]=='0'&&map[i][k+2]==' ')
    {map[i][k+2]='0';
    map[i][k+1]='*';
    map[i][k]=' ';}
    //右面有箱子,箱子右面是目的地
    else if(map[i][k+1]=='0'&&map[i][k+2]=='!')
         {
          map[i][k+1]='*';
          map[i][k+2]='+';
         }
     break;
}
int Tuixiangzi::judgement()
{
    for (int i=0;i<10;i++)
        for (int j=0;j<10;j++)
        if (map[i][j]=='+')
        {cout <<"you win!"<<endl;
        break;}
        return 1;
}
int main()
{
    char map_11[10][10]={"#########",
                         "### #####",
                         "#### *###",
                         "#### ####",
                         "###   0##",
                         "#### # ##",
                         "# ##   ##",
                         "##!  ####",
                         "#########",
                         "#########"};
    Tuixiangzi map_1( map_11);
    while(1)
    {
        map_1.keyevent();
        map_1.show_map();
        system("cls");
        if (map_1.judgement())
            break;
    }
    return 0;
}

img

     break;
}
} //这里缺少一个后花括号
int Tuixiangzi::judgement()
{