走迷宫游戏第三次改进。
希望以后会越来越好。
还有xiaoyang111指导,要不然就没有流畅版了。
注:要在Dev-c++里运行,输入完不需要要在输入一个回车了。
#include <iostream>
#include <windows.h>
#include <conio.h>
#define run(a) ((GetAsyncKeyState(a) & 0x8000) ? 1:0)
using namespace std;
int main()
{
cout << "逸凡制作,走迷宫游戏!" << endl;
char map[10][10] =
{
{'#', '#', '#', '#', '#', '#', '#', '#', '#', '#'},
{'#', 'o', '#', '#', '#', '#', '#', ' ', ' ', '#'},
{'#', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '#', '#'},
{'#', ' ', '#', '#', '#', ' ', '#', ' ', ' ', '#'},
{'#', ' ', ' ', ' ', '#', ' ', '#', '#', '#', '#'},
{'#', ' ', '#', '#', '#', '#', '#', ' ', ' ', '#'},
{'#', ' ', '#', '#', '#', '#', '#', ' ', ' ', '#'},
{'#', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '#'},
{'#', '#', '#', '#', '#', ' ', ' ', '#', ' ', '#'},
{'#', '#', '#', '#', '#', ' ', ' ', '#', '#', '#'},
};
//打印地图
for(int i = 0; i <= 9; i ++)
{
for(int j = 0; j <= 9; j ++)
{
cout << map[i][j];
}
cout << endl;
}
//计录自己的位置
int x, y;
x = 1;
y = 1;
//移动角色
while(1)
{
cout << "请输入 w(上) s(下) a(左) d(右) 多谢xiaoyang111指导,让我知道了更多技巧。" << endl;
if(run('W') && map[x - 1][y] != '#')
{
map[x][y] = ' ';
x --;
map[x][y] = 'o';
}
if(run('S') && map[x + 1][y] != '#')
{
map[x][y] = ' ';
x ++;
map[x][y] = 'o';
}
if(run('A') && map[x][y - 1] != '#')
{
map[x][y] = ' ';
y --;
map[x][y] = 'o';
}
if(run('D') && map[x][y + 1] != '#')
{
map[x][y] = ' ';
y ++;
map[x][y] = 'o';
}
system("cls");
for(int i = 0; i <= 9; i ++)
{
for(int j = 0; j <= 9; j ++)
{
cout << map[i][j];
}
cout << endl;
}
if(x == 9 && y == 6 || x == 9 && y == 5)
{
cout << "成功!" << endl;
break;
}
Sleep(50);
}
return 0;
}