教程中国
PHOTOSHOP CS9.0中文版 MAYA 8.5 FOR WINDOWS Corel Painter v9.0 Flash MX2004 中文版 Illustrator cs2 中文版
VC++6.0含sp6 中英文版 VB6.0 +sp6 简体中文版 Borland Delphi 7汉化版 MSDN for vb6.0中文版 Visual Studio 2005简体
教程中国下属 文件存储共享专家BIBIDU.COM 提供大型软件,教材,源码,电影,音乐,图书等下载 更多精品请点此进入
  您目前所在位置: 教程中国 >> C >> 游戏编程 >> 几个游戏代码(机器人大战) RSS订阅
几个游戏代码(机器人大战)
几个游戏代码(机器人大战)(1)
教程(视频,书籍)下载:  ASP.NET AutoCAD 数据库 C# ASP java photoshop 网页设计 delphi 3dmax Flash C++ VB 张孝祥 实例   更多请进入BIBIDU搜索
IT搜索引擎   
*/
#include "graphics.h"
#include "bios.h"
#include "conio.h"
#include "slib.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,ouegs;
inregs.h.ah=0;
inregs.h.al=(unsigned char)mode;
int86(0x10,&inregs,&ouegs);
}

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;
}
break;
}
for(y=yy;y<yy 3;y ) /*身体*/
{
board[x][y]=1;

}
}
for(x=0;x<100;x ) /*开始往骨架上放‘肉’*/
{l=1;
for(y=0;y<170;y )
if(board[x][y]==1 || board[x][y]==3)
{if(cas==1)
{ board[x][yy-10]=1;
board[x][yy]=0;
cas=0;
}
if(cas==2)
{ board[x 4][yy-10]=1;
board[x 4][yy]=0;
cas=0;
}
if(board[x][y]==3)
{
x3=x 105 x*5;
y3=y l*5;

}
s_square(x 105 x*5,y l*5,5,3);
l ;
}
}
delzx();
}


void zyou() /*搭建设对方骨架*/
{ int ran,cas=0,p=0;
delay(10000);
for(x=99;x>=0;x--)
{
l=1;
for(y=169;y>=0;y--)
if(board[x][y]==2 || board[x][y]==4)
{
s_square(x 105 x*5,35 y-l*5,5,0);
l ;
board[x][y]=0;
}
}

ran=random(5);
if(ran==0) /*往上走*/
{ y1-=5;

if(y1==-2)
y1=3;
}
if(ran==1)
{ y1 =5;
if(y1 30 > yy) /*不允许超过我的机器人的身后*/
y1-=5;
if(y1==158) /*往下走,如果超过外框,就减去一步,实际上是永远也不会超过*/
y1=153;
}
if(ran==2) /*往左走*/
{ x1--;
if(x1==-1)
x1=0;
}
if(ran==3) /*往右走*/
{ x1 ;
if(x1==13)
x1=12;
}
if(ran==4)
{ y1 =5;
if(y1 30 > yy) /*不允许超过我的机器人的身后*/
y1-=5;
if(y1==158) /*往下走,如果超过外框,就减去一步,实际上是永远也不会超过*/
y1=153;
}
for(x=x1;x<x1 5;x ) /*对方拳头*/
{
if(x==x1)
{ if((y1 45 >= yy) && x>=xx) /*判断敌人是否靠近,如果是就出拳头*/
{ p=random(2);
if(p==1)
{
board[x][y1 15]=4;
board[x][y1 16]=4;
board[x][y1 17]=4;
if((yy-11 < y1 30) && (xx 4<=x1 4 && xx 4>=x1))
mylife--;
cas=1;
}
p=0;
}
if(cas==1)
{ board[x][y1 14]=2;
cas=0;
}
else
board[x][y1]=2;
x ;
}

来源:十度教育
作者:
关键字:游戏代码,机器人
发表日期:2006-6-24 2:35:39

网页显示有限 阅读全文请下载本文完整版WORD文档

上一篇:几个游戏代码(彩票)   下一篇:潜艇大战


共2页 9 7 [1] [28 :>

2008-11-23 21:12:54
本文的相类似文章
  • 自动上网的机器人
  • 今年大学生机械设计竞赛题目:用机器人解救人质
  • 2005中国机器人大赛在常州举行
  • 机器人为何在中小学不断闪现? ——对中小学机器人教育的观察与思考
  • 杭州电子科技大学组队参加全国机器人足球比赛
  • 长沙四初中生研制成中国首台博弈机器人
  • 长沙四名中学生研制成世界首个博弈机器人"猜想"
  • 机器人完成搜救任务 初二学生获世界杯亚军
  • 3D特效机器人液体金属特技设计
  • 印度机器人不怕辐射危险能修核电站
  • 在学习中进步 在进步中成长 教程中国相随您的成长之路
    华腾联合科技股份有限公司版权所有
    广告联系:Rosibo@163.com