龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

几个游戏代码(机器人大战)

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
*/ #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

  */

  #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;

   }

   &nb

  

  

精彩图集

赞助商链接