[mw_shl_code=c,true]#include <stdio.h>
#include <stdlib.h>
char move(p)
char p;
{
char z;
if(p=='S')z=' ';
else z='*';
return (z);
}
char now(p)
char p;
{
char z;
if(p=='*'||p=='@')z='$';
else z='S';
return (z);
}
char box(p)
char p;
{
char z;
if(p==' ')z='O';
else z='@';
return (z);
}
main()
{
char a[15][15]={" ### ",
" #*# ",
"####O######",
"#* OS O *#",
"#####O#####",
" # # ",
" #*# ",
" ### ",
};
int i,x,y;
char ch;
printf("Chekpoint 1\n");
for(i=0;i<=7;i++)
puts(a);
x=3;y=5;
while(a[1][4]!='@'||a[3][1]!='@'||a[3][9]!='@'||a[6][5]!='@')
{
ch=getch();
switch(ch)
{
case'w':if(a[x-1][y]!='#')
{if(a[x-1][y]==' '||a[x-1][y]=='*')
{a[x][y]=move(a[x][y]);x--;a[x][y]=now(a[x][y]);}
else if(a[x-2][y]!='#'&&a[x-2][y]!='O'&&a[x-2][y]!='@')
{a[x][y]=move(a[x][y]);x--;a[x][y]=now(a[x][y]);x--;a[x][y]=box(a[x][y]);x++;}
}break;
case's':if(a[x+1][y]!='#')
{if(a[x+1][y]==' '||a[x+1][y]=='*')
{a[x][y]=move(a[x][y]);x++;a[x][y]=now(a[x][y]);}
else if(a[x+2][y]!='#'&&a[x+2][y]!='O'&&a[x+2][y]!='@')
{a[x][y]=move(a[x][y]);x++;a[x][y]=now(a[x][y]);x++;a[x][y]=box(a[x][y]);x--;}
}break;
case'a':if(a[x][y-1]!='#')
{if(a[x][y-1]==' '||a[x][y-1]=='*')
{a[x][y]=move(a[x][y]);y--;a[x][y]=now(a[x][y]);}
else if(a[x][y-2]!='#'&&a[x][y-2]!='O'&&a[x][y-2]!='@')
{a[x][y]=move(a[x][y]);y--;a[x][y]=now(a[x][y]);y--;a[x][y]=box(a[x][y]);y++;}
}break;
case'd':if(a[x][y+1]!='#')
{if(a[x][y+1]==' '||a[x][y+1]=='*')
{a[x][y]=move(a[x][y]);y++;a[x][y]=now(a[x][y]);}
else if(a[x][y+2]!='#'&&a[x][y+2]!='O'&&a[x][y+2]!='@')
{a[x][y]=move(a[x][y]);y++;a[x][y]=now(a[x][y]);y++;a[x][y]=box(a[x][y]);y--;}
}break;
}
system("cls");
for(i=0;i<=6;i++)
puts(a);
}
system("cls");
printf("you win!\n");
printf("请选择 1.重新开始 2.下一关\n");
char wang;
int A;
scanf("%c",&wang);
if(wang=='1' && wang=='1')
{
if(wang!='2' || wang!='2')
{
for(A=0;A<=2;A++)
{
break;
}
}
}
if(wang!='1' && wang!='2')
{
if(wang=='2' || wang=='2')
{
int b,c=0,d,e,count=0,f=3,g=2,h,l[N][2]={{5,2},{5,3},{4,2},{4,3}};
/*int i,j=0,t,u,count=0,x=3,y=2,n,b[N][2]={{5,2},{5,3},{4,2},{4,3}};←源代码*/
char z[15][15]={"##########",
"## ###",
"##O### #",
"# S O O #",
"# **# O ##",
"##**# ##",
"##########",};
char m[15][15]={"##########",
"## ###",
"##O### #",
"# S O O #",
"# **# O ##",
"##**# ##",
"##########",};
while(count!=4)
printf("Chekpoint 2");
{
for(b=0;b<7;b++)
{
puts(a);
}
h=getch();
if(!(h=='w'||h=='a'||h=='s'||h=='d'))
if(h=='w')
{
if(z[x-1][y]==' ')
{
z[x][y]=' ';
x--;
z[x][y]='S';
}
else if(z[x-1][y]=='O')
{
if(z[x-2][y]=='*'||a[x-2][y]==' ')
{ z[x-2][y]='O';
z[x][y]=' ';
x--;
z[x][y]='S';
}
}
else
{
if(z[x-1][y]=='*')
{
z[x-1][y]='S';
z[x][y]=' ';
x--;
}
}
}
if(h=='a')
{
if(z[x][y-1]==' ')
{
z[x][y]=' ';
y--;
z[x][y]='S';
}
else if(z[x][y-1]=='O')
{
if(z[x][y-2]=='*'||a[x][y-2]==' ')
{
z[x][y-2]='O';
z[x][y]=' ';
y--;
z[x][y]='S';
}
}
else
{
if(z[x][y-1]=='*')
{
z[x][y-1]='S';
z[x][y]=' ';
y--;
}
}
}
if(h=='s')
{
if(z[x+1][y]==' ')
{
z[x][y]=' ';
x++;
z[x][y]='S';
}
else if(z[x+1][y]=='O')
{
if(z[x+2][y]=='*'||z[x+2][y]==' ')
{ z[x+2][y]='O';
z[x][y]=' ';
x++;
z[x][y]='S';
}
}
else
{
if(z[x+1][y]=='*')
{
z[x+1][y]='S';
z[x][y]=' ';
x++;
}
}
}
if(h=='d')
{
if(z[x][y+1]==' ')
{
z[x][y]=' ';
y++;
z[x][y]='S';
}
else if(z[x][y+1]=='O')
{
if(z[x][y+2]=='*'||z[x][y+2]==' ')
{ z[x][y+2]='O';
z[x][y]=' ';
y++;
z[x][y]='S';
}
}
else
{
if(z[x][y+1]=='*')
{
z[x][y+1]='S';
z[x][y]=' ';
y++;
}
}
}
count=0;
for(i=0;i<N;i++)
{
c=0;
d=l[c];
e=l[c+1];
if(a[d][e]==' ')
{
z[d][e]='*';
}
if(z[d][e]=='O')
count++;
}
system("cls");
}
system("cls");
printf("You Win!");
}
}
system("pause");
}[/mw_shl_code] |