机器人大战游戏代码片段

#include "graphics.h"
    #include "bios.h"
    #include "conio.h"
    #include "stdlib.h"
    #include "dos.h"

    #define UP 0x4800
    #define DOWN 0x5000
    #define LEFT 0x4600
    #define RIGHT 0x4d00
    #define ESC 0x0016

    #define VGA256 0x13
    #define TEXT 0x03

    int x,y,l,sxzy=0,zx=0,xx=5,yy=167;
    int x1=5,y1=3,x3=0,y3=0,x4=0,y4=0;
    int youlife=50,mylife=30;
    int board[100][170];

    unsigned char far *video_buff=(char far *)0xA0000000L;

    void setvideomode(int mode)
    { union REGS inregs,outregs;
      inregs.h.ah=0;
      inregs.h.al=(unsigned char)mode;
      int86(0x10,&inregs,&outregs);
    }

    void v_line(int y0,int y1,int x,unsigned int color)
    { unsigned int address,n,temp;
      address=320*y0+x;
      for(n=0;n<=y1-y0;n++)
        {
          if(y0>y1)
            {
              temp=y1;
              y1=y0;
              y0=temp;
            }
          video_buff[address]=color;
          address+=320;
        }
    }

    void h_line(int x0,int x1,int y,unsigned int color)
    { unsigned int address,n,temp;
      address=320*y+x0;
      for(n=0;n<=x1-x0;n++)
        {
          if(x0>x1)
            {
              temp=x1;
              x1=x0;
              x0=temp;
            }
          video_buff[address]=color;
          address+=1;
        }
    }

