![]() |
#2
纯蓝之刃2020-04-23 10:16
![]() #include <stdio.h> #include <stdlib.h> #include <conio.h> #define hang 30 #define lie 30 int x=4,y=5; char a[30][30]= { " ###", " #*#", " # #", "####0######", "#* 0 r 0 *#", "##### #####", " #0#", " #*#", " ###" }; void ditu() { int i,j; for(i=0; i<9; i++) { for(j=0; j<12; j++) { printf("%c",a[i][j]); } printf("\n"); } } void HEL(char ch) { if(ch=='s') { if(a[x+1][y]!='#')//下面是否为墙 { if(a[x+1][y]!='0')//下面是否为箱子 { if(a[x+1][y]!='@') { a[x][y]=' ';//下面不为墙或者箱子时运行 x++; a[x][y]='r'; } } else if(a[x+2][y]!='#')//若下面为箱子则运行以下内容 { if(a[x+3][y]!='*') { a[x][y]=' '; x++; a[x][y]='r'; x++; a[x][y]='@'; x--; } else if(a[x+3][y]!='#') { a[x][y]=' '; x++; a[x][y]='r'; x++; a[x][y]='0'; x--; } } } } if(ch=='w') { if(a[x-1][y]!='#')//上面是否为墙 { if(a[x-1][y]!='0')//上面是否为箱子 { if(a[x-1][y]!='@') { a[x][y]=' ';//上面不为墙或者箱子时运行 x--; a[x][y]='r'; } } else if(a[x-2][y]!='#')//若上面为箱子则运行以下内容 { if(a[x-3][y]!='*') { a[x][y]=' '; x--; a[x][y]='r'; x--; a[x][y]='@'; x++; } else if(a[x-3][y]!='#') { a[x][y]=' '; x--; a[x][y]='r'; x--; a[x][y]='0'; x++; } } } } if(ch=='a') { if(a[x][y-1]!='#')//左边是否为墙 { if(a[x][y-1]!='0')//左边是否为箱子 { if(a[x][y-1]!='@') { a[x][y]=' ';//左边不为墙或者箱子时运行 y--; a[x][y]='r'; } } else if(a[x][y-2]!='#')//若左边为箱子则运行以下内容 { if(a[x][y-3]!='*') { a[x][y]=' '; y--; a[x][y]='r'; y--; a[x][y]='@'; y++; } else if(a[x][y-3]!='#') { a[x][y]=' '; y--; a[x][y]='r'; y--; a[x][y]='0'; y++; } } } } if(ch=='d') { if(a[x][y+1]!='#')//右边是否为墙 { if(a[x][y+1]!='0')//右边是否为箱子 { if(a[x][y+1]!='@') { a[x][y]=' ';//右边不为墙或者箱子时运行 y++; a[x][y]='r'; } } else if(a[x][y+2]!='#')//若右边为箱子则运行以下内容 { if(a[x][y+3]!='*') { a[x][y]=' '; y++; a[x][y]='r'; y++; a[x][y]='@'; y--; } else if(a[x][y+3]!='#') { a[x][y]=' '; y++; a[x][y]='r'; y++; a[x][y]='0'; y--; } } } } system("cls"); ditu(); } int main() { char ch; ditu(); while(1) { ch=getch(); HEL(ch); } return 0; } |
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
void ditu()
{
char a[30][30]={" ###",
" #*#",
" # #",
"####0######",
"#* 0 r 0 *#",
"##### #####",
" #0#",
" #*#",
" ###" };
int i,x,y;
x=4;
y=5;
char ch;
for(i=0;i<9;i++)
{
puts(a[i]);
}
}
void HEL()
{
ch=getch();
if(ch=='s')
{
if(a[x+1][y]!='#')//下面是否为墙
{
if(a[x+1][y]!='0')//下面是否为箱子
{
if(a[x+1][y]!='@')
{
a[x][y]=' ';//下面不为墙或者箱子时运行
x++;
a[x][y]='r';
}
}
else if(a[x+2][y]!='#')//若下面为箱子则运行以下内容
{
if(a[x+3][y]!='*')
{
a[x][y]=' ';
x++;
a[x][y]='r';
x++;
a[x][y]='@';
x--;
}
else if(a[x+3][y]!='#')
{
a[x][y]=' ';
x++;
a[x][y]='r';
x++;
a[x][y]='0';
x--;
}
}
}
}
if(ch=='w')
{
if(a[x-1][y]!='#')//上面是否为墙
{
if(a[x-1][y]!='0')//上面是否为箱子
{
if(a[x-1][y]!='@')
{
a[x][y]=' ';//上面不为墙或者箱子时运行
x--;
a[x][y]='r';
}
}
else if(a[x-2][y]!='#')//若上面为箱子则运行以下内容
{
if(a[x-3][y]!='*')
{
a[x][y]=' ';
x--;
a[x][y]='r';
x--;
a[x][y]='@';
x++;
}
else if(a[x-3][y]!='#')
{
a[x][y]=' ';
x--;
a[x][y]='r';
x--;
a[x][y]='0';
x++;
}
}
}
}
if(ch=='a')
{
if(a[x][y-1]!='#')//左边是否为墙
{
if(a[x][y-1]!='0')//左边是否为箱子
{
if(a[x][y-1]!='@')
{
a[x][y]=' ';//左边不为墙或者箱子时运行
y--;
a[x][y]='r';
}
}
else if(a[x][y-2]!='#')//若左边为箱子则运行以下内容
{
if(a[x][y-3]!='*')
{
a[x][y]=' ';
y--;
a[x][y]='r';
y--;
a[x][y]='@';
y++;
}
else if(a[x][y-3]!='#')
{
a[x][y]=' ';
y--;
a[x][y]='r';
y--;
a[x][y]='0';
y++;
}
}
}
}
if(ch=='d')
{
if(a[x][y+1]!='#')//右边是否为墙
{
if(a[x][y+1]!='0')//右边是否为箱子
{
if(a[x][y+1]!='@')
{
a[x][y]=' ';//右边不为墙或者箱子时运行
y++;
a[x][y]='r';
}
}
else if(a[x][y+2]!='#')//若右边为箱子则运行以下内容
{
if(a[x][y+3]!='*')
{
a[x][y]=' ';
y++;
a[x][y]='r';
y++;
a[x][y]='@';
y--;
}
else if(a[x][y+3]!='#')
{
a[x][y]=' ';
y++;
a[x][y]='r';
y++;
a[x][y]='0';
y--;
}
}
}
}
}
int main()
{
ditu();
while(1)
{
HEL;
}
return 0;
}