Chinaunix首页 | 论坛 | 博客
  • 博客访问: 735411
  • 博文数量: 769
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 4985
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-15 16:37
文章分类

全部博文(769)

文章存档

2011年(1)

2008年(768)

我的朋友

分类:

2008-10-15 16:40:19

    今天下午赶出来的,还有很多东西要不要加进去我自己还没决定,因为有些东西以前练过了,而有些东西没练过,还有很多不足之处.
    #include
    #include
    #include
    #include
    #include
    #define KEY_ESC 0x01
    #define KEY_SPACE 0x39
    #define KEY_UP 0x48
    #define KEY_LEFT 0x4b
    #define KEY_RIGHT 0x4d
    #define KEY_DOWN 0x50
    /*1石头,2砖块,3水,5老家,8玩家,9敌人*/
    int map[20][20]={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
                     1,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
                     1,0,2,2,2,2,0,0,2,2,2,2,0,0,0,0,0,0,0,1,
       1,0,0,0,0,0,0,0,2,0,0,2,0,1,1,1,1,0,0,1,
                     1,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,0,0,0,0,0,0,0,2,2,0,0,1,
       1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,1,
                     1,0,1,1,1,1,3,3,3,3,0,0,0,0,0,0,0,2,0,1,
                     1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
                     1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
                     1,0,0,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,1,
       1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,3,3,3,0,1,
                     1,0,0,0,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,1,
                     1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
                     1,0,0,0,0,3,3,3,1,1,1,1,1,1,1,0,0,0,0,1,
                     1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
                     1,0,2,2,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,1,
                     1,0,2,2,0,0,0,0,2,2,2,0,0,0,2,2,0,0,0,1,
                     1,0,0,0,0,0,0,8,2,5,2,0,0,0,0,0,0,0,0,1,
       1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};
    strUCt f
    {
     int x;
     int y;
     int direction;
    };
    struct play
    {
     int x;/*行坐标*/
     int y;/*列坐标*/
     int direction;/*方向*/
     struct f fire[5];/*5颗子弹*/
     int score;/*分数*/
    }Playone;
    struct a
    {
     int x;
     int y;
     int color;
     int direction;
     int directiontwo;/*用来判断走的路是否往返*/
     int fireplay;/*是否攻击的变量,随机生成*/
     struct f fire;
    }amy[5];/*敌人的结构体,其实可以添加不同的颜色来表示不同种类的坦克*/
    char key_state[128],key_pressed[128];
    void Init();/*图象驱动开始*/
    void End();/*图象驱动结束*/
    void DrawMap();/*画地图*/
    void DrawWater(int x,int y);/*画水*/
    void DrawBrick(int x,int y);/*画砖*/
    void DrawTone(int x,int y);/*画石头*/
    void DrawHome(int x,int y);/*画老家*/
    void DrawBlack(int x,int y);/*去除内容*/
    void DrawPlay(int x,int y);/*画玩家*/
    void DrawAmy(int x,int y,int i);/*画敌人*/
    void Score();/*输出分数*/
    void GamePlay();/*玩游戏过程*/
    void GameOver();/*游戏失败*/
    void TimeDelay(unsigned long microsec); /*延时函数 传入微秒数*/
    int GetKey(int ScanCode);/*这里开始都是按键函数*/
    void interrupt far (*OldInt9Handler)();
    void far interrupt NewInt9();
    void InstallKeyboard();
    void ShutDownKeyboard();
    void main(void)
    {
     Init();
     DrawMap();
     GamePlay();
     End();
    }
    void TimeDelay(unsigned long microsec) /*延时函数 传入微秒数*/
    {
     union REGS r;
     r.h.ah=0x86;
     r.x.cx=microsec>>16;
     r.x.dx=microsec;
     int86(0x15,&r,&r);
    }
    void Init()/*图象驱动开始*/
    {int gd=DETECT,gm;
     initgraph(&gd,&gm,"d:\\tc\\tc");
     cleardevice();
     InstallKeyboard();
    }
    void End()/*图象驱动结束*/
    {
     ShutDownKeyboard();
     closegraph();
    }
    void DrawTone(int x,int y)/*画石头*/
    {
    setfillstyle(SOLID_FILL,7);
    bar(100+x*20-9,50+y*20-9,100+x*20+9,50+y*20+9);
    }
    void DrawWater(int x,int y)/*画水*/
    {
     setfillstyle(SOLID_FILL,BLUE);
     bar(100+x*20-9,50+y*20-9,100+x*20+9,50+y*20+9);
    }
 

[1]  

【责编:landy】

--------------------next---------------------

阅读(338) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~