一个推箱子游戏里面的环节,两个函数都没法用,请问哪位大佬有办法解决吗?
void drawstratpage()//显示开始界面
{
initgraph(rows * 72, cols * 72);
loadimage(&startpage, "F:/kungehaoshuai/Debug./startpage.jpg", rows * 72, cols * 72);
putimage(0, 0, &startpage);
setbkmode(TRANSPARENT);
settextstyle(50, 0, _T("宋体"));
outtextxy(120, 500, _T("欢迎来到推箱子小游戏!"));
outtextxy(120, 600, _T("按任意键开始游戏!"));
system("pause");
}
void movereason()//移动的原理
{
InitGame();
int r1, r2;
for (int i = 0; i < 12; i++)
for (int j = 0; j < 12; j++)
if (map[level][i][j] == 5 || map[level][i][j] == 8)
{
r1 = i; r2 = j;
}
if (kbhit())
{
char c = getch();
switch (c)
{
case 'w':
case 72:
case 'W':
{
if (map[level][r1 - 1][r2] == 0 || map[level][r1 - 1][r2] == 3)//如果要前进的格子是空格或者是目的地,那么肯定能走吧
{
map[level][r1 - 1][r2] += 5;//+5表示人站上去了
map[level][r1][r2] -= 5;//-5表示人走了
}
else if (map[level][r1 - 1][r2] == 4 || map[level][r1 - 1][r2] == 7)//如果要前进的格子是箱子或者是已经推到目的地的箱子呢么肯定是要实现 “推动” 的功能
{
if (map[level][r1 - 2][r2] == 3 || map[level][r1 - 2][r2] == 0)
{
map[level][r1 - 2][r2] += 4;//该格子推来了个箱子
map[level][r1 - 1][r2] += 1;//4变成了5,代表人原来在这里的箱子变成了人
map[level][r1][r2] -= 5;//原位置-5,恢复成初始的格子
}
}
break;
}
case 's':
case 80:
case 'S':
{
{
if (map[level][r1 + 1][r2] == 0 || map[level][r1 + 1][r2] == 3)//如果要前进的格子是空格或者是目的地,那么肯定能走吧
{
map[level][r1 + 1][r2] += 5;//+5表示人站上去了
map[level][r1][r2] -= 5;//-5表示人走了
}
else if (map[level][r1 + 1][r2] == 4 || map[level][r1 + 1][r2] == 7)//如果要前进的格子是箱子或者是已经推到目的地的箱子呢么肯定是要实现 “推动” 的功能
{
if (map[level][r1 + 2][r2] == 3 || map[level][r1 + 2][r2] == 0)
{
map[level][r1 + 2][r2] += 4;//该格子推来了个箱子
map[level][r1 + 1][r2] += 1;//4变成了5,代表人原来在这里的箱子变成了人
map[level][r1][r2] -= 5;//原位置-5,恢复成初始的格子
}
}
}
break;
}
case 'd':
case 77:
case 'D':
{
{
if (map[level][r1][r2 + 1] == 0 || map[level][r1][r2 + 1] == 3)//如果要前进的格子是空格或者是目的地,那么肯定能走吧
{
map[level][r1][r2 + 1] += 5;//+5表示人站上去了
map[level][r1][r2] -= 5;//-5表示人走了
}
else if (map[level][r1][r2 + 1] == 4 || map[level][r1][r2 + 1] == 7)//如果要前进的格子是箱子或者是已经推到目的地的箱子呢么肯定是要实现 “推动” 的功能
{
if (map[level][r1][r2 + 2] == 3 || map[level][r1][r2 + 2] == 0)
{
map[level][r1][r2 + 2] += 4;//该格子推来了个箱子
map[level][r1][r2 + 1] += 1;//4变成了5,代表人原来在这里的箱子变成了人
map[level][r1][r2] -= 5;//原位置-5,恢复成初始的格子
}
}
}
break;
}
case 'a':
case 75:
case 'A':
{
{
if (map[level][r1][r2 - 1] == 0 || map[level][r1][r2 - 1] == 3)//如果要前进的格子是空格或者是目的地,那么肯定能走吧
{
map[level][r1][r2 - 1] += 5;//+5表示人站上去了
map[level][r1][r2] -= 5;//-5表示人走了
}
else if (map[level][r1][r2 - 1] == 4 || map[level][r1][r2 - 1] == 7)//如果要前进的格子是箱子或者是已经推到目的地的箱子呢么肯定是要实现 “推动” 的功能
{
if (map[level][r1][r2 - 2] == 3 || map[level][r1][r2 - 2] == 0)
{
map[level][r1][r2 - 2] += 4;//该格子推来了个箱子
map[level][r1][r2 - 1] += 1;//4变成了5,代表人原来在这里的箱子变成了人
map[level][r1][r2] -= 5;//原位置-5,恢复成初始的格子
}
}
}
break;
}
case 'r':
case 'R':
{
for (int i = 0; i < 12; i++)
for (int j = 0; j < 12; j++)
map[level][i][j] = map2[level][i][j];
break;
}
case 'q':
case 'Q':
{
level++;
break;
}
case 27:
{
exit(0);
}
}
错误提示:
error C2601: 'drawstratpage' : local function definitions are illegal
error C2601: 'playGame' : local function definitions are illegal
fatal error C1075: end of file found before the left brace '{' at 'D:\VC\Microsoft Visual Studio\MyProjects\草\草稿.cpp(248)' was matched