您现在的位置:计算机技术学习网 > 技术中心 > 编程开发 > C >

迷宫游戏

来源:不详 责任编辑:栏目编辑 发表时间:2013-07-01 13:58 点击:

迷宫游戏
  /*   乌云老师的话:学习检测键盘信息之后,余文彪同学当堂就作出了通过键盘在屏幕上下左右移动一个星星的程序。
               老师给几位同学大略说了一下迷宫游戏的实现思路,彭搏同学下次课就把做好的迷宫游戏拿出来了,wonderful!
               思路分明,代码简练,注释清晰,只得大家学习。
               同时他还实现了一个简单推箱子游戏,可谓程序快手了。
          */


#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)   &nbs

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1