#include<stdio.h>
#include <conio.h>
#include<windows.h>
int x,y;
int b=0;
int a=0;
#define N 500
void menu();
void replay1();
void replay2();
void replay3();
void gotoxy(int m,int n);
void fanhui();
void loading1();
void read1();
void read2();
void read3();
void fanhui()
{
system("cls");
return menu();
}
void step()
{
a=a+1;
gotoxy(70,15);
printf("step:%d",a);
}
struct way
{
int row;
int col;
}w1[N],w2[N],w3[N];
void gotoxy(int m, int n)
{
COORD pos = {m,n};
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hOut, pos);
}
void zuobiao(int x,int y, char* pszChar) //坐标
{
HANDLE hStdout;
CONSOLE_CURSOR_INFO cci;
COORD pos;
cci.bVisible = FALSE;
hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorInfo(hStdout,&cci);
pos.X = y*2;
pos.Y = x;
SetConsoleCursorPosition(hStdout,pos);
printf(pszChar);
}
void hidden() //隐藏光标
{
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_CURSOR_INFO cii;
GetConsoleCursorInfo(hOut,&cii);
cii.bVisible=0; //初始化给一个值,1为显示,0为隐藏
SetConsoleCursorInfo(hOut,&cii);
}
int map1[20][20];
int map2[25][25];
int map3[25][25];
void read1()
{
FILE *fp;
fp=fopen("D:\\User\\map.txt","r");
if(fp==NULL)
printf("cannot open the file!");
for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)
{
map1[i][j]=fgetc(fp);
}
}
fclose(fp);
}
void read2()
{
FILE *fp;
fp=fopen("D:\\User\\map.txt","r");
if(fp==NULL)
printf("cannot open the file!");
for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)
{
map2[i][j]=fgetc(fp);
}
}
fclose(fp);
}
void read3()
{
FILE *fp;
fp=fopen("D:\\User\\map.txt","r");
if(fp==NULL)
printf("cannot open the file!");
for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)
{
map3[i][j]=fgetc(fp);
}
}
fclose(fp);
}
void drawing1()
{
gotoxy(50,7);
printf("*****************游戏控制*********************");
gotoxy(50,8);
printf("** 手动模式下使用方向键控制小人移动 **\n");
gotoxy(50,9);
printf("** 自动模式下小人可自行移动 **\n");
gotoxy(50,10);
printf("** 完成游戏后按“1”回放 **\n");
gotoxy(50,11);
printf("** 游戏过程中可按“ESC”返回菜单 **\n");
gotoxy(50,12);
printf("**********************************************\n");
int i,j,ch,num=1;
gotoxy(0,0);
for(i=0;i<20;i++)
{
for(j=0;j<20;j++)
{
ch=map1[i][j];
switch(ch)
{
case 2:printf(" ");break;
case 4: printf("☆");break;
case 0: printf(" ");break;
case 1: printf("※");break;
}
if(num++%20==0)
printf ("\n");
}
}
}
void drawing2()
{
gotoxy(53,7);
printf("*******************游戏控制***********************");
gotoxy(53,8);
printf("*** 手动模式下使用方向键控制小人移动 ***\n");
gotoxy(53,9);
printf("*** 自动模式下小人可自行移动 ***\n");
gotoxy(53,10);
printf("*** 完成游戏后按“1”回放 ***\n");
gotoxy(53,11);
printf("**游戏过程中可按“ESC”返回菜单 ,游戏将自动保存**\n");
gotoxy(53,12);
printf("**************************************************\n");
gotoxy(0,0);
int i,j,x,y,ch,num=1;
for(i=0;i<25;i++)
{
for(j=0;j<25;j++)
{
ch=map2[i][j];
switch(ch)
{
case 2:printf(" ");break;
case 4: printf("☆");break;
case 0: printf(" ");break;
case 1: printf("※");break;
}
if(num++%25==0)
printf ("\n");
}
}
}
void drawing3()
{
gotoxy(63,10);
printf("*****************游戏控制*********************");
gotoxy(63,11);
printf("** 手动模式下使用方向键控制小人移动 **\n");
gotoxy(63,12);
printf("** 自动模式下小人可自行移动 **\n");
gotoxy(63,13);
printf("** 完成游戏后按“1”回放 **\n");
gotoxy(63,14);
printf("** 游戏过程中可按“ESC”返回菜单 **\n");
gotoxy(63,15);
printf("**********************************************\n");
gotoxy(0,0);
int i,j,x,y,ch,num=1;
for(i=0;i<30;i++)
{
for(j=0;j<30;j++)
{
ch=map3[i][j];
switch(ch)
{
case 2:printf(" ");break;
case 4: printf("☆");break;
case 0: printf(" ");break;
case 1: printf("※");break;
}
if(num++%30==0)
printf ("\n");
}
}
}
void easymode1()
{
int m;
b=0;
gotoxy(35,10);
printf("*************************\n");
gotoxy(35,11);
printf("* 1.开始新游戏 *\n");
gotoxy(35,12);
printf("* 2.继续游戏 *\n");
gotoxy(35,13);
printf("*************************\n");
gotoxy(35,14);
printf("请选择:");
scanf("%d",&m);
if(m==1)
{
x=0,y=3;
int a=0;
}
else if(m==2)
{
loading1();
}
system("cls");
drawing1();
zuobiao(x,y,"☆");
int ch1=0;
int ch2=0;
while (1)
{
if (ch1=getch())
{
switch(ch1)
{
case 49: replay1();
case 27:fanhui();break;
}
ch2=getch();
switch (ch2)
{
case 72:
if(map1[x-1][y]!=1)
{
zuobiao(x,y," ");
x--; //x--
zuobiao(x,y,"☆");
w1[b].row=x;
w1[b].col=y;
b++;
step();
}
break;
case 80:
if(map1[x+1][y]!=1)
{
zuobiao(x,y," ");
x++; //x++
zuobiao(x,y,"☆");
w1[b].row=x;
w1[b].col=y;
b++;
step();
}
break;
case 75:
if(map1[x][y-1]!=1)
{
zuobiao(x,y," ");
y--; //y--
zuobiao(x,y,"☆");
w1[b].row=x;
w1[b].col=y;
b++;
step();
}
break;
case 77:
if(map1[x][y+1]!=1)
{
zuobiao(x,y," ");
y++; //y++
zuobiao(x,y,"☆");
w1[b].row=x;
w1[b].col=y;
b++;
step();
}
break;
}
}
FILE *fp;
int i;
if((fp=fopen("d:\\user\\map1.txt","w"))==NULL)
{
printf("cannot open the file!\n");
exit(0);
}
for(i=0;i<b;i++)
{
fprintf(fp," %d %d",w1[i].row,w1[i].col);
}
fclose(fp);
}
}
void easymode2()
{
b=0;
int a=0;
int x=0; //x ->右标
int y=3; //y 下标
drawing1 ();
zuobiao(x,y,"☆");
Sleep(1 * 1000);
while ((x!=19)||(y!=9))
{
if(map1[x+1][y]!=1&&map1[x+1][y]!=2)
{
map1[x][y]=2;
zuobiao(x,y," ");
x++; //x++
zuobiao(x,y,"☆");
w1[b].row=x;
w1[b].col=y;
b++;
step();
Sleep(1 * 1000);
}
else if(map1[x][y+1]!=1&&map1[x][y+1]!=2)
{
map1[x][y]=2;
zuobiao(x,y," ");
y++; //y++
zuobiao(x,y,"☆");
w1[b].row=x;
w1[b].col=y;
b++;
step();
Sleep(1 * 1000);
}
else if(map1[x][y-1]!=1&&map1[x][y-1]!=2)
{
map1[x][y]=2;
zuobiao(x,y," ");
y--; //y--
zuobiao(x,y,"☆");
w1[b].row=x;
w1[b].col=y;
b++;
step();
Sleep(1 * 1000);
}
else if(map1[x-1][y]!=1&&map1[x-1][y]!=2)
{
map1[x][y]=2;
zuobiao(x,y," ");
x--; //x--
zuobiao(x,y,"☆");
w1[b].row=x;
w1[b].col=y;
b++;
step();
Sleep(1 * 1000);
}
}
FILE *fp;
int i;
if((fp=fopen("d:\\user\\map1.txt","w"))==NULL)
{
printf("cannot open the file!\n");
exit(0);
}
for(i=0;i<b;i++)
{
fprintf(fp," %d %d",w1[i].row,w1[i].col);
}
fclose(fp);
}
void normalmode1()
{
b=0;
int a=0,m;
gotoxy(35,10);
printf("***********
没有合适的资源?快使用搜索试试~ 我知道了~
基于VS2010的c++程序迷宫游戏
共39个文件
tlog:19个
pdb:2个
manifest:2个
需积分: 50 10 下载量 117 浏览量
2018-06-16
11:03:29
上传
评论 5
收藏 13.86MB ZIP 举报
温馨提示
设计内容:开发个款“智能机器人走迷宫”软件。 (1)“智能机器人走迷宫”基本功能 游戏开始界面、菜单、迷宫地图加载与显示、机器人走迷宫(模式1)、机器人智能走迷宫(模式2) (2)“智能机器人走迷宫”增强功能 游戏保存、游戏恢复、游戏回放 设计要求: (1)操作灵活方便 (2)各界面风格统一 (3)游戏提示友好 (4)可循环开始新游戏 (5)游戏难度不少于3种 (6)每个难度的迷宫地图不少于2个
资源推荐
资源详情
资源评论
收起资源包目录
迷宫游戏.zip (39个子文件)
迷宫游戏
迷宫游戏.sdf 22.83MB
ipch
迷宫游戏-caf3d347
迷宫游戏-c3e62315.ipch 31.31MB
迷宫游戏.suo 10KB
迷宫游戏.sln 903B
Debug
迷宫游戏.pdb 451KB
迷宫游戏.exe 48KB
迷宫游戏.ilk 343KB
迷宫游戏
1.cpp 18KB
迷宫游戏.vcxproj.filters 939B
迷宫游戏.vcxproj.user 143B
迷宫游戏.vcxproj 4KB
Debug
迷宫游戏.log 15KB
CL.write.1.tlog 330B
vc100.idb 363KB
mt.read.1.tlog 310B
迷宫游戏.write.1.tlog 0B
link-cvtres.write.1.tlog 2B
迷宫游戏.lastbuildstate 86B
rc.command.1.tlog 506B
1.obj 87KB
迷宫游戏.exe.embed.manifest.res 472B
link.command.1.tlog 1KB
vc100.pdb 100KB
link.4772-cvtres.write.1.tlog 2B
CL.read.1.tlog 14KB
mt.write.1.tlog 310B
link-cvtres.read.1.tlog 2B
迷宫游戏.exe.intermediate.manifest 381B
rc.read.1.tlog 282B
link.4772-cvtres.read.1.tlog 2B
mt.command.1.tlog 372B
link.write.1.tlog 744B
迷宫游戏.exe.embed.manifest 406B
迷宫游戏_manifest.rc 198B
cl.command.1.tlog 642B
link.4772.read.1.tlog 2B
rc.write.1.tlog 290B
link.4772.write.1.tlog 2B
link.read.1.tlog 3KB
共 39 条
- 1
资源评论
小白一只白
- 粉丝: 4
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功