马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 andy大宝 于 2020-3-13 12:06 编辑
应该不是我电脑的问题吧 #include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{
char a[20][20]={" ###",
" #*#",
" # #",
"####O######",
"#* OS O *#",
"#####O#####",
" # #",
" #*#",
" ###",
int i,x,y;
char ch;
x=4;
y=5;
for (i=0;i<=8;i++)
{
puts(a[i]);
}
while (a[1][4]!='@' || a[4][1]!='@'|| a[4][9]!='@' || a[7][5]!='@')//是否过关
{
ch=getch();
if (ch=='s')//按下s键
{
while (1)
{
if (a[x+1][y]!='#' && a[x+1][y]!='O' && a[x+1][y]!='@')//从此开始判断
{
a[x][y]=' ';
x++;
a[x][y]='S';
break;
}
if (a[x+1][y]=='O' && a[x+2][y]==' ')
{
a[x][y]=' ';
a[x+1][y]='S';
a[x+2][y]='O';
x++;
break;
}
if (a[x+1][y]=='O' && a[x+2][y]=='*')
{
a[x][y]=' ';
a[x+1][y]='S';
a[x+2][y]='@';
x++;
break;
}
if (a[x+1][y]=='@' && a[x+2][y]==' ')
{
a[x][y]=' ';
a[x+1][y]='S';
a[x+2][y]='O';
x++;
break;
}
if (a[x+1][y]=='@' && a[x+2][y]=='*')
{
a[x][y]=' ';
a[x+1][y]='S';
a[x+2][y]='@';
x++;
break;
}
}
for (i=0;i<=8;i++)//刷新
{
puts(a[i]);
}
if (ch=='w')//按下w键
{
while (1)
{
if (a[x-1][y]!='#' && a[x-1][y]!='O' && a[x-1][y]!='@')//从此开始判断
{
a[x][y]=' ';
x--;
a[x][y]='S';
break;
}
if (a[x-1][y]=='O' && a[x-2][y]==' ')
{
a[x][y]=' ';
a[x-1][y]='S';
a[x-2][y]='O';
x--;
break;
}
if (a[x-1][y]=='O' && a[x-2][y]=='*')
{
a[x][y]=' ';
a[x-1][y]='S';
a[x-2][y]='@';
x--;
break;
}
if (a[x-1][y]=='@' && a[x-2][y]==' ')
{
a[x][y]=' ';
a[x-1][y]='S';
a[x-2][y]='O';
x--;
break;
}
if (a[x-1][y]=='@' && a[x-2][y]=='*')
{
a[x][y]=' ';
a[x-1][y]='S';
a[x-2][y]='@';
x--;
break;
}
}
system("cls");
for (i=0;i<=8;i++)//刷新
{
puts(a[i]);
}
}
//暂时没有补充成功后的动作
//暂时编到w键和s键
//期待完结
system("pause");
return 0;
}
本帖最后由 jackz007 于 2020-3-13 12:51 编辑
作为一个合格的码农,要紧的是一定要把代码的缩进层次搞漂亮,这样才容易查出问题和错误。 #include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <windows.h>
int main(void)
{
char a[20][20]={" ###",
" #*#",
" # #",
"####O######",
"#* OS O *#",
"#####O#####",
" # #",
" #*#",
" ###"} ;
int i,x,y;
char ch;
x = 4 ;
y = 5 ;
for (i = 0 ; i <= 8 ; i ++) puts(a[i]);
while (a[1][4]!='@' || a[4][1]!='@'|| a[4][9]!='@' || a[7][5]!='@') {
ch = getch() ;
if (ch == 's') {
while (1) {
if (a[x+1][y]!='#' && a[x+1][y]!='O' && a[x+1][y]!='@') {
a[x][y]=' ';
x++;
a[x][y]='S';
break;
}
if (a[x+1][y]=='O' && a[x+2][y]==' ') {
a[x][y]=' ';
a[x+1][y]='S';
a[x+2][y]='O';
x++;
break;
}
if (a[x+1][y]=='O' && a[x+2][y]=='*') {
a[x][y]=' ';
a[x+1][y]='S';
a[x+2][y]='@';
x++;
break;
}
if (a[x+1][y]=='@' && a[x+2][y]==' ') {
a[x][y]=' ';
a[x+1][y]='S';
a[x+2][y]='O';
x++;
break;
}
if (a[x+1][y]=='@' && a[x+2][y]=='*') {
a[x][y]=' ';
a[x+1][y]='S';
a[x+2][y]='@';
x++;
break;
}
}
for (i = 0 ; i <= 8 ; i ++) puts(a[i]) ;
}
if (ch == 'w') {
while (1) {
if (a[x-1][y]!='#' && a[x-1][y]!='O' && a[x-1][y]!='@') {
a[x][y]=' ';
x--;
a[x][y]='S';
break;
}
if (a[x-1][y]=='O' && a[x-2][y]==' ') {
a[x][y]=' ';
a[x-1][y]='S';
a[x-2][y]='O';
x--;
break;
}
if (a[x-1][y]=='O' && a[x-2][y]=='*') {
a[x][y]=' ';
a[x-1][y]='S';
a[x-2][y]='@';
x--;
break;
}
if (a[x-1][y]=='@' && a[x-2][y]==' ') {
a[x][y]=' ';
a[x-1][y]='S';
a[x-2][y]='O';
x--;
break;
}
if (a[x-1][y]=='@' && a[x-2][y]=='*') {
a[x][y]=' ';
a[x-1][y]='S';
a[x-2][y]='@';
x--;
break;
}
}
system("cls") ;
for (i = 0 ; i <= 8 ; i ++) puts(a[i]) ;
}
}
//暂时没有补充成功后的动作
//暂时编到w键和s键
//期待完结
system("pause");
return 0;
}
|