|
5啊哈币
#include <stdio.h>
#include <stdlib.h>
int main()
{
char map[50][50] = {
"##########",
"## ###",
"##O### #",
"# S O O #",
"# &&# O ##",
"##&&# ##",
"##########"
};
int i, x=3, y=2;
for(i=0;i<7;i++)
{
puts(map[i]);
};
char character;
while(1)
{
character=getch();
if(character=='s')
{
//人物S向下移动。
if(map[x+1][y]!='#' && map[x+1][y]!='O' && map[x+1][y]!='@')
{
map[x][y]=' ';
x++;
map[x][y]='S';
}
//人物S向下推箱子
if(map[x+1][y]!='#' && map[x+1][y]=='O' && map[x+2][y]!='#' && map[x+2][y]!='O' && map[x+2][y]!='@')
{
if(map[x+2][y]=='&')
{
map[x][y]=' ';
x++;
map[x][y]='S';
map[x+1][y]='@';
}
else
{
map[x][y]=' ';
x++;
map[x][y]='S';
map[x+1][y]='O';
}
}
//人物S向下再推到位的箱子
if(map[x+1][y]!='#' && map[x+1][y]=='@' && map[x+2][y]!='#' && map[x+2][y]!='O' && map[x+2][y]=='&')
{
map[x][y]=' ';
x++;
map[x][y]='S';
map[x+1][y]='@';
}
system("cls");
for(i=0;i<7;i++)
{
puts(map[i]);
}
}
/*********************************************************************/
if(character=='w')
{
//人物s向上移动
if(map[x-1][y]!='#' && map[x-1][y]!='O' && map[x-1][y]!='@')
{
map[x][y]=' ';
x--;
map[x][y]='S';
}
//人物S向上推箱子
if(map[x-1][y]!='#' && map[x-1][y]=='O' && map[x-2][y]!='#' && map[x-2][y]!='O' && map[x-2][y]!='@')
{
if(map[x-2][y]=='&')
{
map[x][y]=' ';
x--;
map[x][y]='S';
map[x-1][y]='@';
}
else
{
map[x][y]=' ';
x--;
map[x][y]='S';
map[x-1][y]='O';
}
}
//人物S向上再推到位的箱子
if(map[x-1][y]!='#' && map[x-1][y]=='@' && map[x-2][y]!='#' && map[x-2][y]!='O' && map[x-2][y]=='&')
{
map[x][y]=' ';
x--;
map[x][y]='S';
map[x-1][y]='@';
}
system("cls");
for(i=0;i<7;i++)
{
puts(map[i]);
}
}
/*********************************************************************/
if(character=='a')
{
//人物s向左移动
if(map[x][y-1]!='#' && map[x][y-1]!='O' && map[x][y-1]!='@')
{
map[x][y]=' ';
y--;
map[x][y]='S';
}
//人物S向左推箱子
if(map[x][y-1]!='#' && map[x][y-1]=='O' && map[x][y-2]!='#' && map[x][y-2]!='O' && map[x][y-2]!='@')
{
if(map[x][y-2]=='&')
{
map[x][y]=' ';
y--;
map[x][y]='S';
map[x][y-1]='@';
}
else
{
map[x][y]=' ';
y--;
map[x][y]='S';
map[x][y-1]='O';
}
}
//人物S向左推到位的箱子
if(map[x][y-1]!='#' && map[x][y-1]=='@' && map[x][y-2]!='#' && map[x][y-2]!='O' && map[x][y-2]=='&')
{
map[x][y]=' ';
y--;
map[x][y]='S';
map[x][y-1]='@';
}
system("cls");
for(i=0;i<7;i++)
{
puts(map[i]);
}
}
/*********************************************************************/
if(character=='d')
{
//人物s向右移动
if(map[x][y+1]!='#' && map[x][y+1]!='O' && map[x][y+1]!='@')
{
map[x][y]=' ';
y++;
map[x][y]='S';
}
//人物S向右推箱子
if(map[x][y+1]!='#' && map[x][y+1]=='O' && map[x][y+2]!='#' && map[x][y+2]!='O' && map[x][y+2]!='@')
{
if(map[x][y+2]=='&')
{
map[x][y]=' ';
y++;
map[x][y]='S';
map[x][y+1]='@';
}
else
{
map[x][y]=' ';
y++;
map[x][y]='S';
map[x][y+1]='O';
}
}
//人物S向右再推到位的箱子
if(map[x][y+1]!='#' && map[x][y+1]=='@' && map[x][y+2]!='#' && map[x][y+2]!='O' && map[x][y+2]=='&')
{
map[x][y]=' ';
y++;
map[x][y]='S';
map[x][y+1]='@';
}
system("cls");
for(i=0;i<7;i++)
{
puts(map[i]);
}
}
/*********************************************************************/
}
system("pause");
return 0;
}
|
|