折腾了一个晚上写的迷宫小游戏代码

折腾了一个晚上写的走出迷宫小游戏代码

#include <stdio.h>
#include “move.h”
int nowX=1;
int nowY=1;
char m;
char map[20][20]=
{
{‘#’,’#’,’#’,’#’,’#’,’#’,’#’,’#’,’#’,’#’,’#’,’#’,’#’,’#’,’#’,’#’,’#’,’#’,’#’,’#’},
{‘#’,’0′,’#’,’ ‘,’ ‘,’ ‘,’ ‘,’#’,’ ‘,’ ‘,’ ‘,’#’,’#’,’ ‘,’ ‘,’ ‘,’#’,’#’,’ ‘,’#’},
{‘#’,’ ‘,’#’,’ ‘,’#’,’#’,’ ‘,’ ‘,’ ‘,’#’,’ ‘,’ ‘,’ ‘,’ ‘,’#’,’ ‘,’ ‘,’ ‘,’ ‘,’#’},
{‘#’,’ ‘,’#’,’ ‘,’#’,’ ‘,’ ‘,’#’,’#’,’#’,’#’,’ ‘,’#’,’ ‘,’#’,’ ‘,’#’,’ ‘,’#’,’#’},
{‘#’,’ ‘,’#’,’ ‘,’#’,’#’,’#’,’ ‘,’#’,’ ‘,’ ‘,’ ‘,’#’,’ ‘,’#’,’ ‘,’#’,’ ‘,’ ‘,’#’},
{‘#’,’ ‘,’#’,’ ‘,’ ‘,’ ‘,’#’,’ ‘,’#’,’#’,’ ‘,’#’,’#’,’#’,’#’,’ ‘,’#’,’ ‘,’ ‘,’#’},
{‘#’,’ ‘,’ ‘,’ ‘,’#’,’ ‘,’#’,’ ‘,’#’,’#’,’ ‘,’#’,’ ‘,’ ‘,’ ‘,’#’,’ ‘,’#’,’ ‘,’#’},
{‘#’,’ ‘,’#’,’#’,’#’,’ ‘,’#’,’ ‘,’#’,’ ‘,’ ‘,’#’,’ ‘,’#’,’#’,’#’,’ ‘,’#’,’ ‘,’#’},
{‘#’,’ ‘,’ ‘,’ ‘,’#’,’ ‘,’ ‘,’ ‘,’#’,’ ‘,’#’,’#’,’#’,’#’,’#’,’ ‘,’ ‘,’#’,’ ‘,’#’},
{‘#’,’ ‘,’#’,’#’,’#’,’ ‘,’#’,’ ‘,’#’,’#’,’ ‘,’ ‘,’ ‘,’#’,’ ‘,’#’,’ ‘,’ ‘,’ ‘,’#’},
{‘#’,’ ‘,’ ‘,’#’,’ ‘,’#’,’#’,’ ‘,’ ‘,’#’,’ ‘,’#’,’ ‘,’#’,’ ‘,’ ‘,’ ‘,’#’,’#’,’#’},
{‘#’,’ ‘,’#’,’ ‘,’ ‘,’ ‘,’ ‘,’#’,’ ‘,’#’,’ ‘,’#’,’ ‘,’ ‘,’ ‘,’#’,’ ‘,’ ‘,’ ‘,’#’},
{‘#’,’#’,’#’,’ ‘,’#’,’#’,’ ‘,’ ‘,’#’,’ ‘,’ ‘,’#’,’ ‘,’#’,’ ‘,’ ‘,’#’,’ ‘,’#’,’#’},
{‘#’,’ ‘,’ ‘,’ ‘,’#’,’ ‘,’ ‘,’#’,’#’,’ ‘,’#’,’#’,’#’,’#’,’#’,’ ‘,’#’,’ ‘,’#’,’#’},
{‘#’,’ ‘,’#’,’#’,’ ‘,’#’,’ ‘,’ ‘,’ ‘,’ ‘,’#’,’ ‘,’ ‘,’ ‘,’#’,’ ‘,’#’,’ ‘,’#’,’#’},
{‘#’,’ ‘,’#’,’ ‘,’ ‘,’ ‘,’#’,’ ‘,’#’,’#’,’#’,’ ‘,’#’,’ ‘,’#’,’ ‘,’ ‘,’#’,’ ‘,’#’},
{‘#’,’ ‘,’#’,’ ‘,’#’,’ ‘,’#’,’ ‘,’#’,’ ‘,’ ‘,’ ‘,’#’,’ ‘,’#’,’#’,’#’,’#’,’#’,’#’},
{‘#’,’ ‘,’#’,’ ‘,’#’,’ ‘,’ ‘,’#’,’#’,’ ‘,’#’,’ ‘,’#’,’ ‘,’#’,’ ‘,’ ‘,’ ‘,’ ‘,’#’},
{‘#’,’ ‘,’ ‘,’ ‘,’#’,’#’,’ ‘,’ ‘,’ ‘,’ ‘,’#’,’ ‘,’#’,’ ‘,’ ‘,’ ‘,’#’,’#’,’ ‘,’ ‘},
{‘#’,’#’,’#’,’#’,’#’,’#’,’#’,’#’,’#’,’#’,’#’,’#’,’#’,’#’,’#’,’#’,’#’,’#’,’#’,’#’},
};
void showmap();
char getstep();
int main(void)
{
while(map[18][19]!=’0′)
{
showmap();//显示移动后的地图
getstep();//提示输入方向
move(m);//移动位置
system(“cls”);
}
showmap();
printf(“恭喜你走出了迷宫!”);
system(“Pause”);
return 0;
}
char getstep()//输入移动方向
{
printf(“请输入移动方向\n”);
printf(“W向上,S向下,A向左,D向右\n”);
scanf(“%c”,&m);
return (m);
}
void showmap()//显示地图
{
int i,j;
for (i=0;i<20;i++)
{
for(j=0;j<20;j++)
{
printf(“%c “,map[i][j]);
}
printf(“\n”);
}
}
void move(char m)//控制移动
{
switch(m)
{
case ‘W’ :
case ‘w’ :
moveUP();//输入W向上运动
break;
case ‘S’ :
case ‘s’ :
moveDown();//输入S向下运动
break;
case ‘a’ :
case ‘A’ :
moveLeft();//输入A向左运动
break;
case ‘D’ :
case ‘d’ :
moveRight();//输入D向右运动
break;
}
}
void moveUP()//向上移动
{
int nextX=nowX-1;
int nextY=nowY;
if (map[nextX][nextY]==’ ‘)
{
map[nextX][nextY]=’0′;
map[nowX][nowY]=’ ‘;
nowX=nextX;
nowY=nextY;
}
}
void moveDown()//向下移动
{
int nextX=nowX+1;
int nextY=nowY;
if (map[nextX][nextY]==’ ‘)
{
map[nextX][nextY]=’0′;
map[nowX][nowY]=’ ‘;
nowX=nextX;
nowY=nextY;
}
}
void moveLeft()//向左移动
{
int nextX=nowX;
int nextY=nowY-1;
if (map[nextX][nextY]==’ ‘)
{
map[nextX][nextY]=’0′;
map[nowX][nowY]=’ ‘;
nowX=nextX;
nowY=nextY;
}
}
void moveRight()//向右移动
{
int nextX=nowX;
int nextY=nowY+1;
if (map[nextX][nextY]==’ ‘)
{
map[nextX][nextY]=’0′;
map[nowX][nowY]=’ ‘;
nowX=nextX;
nowY=nextY;
}
}

附件下载:编译好了的可执行文件Games

折腾了一个晚上写的迷宫小游戏代码

转载请注明来源:幽幽过客_{折腾了一个晚上写的迷宫小游戏代码}