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

王朝other·作者佚名  2008-06-01
窄屏简体版  字體: |||超大  

*/

#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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航