⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 迷宫游戏.txt

📁 迷宫游戏 大小:1.00 KB (1,026 字节)
💻 TXT
字号:
#include"stdio.h"
#include"bios.h"
#define LEFT 75
#define RIGHT 77
#define UPPER 72
#define DOWN 80
#define ESC 27
union keyboard                   /*定义读取键盘码的共用体类型*/
{
unsigned int iKeyInfo;
char chKeyBit[2];
};
int fnGetKey(void)                /*定义读取键盘码的函数*/
{
union keyboard uniKey1;           /*定义读取键盘码的共用体变量*/
while(bioskey(1)==0);             /*检测用户是否按键*/
uniKey1.iKeyInfo=bioskey(0);      /*读取按键信息*/
return(uniKey1.chKeyBit[0]==0?uniKey1.chKeyBit[1]:uniKey1.chKeyBit[0]);   /*返回ASCII码或扩充码*/
}
void main()
{
int iKey,x=11,y=6;               /*x,y为人物移动后坐标*/
int chMap[10][10]={              /*用二维数组定义地图*/
                  {0,0,0,0,0,0,0,0,0,0},   /*0表示墙1表示路2表示出口*/
                  {0,1,0,0,1,1,1,1,1,0},
                  {0,1,1,0,1,0,1,0,1,0},
                  {0,0,1,0,1,0,1,0,1,0},
                  {0,0,1,1,1,0,0,0,1,0},
                  {0,0,0,0,0,0,1,1,1,0},
                  {0,1,0,0,1,1,1,0,0,0},
                  {0,1,1,1,1,0,0,0,2,0},
                  {0,1,0,0,1,1,1,1,1,0},
                  {0,0,0,0,0,0,0,0,0,0},
                  };
int i,j;          /*反复进行求移动的坐标运算*/
  while(1)
  {
  for(i=0;i<10;i++)   /*输出新地图(刷新地图)*/
  {
   gotoxy(10,5+i);
   for(j=0;j<10;j++)
    {
     if(chMap[i][j]==0)
        printf("#");
     if(chMap[i][j]==1)
        printf(" ");
     if(chMap[i][j]==2)
        printf("E");
    }

  }
  if(chMap[y-5][x-10]==2)     /*如果如果人的坐标和目标坐标重合输出"YOU WIN!"退出*/
  {
    clrscr();
    printf("You Win!");
    break;
  }                           /*在起始(或移动后)的坐标输出人*/
  gotoxy(x,y);
  printf("*\b");
  iKey=fnGetKey();                       /*按读取的按键信息改变坐标如果改变的坐标和墙(0)重合则不改变*/
  if(iKey==LEFT&&chMap[y-5][x-1-10]!=0)
     x--;
  if(iKey==RIGHT&&chMap[y-5][x+1-10]!=0)
     x++;
  if(iKey==UPPER&&chMap[y-1-5][x-10]!=0)
     y--;
  if(iKey==DOWN&&chMap[y+1-5][x-10]!=0)
     y++;
  if(iKey==ESC)                   /*输入ESC退出并输出"YOU LOST"*/
  {
    clrscr();
    printf("You Lost");
    break;
  }
  clrscr();
  }
getch();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -