L05_15330 2020-07-04 13:19 采纳率: 0%
浏览 98

void movereason()和void drawstratpage()没法用啊VC++怎么办?有什么可以替换的吗?

一个推箱子游戏里面的环节,两个函数都没法用,请问哪位大佬有办法解决吗?

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

  • 写回答

1条回答 默认 最新

  • wlj1234 2020-07-04 14:30
    关注

    不同操作系统下的程序不是所有系统都可以不用修改就可以编译的

    评论

报告相同问题?

悬赏问题

  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题