|
5啊哈币
#include <stdio.h>
#include <stdlib.h>
int main()
{
char a[50][50]={" ### ",
" #*# ",
"####0######",
"#* 0S 0 *#",
"#####0#####",
" # # ",
" #*# ",
" # ",
};
int i,x,y,p;//还有一些东西没打
char ch;
p=0;//还有没打
for(i=0;i<=10;i++)
puts(a[i]);
while(a[1][4]!=p || a[3][1]!=p || a[3][9]!=p || a[6][5]!=p)
{
ch=getch();
if(ch=='s')
{
if(a[x+1][y]!='#' )
{
a[x][y]=' ';
x++;
a[x][y]='S';
}
if(a[x+1][y]='0')
{
a[x][y]=' ';
x++;
a[x][y]='S';
x++;
a[x][y]='0';
}
}
if(ch=='w')
{
if(a[x-1][y]!='#' )
{
a[x][y]=' ';
x--;
a[x][y]='S';
}
if(a[x-1][y]='0')
{
a[x][y]=' ';
x--;
a[x][y]='S';
x--;
a[x][y]='0';
}
}
if(ch=='a')
{
if(a[x][y-1]!='#' )
{
a[x][y]=' ';
y--;
a[x][y]='S';
}
if(a[x+1][y]='0')
{
a[x][y]=' ';
y--;
a[x][y]='S';
y--;
a[x][y]='0';
}
}
if(ch=='d')
{
if(a[x][y+1]!='#' )
{
a[x][y]=' ';
y++;
a[x][y]='S';
}
if(a[x][y+1]='0')
{
a[x][y]=' ';
y++;
a[x][y]='S';
y++;
a[x][y]='0';
}
}
system("cls");
for(i=0;i<=10;i++)
puts(a[i]);
}
system("cls");
printf("you win\n");
_sleep(5000);
return 0;
}
运行时候按s,w,a,d会出现windows正在寻找该问题的解决方案
不知道我程序设计哪里有问题,麻烦大神帮忙看一下
|
最佳答案
查看完整内容
p的值错了,是'0'而不是0
x, y没有初始化
if(a[x+1][y]=='0') 这样的4句你都写成了 = '0'
另外
if(a[x+1][y]!='#' )
{
a[x][y]=' ';
x++;
a[x][y]='S';
}
if(a[x+1][y]=='0')
{
...
|