📄 电子老鼠闯迷宫.cpp
字号:
#include<stdio.h>
#include<conio.h>
void pop(void);
void push(void);
void print(void);
unsigned char a[8][8]=
{
{0,0,1,1,1,1,1,1},
{1,0,1,0,0,0,0,1},
{1,0,1,0,1,0,1,1},
{1,0,0,0,0,0,1,1},
{1,0,1,0,1,0,1,1},
{1,0,1,0,1,0,1,1},
{1,0,0,0,1,0,0,0},
{1,0,1,0,0,0,1,0}
};
char addx[4]={0,1,0,-1};
char addy[4]={-1,0,1,0};
char x=0,y=0;
char p=0;
char stack[300];
char u;
void main()
{
clrscr();
sta:if((y==7)&&(x==7))
{
print();
getchar();
goto end;
}
if((x<0)||(x>7)||(y<0)||(y>7)||(a[y][x]!=0))
goto end;
for(u=0;u<4;u++)
{
push();
a[y][x]=2;
x+=addx[u];
y+=addy[u];
goto sta;
bac: ;
}
end:if(p>0)
{
pop();
a[y][x]=0;
goto bac;
}
}
void push(void)
{
stack[p]=x;
stack[p+1]=y;
stack[p+2]=u;
p+=3;
}
void pop(void)
{
p-=3;
x=stack[p];
y=stack[p+1];
u=stack[p+2];
}
void print(void)
{
int u1,u2;
for(u2=0;u2<8;u2++)
{
for(u1=0;u1<8;u1++)
{
gotoxy(u1+1,u2+1);
if((a[u2][u1]==0)||(a[u2][u1]==2)) printf("%c",' ');
if(a[u2][u1]==1) printf("%c",'
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -