我的無限迷宮完成了:
各位小伙伴來看看
int main()
{
system("color f4");
puts("走出去吧:\nw上 a左 s下 d右");
Sleep(1000);
system("cls");
x=2,y=2;
remove(x,y);
}
是不是很簡單,
開玩笑的啦,
remove代碼
int remove(int x,int y)
{
char ch;
print(mg);
while(x<5 && y<5 && x>-1 && y>-1)
{
ch=getch();
if(ch=='s')
{
if(mg[x+1][y]!='#')
{
mg[x][y]=' ';
x++;
mg[x][y]='o';
}
}
if(ch=='w')
{
if(mg[x-1][y]!='#')
{
mg[x][y]=' ';
x--;
mg[x][y]='o';
}
}
if(ch=='a')
{
if(mg[x][y-1]!='#')
{
mg[x][y]=' ';
y--;
mg[x][y]='o';
}
}
if(ch=='d')
{
if(mg[x][y+1]!='#')
{
mg[x][y]=' ';
y++;
mg[x][y]='o';
}
}
system("cls");
print(mg);
}//控制移動
//接下來就是無限了
system("cls");//為下次地圖做準備
//開始回圈
if(x==2 && y==-1)
{
y+=5;
mg[x][y]='o';
mg[1][5]='\0';//阻止亂碼,個人水平有限
}
if(x==2 && y==5)
{
y-=5;
mg[x][y]='o';
mg[2][5]='\0';//阻止亂碼,個人水平有限
}
if(x==-1 && y==2)
{
x+=5;
mg[x][y]='o';
}
if(x==5 && y==2)
{
x-=5;
mg[x][y]='o';
}
remove(x,y);
}
這是***精髓***,可以好好看看哦,
宣告和列印地圖函式:
#include<stdio.h>//無限迷宮,全域變數
#include<conio.h>
#include<windows.h>
int x,y,i;
static char mg[5][6]=
{
{" # # "},
{"## ##"},
{" O "},
{"## ##"},
{" # # "}
};
void print(char mg[5][6])
{
putchar('\n');
for(i=0;i<5;i++)
printf("\t%s\n",mg[i]);
putchar('\n');
}
全部代碼如下:
#include<stdio.h>//無限迷宮,全域變數
#include<conio.h>
#include<windows.h>
int x,y,i;
static char mg[5][6]=
{
{" # # "},
{"## ##"},
{" O "},
{"## ##"},
{" # # "}
};
void print(char mg[5][6])
{
putchar('\n');
for(i=0;i<5;i++)
printf("\t%s\n",mg[i]);
putchar('\n');
}
int remove(int x,int y)
{
char ch;
print(mg);
while(x<5 && y<5 && x>-1 && y>-1)//控制移動
{
ch=getch();
if(ch=='s')
{
if(mg[x+1][y]!='#')
{
mg[x][y]=' ';
x++;
mg[x][y]='o';
}
}
if(ch=='w')
{
if(mg[x-1][y]!='#')
{
mg[x][y]=' ';
x--;
mg[x][y]='o';
}
}
if(ch=='a')
{
if(mg[x][y-1]!='#')
{
mg[x][y]=' ';
y--;
mg[x][y]='o';
}
}
if(ch=='d')
{
if(mg[x][y+1]!='#')
{
mg[x][y]=' ';
y++;
mg[x][y]='o';
}
}
system("cls");
print(mg);
}
system("cls");//為下次地圖做準備
//開始回圈
if(x==2 && y==-1)
{
y+=5;
mg[x][y]='o';
mg[1][5]='\0';//阻止亂碼,個人水平有限
}
if(x==2 && y==5)
{
y-=5;
mg[x][y]='o';
mg[2][5]='\0';//阻止亂碼,個人水平有限
}
if(x==-1 && y==2)
{
x+=5;
mg[x][y]='o';
}
if(x==5 && y==2)
{
x-=5;
mg[x][y]='o';
}
remove(x,y);
}
int main()
{
system("color f4");
puts("走出去吧:\nw上 a左 s下 d右");
Sleep(1000);
system("cls");
x=2,y=2;
remove(x,y);
}
一共一百行哦,湊個整數好看,嘻嘻,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/243225.html
標籤:其他
上一篇:利用爬蟲技識訓取英語單詞,并通過tkinter庫實作猜單詞游戲
下一篇:武漢有哪些優秀的互聯網公司?