void p_pixel(int x,int y,unsigned int color)
    { video_buff[y*320+x]=color;
    }

    void s_square(int x,int y,int side,int color)
    {
      h_line(x,x+side,y,color);
      h_line(x,x+side,y+side,color);
      v_line(y,y+side,x,color);
      v_line(y,y+side,x+side,color);
    }

    void r_rectangle(int x1,int y1,int x2,int y2,int color)
    {
      h_line(x1,x2,y1,color);
      h_line(x1,x2,y2,color);
      v_line(y1,y2,x1,color);
      v_line(y1,y2,x2,color);

    }

    void fillRectangle(int x1,int y1,int x2,int y2,int color)
    {
     int i;
     for(i=y1;i<=y2;i++)
     {
       h_line(x1,x2,i,color);
     }
    }

    void ground() /*画外框*/
    { r_rectangle(104,20,207,190,7);
    }

    void delzx() /*每次出拳后,删除拳头*/
    { delay(1000);
      s_square(x3,y3,5,0);
      s_square(x3,y3-6,5,0);
      x3=0;
      y3=0;
    }

    void me() /*画出自己*/
    { int cas=0;
      if(sxzy==18432) /*如果按上键,就往上移动*/
        { yy-=5;
          if(yy < y1+30)
            yy+=5;
          if(yy==12)
            yy=17;
        }
      if(sxzy==20480) /*如果按下键,就往下移动*/
        { yy+=5;
          if(yy==172)
            yy=167;
        }
      if(sxzy==19200) /*如果按左键,就往左移动*/
        { xx--;
          if(xx==-1)
            xx=0;
        }
      if(sxzy==19712) /*如果按右键,就往右移动*/
        { xx++;
          if(xx==13)
            xx=12;
        }
      sxzy=0;
      for(x=xx;x<5+xx;x++) /*给自己搭建骨架*/
         {
           if(x==xx) /*左手*/
             {
                y=167;
                board[x][yy]=1;
                if(zx==11386)
                  {
             board[x][yy-12]=3;
             board[x][yy-11]=3;
      if((yy-11 < y1+30) && (xx>=x1 && xx<=x1+4))
                      youlife--;
      cas=1;
                    zx=0;
                  }
                x++;
             }
           if(x==xx+4) /*右手*/
             {
                y=167;
                board[x][yy]=1;
                if(zx==11640)
                  {
      board[x][yy-12]=3;
      board[x][yy-11]=3;
                    if((yy-11 < y1+30) && (xx+4<=x1+4 && xx+4>=x1))
                      youlife--;
                    cas=2;
                    zx=0;
                  }

时间: 2024-12-04 03:17:43

机器人大战游戏代码片段的相关文章

jQuery选择器大全(48个代码片段+21幅图演示)-转http://www.cnblogs.com/keepfool/archive/2012/06/02/2532203.html

选择器是jQuery最基础的东西,本文中列举的选择器基本上囊括了所有的jQuery选择器,也许各位通过这篇文章能够加深对jQuery选择器的理解,它们本身用法就非常简单,我更希望的是它能够提升个人编写jQuery代码的效率.本文配合截图.代码和简单的概括对所有jQuery选择器进行了介绍,也列举出了一些需要注意和区分的地方.     本文已经同步至我的个人博客站点:积累吧|jQuery选择器大全(48个代码片段+21幅图演示) 一.基本选择器 1. id选择器(指定id元素) 将id="one&

使用em创建Media Queries模板代码片段

文章简介:使用em单位创建CSS3的Media Queries. 本站有关于CSS3的Media Queries的相关教程有不少,说直一点,就是使用Media Queries来制作Responsiv Desgin.现在国外流行的一种设计叫Responsive Design(国内称为响应式设计),其中这种布局关键之处就是不能少了Media Queries的配合,早在<CSS3 Media Queries模板>一文中就给大家介绍了常用的模板,但有很多评论和论坛中说使用px为单位写响应式布局,会造成

8个最佳代码片段在线测试工具

有时候,我们需要测试一些代码片段,而电脑中没有安装针对该语言的运行环境,没关系,你可以在线测试它们.  本文为你带来8款非常好用的代码片段在线工具,帮助你快速.方便地测试.编辑代码片段.  1.  ideone  ideone是一个在线代码编辑.调试工具,允许开发者在线编译.运行代码,支持超过40种编程语言.  2.  Codepad  Codepad是一个在线编译/解释器,还是一个简单的协作工具.在文本框中粘贴代码片段,Codepad将会运行它,并会生成一个短URL,你可以共享给其他人.  3

实用的Javascript网页特效实例代码片段

javascript|特效|网页|网页特效 放送:实用的JS代码片段--网页特效代码很多了,这里收集整理的是一些常规的比较实用的JS代码片断. 字号缩放 让文字大点,让更多的用户看的更清楚.(也可以把字体变为百分比来实现) <script type="text/javascript">  function doZoom(size)  {document.getElementById('zoom').style.fontSize=size+'px';}  </scrip

十个超级有用的PHP代码片段

  1. 发送短信 调用 TextMagic API. // Include the TextMagic PHP lib   require('textmagic-sms-api-php/TextMagicAPI.php');     // Set the username and password information   $username = 'myusername';   $password = 'mypassword';     // Create a new instance of

分享几个非常有用的PHP代码片段

1. 发送短信 调用 TextMagic++ API. // Include the TextMagic PHP lib require('textmagic-sms-api-php/TextMagicAPI.php'); // Set the username and password information $username = 'myusername'; $password = 'mypassword'; // Create a new instance of TM $router =

常用字符串处理代码片段

移除 HTML 标签 $text = strip_tags($input, "");  返回 $start 和 $end 之间的文本 function GetBetween($content,$start,$end){      $r = explode($start, $content);      if (isset($r[1])){          $r = explode($end, $r[1]);          return $r[0];      }      ret

10 个救命的 PHP 代码片段

  关键词高亮 function highlight($sString, $aWords) {      if (!is_array ($aWords)  emptyempty ($aWords)  !is_string ($sString)) {          return false;      }        $sWords = implode ('', $aWords);      return preg_replace ('@\b('.$sWords.')\b@si', '<st

Dreamweaver8创建自定义代码片段的方法

dreamweaver|dreamweaver8|创建 一个好的"偷懒"方法,就好比充满困难的路途中出现一盏明灯,简化了好多繁杂的工作,让你有更多精力做其他事情,做的更顺手. DW作为网页制作的辅助工具之一,已经被人们逐渐掌握并灵活使用,它本身集成了好多实用的东西,给我们的工作带来了很多便利,每当有朋友问我"如何开始学做网页,要看什么书,从哪里入手?"我都会推荐他看DW"帮助"中的"Dreamweaver 入门",这是最实用的