|
//推箱子游戏
#include <stdio.h>
#include <stdlib.h>
int main()
{
char a[50][50]={"##########",
"## ###",
"##O### #",
"# SO O #",
"# **# O ##",
"##**# ##",
"##########"
};
int i,x,y;
char ch;
x=3;y=3;
for(i=0;i<=7;i++)
{
puts(a[i]);
}
while(1<2)
{
ch=getch();
if(ch=='s')
{
if(a[x+1][y]==' ' || a[x+1][y]=='*')
{
a[x][y]=' ';
x++;
a[x][y]='S';
}
if(a[x+1][y]=='O')
{
if(a[x+2][y]==' ' || a[x+2][y]=='*')
{
if(a[x+2][y]!='#' && a[x+2][y]!='O')
{
a[x][y]=' ';
x++;
a[x][y]='S';
a[x+1][y]='O';
}
}
}
}
//-----------------------------------------
if(ch=='w')
{
if(a[x-1][y]==' ' || a[x-1][y]=='*')
{
a[x][y]=' ';
x--;
a[x][y]='S';
}
if(a[x-1][y]=='O')
{
if(a[x-2][y]==' ' || a[x-2][y]=='*')
{
if(a[x-2][y]!='#' && a[x-2][y]!='O')
{
a[x][y]=' ';
x--;
a[x][y]='S';
a[x-1][y]='O';
}
}
}
}
//--------------------------------------------
if(ch=='a')
{
if(a[x][y-1]==' ' || a[x][y-1]=='*')
{
a[x][y]=' ';
y--;
a[x][y]='S';
}
if(a[x][y-1]=='O')
{
if(a[x][y-2]==' ' || a[x][y-2]=='*')
{
if(a[x][y-2]!='#' && a[x][y-2]!='O')
{
a[x][y]=' ';
y--;
a[x][y]='S';
a[x][y-1]='O';
}
}
}
}
//-----------------------------------
if(ch=='d')
{
if(a[x][y+1]==' ' || a[x][y+1]=='*')
{
a[x][y]=' ';
y++;
a[x][y]='S';
}
if(a[x][y+1]=='O')
{
if(a[x][y+2]==' ' || a[x][y+2]=='*')
{
if(a[x][y+2]!='#' && a[x][y+2]!='O')
{
a[x][y]=' ';
y++;
a[x][y]='S';
a[x][y+1]='O';
}
}
}
}
system("cls");
for(i=0;i<=7;i++)
{
puts(a[i]);
}
}
system("pause");
return 0;
}
|
|