#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
char szMaze[][21] = {
"11111111111111111111" ,
"1$001000100001111111" ,
"11101110001101111111" ,
"10000001101101000111" ,
"10101101100101010001" ,
"10101101110100010101" ,
"10001100000001100101" ,
"10110000111000101@01" ,
"11111111111111111111" ,
"11111111111111111111" ,//10*20
};
int ShowMaze() {
int i = 0, j = 0;
for (i = 0; i < 10; i++) {
for (j = 0; j < 20; j++) {
printf("%c", szMaze[i][j]);
}
printf("\r\n");
}
return 0;
}
int main()
{
int x = 1, y = 1;
while (1) {
if (szMaze[x][y] == '@') {
printf("Congratulations!\r\n");
system("pause");
return 0;
}
system("cls");
szMaze[x][y] = '\1';
ShowMaze();
system("pause");
if (szMaze[x + 1][y] == '0' || szMaze[x + 1][y] == '@') {
x = x + 1;
continue;
}
if (szMaze[x][y - 1] == '0' || szMaze[x][y - 1] == '@') {
y = y - 1;
continue;
}
if (szMaze[x - 1][y] == '0' || szMaze[x - 1][y] == '@') {
x = x - 1;
continue;
}
if (szMaze[x][y + 1] == '0' || szMaze[x][y + 1] == '@') {
y = y + 1;
continue;
}
//开始处理返回
szMaze[x][y] = '\2';
if (szMaze[x + 1][y] == '\1' || szMaze[x + 1][y] == '@') {
x = x + 1;
continue;
}
if (szMaze[x][y - 1] == '\1' || szMaze[x][y - 1] == '@') {
y = y - 1;
continue;
}
if (szMaze[x - 1][y] == '\1' || szMaze[x - 1][y] == '@') {
x = x - 1;
continue;
}
if (szMaze[x][y + 1] == '\1' || szMaze[x][y + 1] == '@') {
y = y + 1;
continue;
}
}
}
#include <stdlib.h>
#include <windows.h>
char szMaze[][21] = {
"11111111111111111111" ,
"1$001000100001111111" ,
"11101110001101111111" ,
"10000001101101000111" ,
"10101101100101010001" ,
"10101101110100010101" ,
"10001100000001100101" ,
"10110000111000101@01" ,
"11111111111111111111" ,
"11111111111111111111" ,//10*20
};
int ShowMaze() {
int i = 0, j = 0;
for (i = 0; i < 10; i++) {
for (j = 0; j < 20; j++) {
printf("%c", szMaze[i][j]);
}
printf("\r\n");
}
return 0;
}
int main()
{
int x = 1, y = 1;
while (1) {
if (szMaze[x][y] == '@') {
printf("Congratulations!\r\n");
system("pause");
return 0;
}
system("cls");
szMaze[x][y] = '\1';
ShowMaze();
system("pause");
if (szMaze[x + 1][y] == '0' || szMaze[x + 1][y] == '@') {
x = x + 1;
continue;
}
if (szMaze[x][y - 1] == '0' || szMaze[x][y - 1] == '@') {
y = y - 1;
continue;
}
if (szMaze[x - 1][y] == '0' || szMaze[x - 1][y] == '@') {
x = x - 1;
continue;
}
if (szMaze[x][y + 1] == '0' || szMaze[x][y + 1] == '@') {
y = y + 1;
continue;
}
//开始处理返回
szMaze[x][y] = '\2';
if (szMaze[x + 1][y] == '\1' || szMaze[x + 1][y] == '@') {
x = x + 1;
continue;
}
if (szMaze[x][y - 1] == '\1' || szMaze[x][y - 1] == '@') {
y = y - 1;
continue;
}
if (szMaze[x - 1][y] == '\1' || szMaze[x - 1][y] == '@') {
x = x - 1;
continue;
}
if (szMaze[x][y + 1] == '\1' || szMaze[x][y + 1] == '@') {
y = y + 1;
continue;
}
}
}