#include<stdio.h>
#include<stdlib.h>
int main()
{
char k[7][11]={"##########",
"## ###",
"##O### #",
"# S O O #",
"# # O ##",
"### ##",
"##########"};
int i,x=3,y=2;
char q;
for(i=0;i<7;i++)
puts(k[i]);
while(1)
{
q=getch();
system("cls");
if(q=='w')
{
if(k[x-1][y]==' '||k[x-1][y]=='*')
{
k[x][y]=' ';
x--;
k[x][y]='S';
}
else if((k[x-1][y]=='O'||k[x-1][y]=='@')&&(k[x-2][y]==' '||k[x-2][y]=='*'))
{
k[x][y]=' ';
x--;
k[x][y]='S';
k[x-1][y]='O';
}
}
if(q=='s')
{
if(k[x+1][y]==' '||k[x+1][y]=='*')
{
k[x][y]=' ';
x++;
k[x][y]='S';
}
else if((k[x+1][y]=='O'||k[x+1][y]=='@')&&(k[x+2][y]==' '||k[x+2][y]=='*'))
{
k[x][y]=' ';
x++;
k[x][y]='S';
k[x+1][y]='O';
}
}
if(q=='a')
{
if(k[x][y-1]==' '||k[x][y-1]=='*')
{
k[x][y]=' ';
y--;
k[x][y]='S';
}
else if((k[x][y-1]=='O'||k[x][y-1]=='@')&&(k[x][y-2]==' '||k[x][y-2]=='*'))
{
k[x][y]=' ';
y--;
k[x][y]='S';
k[x][y-1]='O';
}
}
if(q=='d')
{
if(k[x][y+1]==' '||k[x][y+1]=='*')
{
k[x][y]=' ';
y++;
k[x][y]='S';
}
else if((k[x][y+1]=='O'||k[x][y+1]=='@')&&(k[x][y+2]==' '||k[x][y+2]=='*'))
{
k[x][y]=' ';
y++;
k[x][y]='S';
k[x][y+1]='O';
}
}
if(k[4][2]=='O')
k[4][2]='@';
if(k[4][3]=='O')
k[4][3]='@';
if(k[5][2]=='O')
k[5][2]='@';
if(k[5][3]=='O')
k[5][3]='@';
if(k[4][2]!='S'&&k[4][2]!='@')
k[4][2]='*';
if(k[4][3]!='S'&&k[4][3]!='@')
k[4][3]='*';
if(k[5][2]!='S'&&k[5][2]!='@')
k[5][2]='*';
if(k[5][3]!='S'&&k[5][3]!='@')
k[5][3]='*';
for(i=0;i<7;i++)
puts(k[i]);
getchar();
if(k[4][2]=='@'&&k[4][3]=='@'&&k[5][2]=='@'&&k[5][3]=='@')
{
printf("good");
break;
}
}
system("pause");
return 0;
}
getchar();
干什么的
为什么要有这个代码?
这不是让用户输入一串字符串,以回车结束吗,它可不就显示出来了