C语言实现迷宫小游戏

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
printf(" ");
i = i + 2;
Pos(i, j);
printf("♀");
}
Sleep(300);
}
}
int victor()
{
if (i == 48 && j == 23)
{
Pos(20, 12);
printf("恭喜通过");
Sleep(300000);
return 1;
}
}
int main()
0,2,4,6,8,12,14,16,18,20,22,24,26,28,30,32,34,36,40,42,44,46,48,
0,8,16,36,48,
0,4,6,8,10,12,16,20,22,24,26,28,30,32,36,38,40,42,44,48,
0,4,12,20,32,44,48,
8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,
9,9,9,9,9,9,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
11,11,11,11,11,11,11,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
21,21,21,21,21,21,21,
22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,
23,23,23,
24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24 };
0,2,4,6,8,12,14,16,20,22,24,26,28,30,32,36,38,40,44,48,
0,12,20,36,44,48,
0,4,6,8,10,12,1wk.baidu.com,18,20,24,26,28,30,32,36,40,42,44,48,
0,4,16,20,32,36,48,
0,4,8,10,12,14,16,20,24,26,28,32,34,36,38,40,42,44,46,48,
17,17,17,17,17,
18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,
19,19,19,19,19,
20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,
{
if ((i - 2) == x[k] && j == y[k] || (i - 2 == -2 && j == 1))
flag = 0;
k++;
}
if (flag == 1)
{
Pos(i, j);
printf(" ");
i = i - 2;
Pos(i, j);
printf("♀");
}
Sleep(300);
j = j - 1;
Pos(i, j);
printf("♀");
}
Sleep(300);
}
if (key == 2)
{
flag = 1;
k = 0;
while (flag == 1 && k<336)
{
if (i == x[k] && (j + 1) == y[k] || (i == -2 && j + 1 == 1))
13,13,13,13,13,13,
14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,
15,15,15,15,15,15,15,
16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
uchar key;
int i = 0, j = 1;
int flag;
int k;
int x[] = { 0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,
24,48,
0,2,4,6,8,12,14,16,18,20,24,28,30,32,34,36,38,40,44,46,48,
SetConsoleCursorPosition(hOutput, pos);
}
void init()
{
for (k = 0; k<336; k++)
{
Pos(x[k], y[k]);
printf("■");
}
Pos(i, j);
printf("♀");
}
void maze_move()
{
if (key == 1)
{
flag = 1;
k = 0;
while (flag == 1 && k<336)
{
if (i == x[k] && (j - 1) == y[k] || (i == -2 && j - 1 == 1))
flag = 0;
k++;
}
if (flag == 1)
{
Pos(i, j);
printf(" ");
if (GetAsyncKeyState(VK_RETURN)) return 5;
else return 0;
}
void Pos(int x, int y)//设置光标位置
{
COORD pos;
HANDLE hOutput;
pos.X = x;
pos.Y = y;
hOutput = GetStdHandle(STD_OUTPUT_HANDLE);
}
if (key == 4)
{
flag = 1;
k = 0;
while (flag == 1 && k<336)
{
if ((i + 2) == x[k] && j == y[k] || (i + 2 == -2 && j == 1))
flag = 0;
k++;
}
if (flag == 1)
{
Pos(i, j);
{
int a;
init();
while (1)
{
keyboard();
key = keyboard();
maze_move();
victor();
a = victor();
if (a == 1)
return 0;
}
}
0,4,8,12,14,16,18,20,24,28,30,32,34,36,38,40,44,48,
0,8,24,
0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48 };
int y[] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1,1,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
3,3,3,3,3,3,3,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
5,5,5,5,5,5,5,
6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
7,7,7,7,7,7,7,7,
uchar keyboard()
{
if (GetAsyncKeyState(VK_UP)) return 1;
if (GetAsyncKeyState(VK_DOWN)) return 2;
if (GetAsyncKeyState(VK_LEFT)) return 3;
if (GetAsyncKeyState(VK_RIGHT)) return 4;
0,4,12,20,28,48,
0,4,6,8,12,16,18,20,22,24,28,30,32,34,36,38,40,44,48,
0,12,16,28,36,44,48,
0,4,6,8,10,12,16,20,22,24,26,28,30,32,36,40,42,44,48,
0,12,36,40,48,
0,12,20,24,40,44,48,
0,4,6,8,10,12,16,20,24,26,28,30,32,36,38,40,44,48,
0,12,16,24,36,44,48,
0,4,6,8,12,16,18,20,22,24,28,30,32,34,36,40,42,44,48,
0,8,12,16,28,36,44,48,
flag = 0;
k++;
}
if (flag == 1)
{
Pos(i, j);
printf(" ");
j = j + 1;
Pos(i, j);
printf("♀");
}
Sleep(300);
}
if (key == 3)
{
flag = 1;
k = 0;
while (flag == 1 && k<336)
#include<stdio.h>
#include<windows.h>
#include<stdlib.h>
#define uchar unsigned char
#define wide 50
#define high 25
uchar up = 0, down = 0, left = 0, right = 0;
相关文档
最新文档