用c语言编的小游戏 要详细代码 5

 我来答
yglkladt
2012-05-24
知道答主
回答量:21
采纳率:0%
帮助的人:5.9万
展开全部
yglkladt,你是想问用c语言编的小游戏 要详细代码?
这个你完全可以去baidu搜索 9020小游戏 你就懂了滴啦~哟呵呵,
oxenqksrj10
一般人我还真不会告诉滴~你懂的~
求采纳,采纳不会有孩子滴~~
qkjimv98
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
自由孤客
2012-05-23
知道答主
回答量:42
采纳率:0%
帮助的人:6.6万
展开全部
/*................................................................include files*/
#include<graphics.h>
#include<stdlib.h>
#include<time.h>
#include<bian.h>
#include<house.h>
#include<dbox.h>
#include<player.h>
#include<enemy.h>
#include<dou.h>

/*........................................................................defines*/
#define up 0x4800
#define down 0x5000
#define left 0x4b00
#define right 0x4d00
#define esc 0x011b

#define M 30
#define N 22
#define E 4

long score=0;

/*........................................................................................................map*/
int map[N][M]={
{1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1},
{1 ,0 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,1},
{1 ,2 ,1 ,1 ,1 ,2 ,1 ,1 ,1 ,1 ,2 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,2 ,1 ,1 ,1 ,1 ,2 ,1 ,1 ,1 ,2 ,1},
{1 ,2 ,1 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,1 ,2 ,1},
{1 ,2 ,1 ,2 ,1 ,1 ,1 ,2 ,2 ,2 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,2 ,2 ,2 ,1 ,1 ,1 ,2 ,1 ,2 ,1},
{1 ,2 ,1 ,2 ,2 ,2 ,2 ,2 ,1 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,1 ,2 ,2 ,2 ,2 ,2 ,1 ,2 ,1},
{1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1},
{1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1},
{1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,1 ,2 ,2 ,1 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1},
{1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,2 ,2 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1},
{1 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,1 ,2 ,1 ,2 ,2 ,2 ,3 ,3 ,2 ,2 ,2 ,1 ,2 ,1 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,1},
{1 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,1 ,2 ,1 ,2 ,2 ,2 ,3 ,3 ,2 ,2 ,2 ,1 ,2 ,1 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,1},
{1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,2 ,2 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1},
{1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,1 ,2 ,2 ,1 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1},
{1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1},
{1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1 ,2 ,1},
{1 ,2 ,1 ,2 ,2 ,2 ,2 ,2 ,1 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,1 ,2 ,2 ,2 ,2 ,2 ,1 ,2 ,1},
{1 ,2 ,1 ,2 ,1 ,1 ,1 ,2 ,2 ,2 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,2 ,2 ,2 ,1 ,1 ,1 ,2 ,1 ,2 ,1},
{1 ,2 ,1 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,1 ,2 ,1},
{1 ,2 ,1 ,1 ,1 ,2 ,1 ,1 ,1 ,1 ,2 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,2 ,1 ,1 ,1 ,1 ,2 ,1 ,1 ,1 ,2 ,1},
{1 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,1},
{1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1}
};

/*................................................................................................main start*/
int main(void)
{

/*................................................................................................define vary*/
int gd=VGA,gm=VGAHI;
int mx,my,mn=0;/*map x,y*/
int px,py,pn,pl,ex[E],ey[E],ei;
int key,flag=1;

/*.................................................................................................init and prepares*/
px=1,py=1,pn=1,pl=1;
for(ei=0;ei<E;ei++)
{
ex[ei]=15,ey[ei]=13;
}

initgraph(&gd,&gm,'');
randomize();

bian(6);
/*------------------------------------------------------------------------------------------------------draw map*/
for(my=0;my<N;my++)
for(mx=0;mx<M;mx++)
{if(map[my][mx]==1) dbox(19+20*mx,25+20*my);
else {if((map[my][mx]==3)&&(map[my+1][mx]==3)&&(map[my][mx+1]==3)&&(map[my+1][mx+1]==3)&&(map[my][mx-1]!=3)) house(19+20*mx,25+20*my);
else if(map[my][mx]==2) dou(19+20*mx,25+20*my);}
}
/*........................................................................................................game start*/
while(flag)
{
while(!kbhit()&&pl)/*game sourse*/
{
gotoxy(3,1);
printf("score: %d",score);
setcolor(0);
setfillstyle(1,0);
bar(19+20*px,25+20*py,19+20*px+19,25+20*py+19);

switch(pn)
{
case 1:
{if(map[py-1][px]!=1&&map[py-1][px]!=3) {py-=1;if(map[py][px]==2) {map[py][px]=0;score+=10;}break;}
else break;}
case 2:
{if(map[py][px-1]!=1&&map[py][px-1]!=3) {px-=1;if(map[py][px]==2) {map[py][px]=0;score+=10;}break;}
else break;}
case 3:
{if(map[py+1][px]!=1&&map[py+1][px]!=3) {py+=1;if(map[py][px]==2) {map[py][px]=0;score+=10;}break;}
else break;}
case 4:
{if(map[py][px+1]!=1&&map[py][px+1]!=3) {px+=1;if(map[py][px]==2) {map[py][px]=0;score+=10;}break;}
else break;}
} /*control player*/

for(ei=0;ei<E;ei++)

{
switch (random(23))
{
case 0: if(map[ey[ei]-1][ex[ei]]!=1&&map[ey[ei]-1][ex[ei]]!=3)
{setcolor(0);setfillstyle(1,0);bar(19+20*ex[ei],25+20*ey[ei],19+20*ex[ei]+19,25+20*ey[ei]+19);if(map[ey[ei]][ex[ei]]==2) dou(19+20*ex[ei],25+20*ey[ei]);else;ey[ei]--; break;}
case 1: if(map[ey[ei]][ex[ei]-1]!=1&&map[ey[ei]][ex[ei]-1]!=3)
{setcolor(0);setfillstyle(1,0);bar(19+20*ex[ei],25+20*ey[ei],19+20*ex[ei]+19,25+20*ey[ei]+19);if(map[ey[ei]][ex[ei]]==2) dou(19+20*ex[ei],25+20*ey[ei]);else;ex[ei]--; break;}
case 2: if(map[ey[ei]+1][ex[ei]]!=1&&map[ey[ei]+1][ex[ei]]!=3)
{setcolor(0);setfillstyle(1,0);bar(19+20*ex[ei],25+20*ey[ei],19+20*ex[ei]+19,25+20*ey[ei]+19);if(map[ey[ei]][ex[ei]]==2) dou(19+20*ex[ei],25+20*ey[ei]);else;ey[ei]++; break;}
case 3: if(map[ey[ei]][ex[ei]+1]!=1&&map[ey[ei]][ex[ei]+1]!=3)
{setcolor(0);setfillstyle(1,0);bar(19+20*ex[ei],25+20*ey[ei],19+20*ex[ei]+19,25+20*ey[ei]+19);if(map[ey[ei]][ex[ei]]==2) dou(19+20*ex[ei],25+20*ey[ei]);else;ex[ei]++; break;}
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
case 12:
case 13:
case 14:
case 15:
case 16:
case 17:
case 18:
case 19:
case 20:
case 21: if(!random(2))
{if((ex[ei]<px)&&map[ey[ei]][ex[ei]+1]!=1&&map[ey[ei]][ex[ei]+1]!=3)
{setcolor(0);setfillstyle(1,0);bar(19+ex[ei]*20,25+ey[ei]*20,19+ex[ei]*20+19,25+ey[ei]*20+19);if(map[ey[ei]][ex[ei]]==2) dou(19+ex[ei]*20,25+ey[ei]*20);else;ex[ei]++;} else;
if((ex[ei]>px)&&map[ey[ei]][ex[ei]-1]!=1&&map[ey[ei]][ex[ei]-1]!=3)
{setcolor(0);setfillstyle(1,0);bar(19+ex[ei]*20,25+ey[ei]*20,19+ex[ei]*20+19,25+ey[ei]*20+19);if(map[ey[ei]][ex[ei]]==2) dou(19+ex[ei]*20,25+ey[ei]*20);else;ex[ei]--;} else;
if((ey[ei]<py)&&map[ey[ei]+1][ex[ei]]!=1&&map[ey[ei+1]][ex[ei]]!=3)
{setcolor(0);setfillstyle(1,0);bar(19+ex[ei]*20,25+ey[ei]*20,19+ex[ei]*20+19,25+ey[ei]*20+19);if(map[ey[ei]][ex[ei]]==2) dou(19+ex[ei]*20,25+ey[ei]*20);else;ey[ei]++;} else;
if((ey[ei]>py)&&map[ey[ei]-1][ex[ei]]!=1&&map[ey[ei]-1][ex[ei]]!=3)
{setcolor(0);setfillstyle(1,0);bar(19+ex[ei]*20,25+ey[ei]*20,19+ex[ei]*20+19,25+ey[ei]*20+19);if(map[ey[ei]][ex[ei]]==2) dou(19+ex[ei]*20,25+ey[ei]*20);else;ey[ei]--;} else;
}

break;

default : break;}
}/*contrlo enemy*/

/*------------------------------------touch test*/
for(ei=0;ei<E;ei++)
if(ex[ei]==px&&ey[ei]==py) {flag=0;pl=0;break;}else;

/*--------------------------------draw man*/

for(ei=0;ei<E;ei++)
enemy(19+ex[ei]*20,25+ey[ei]*20);

player(px,py,0);
delay(20000);
player(px,py,pn);
delay(30000);

}/*end of while(!kbhit())*/

key=bioskey(0);

if(key==esc)/*esc to exit*/
flag=0;
else
if(key==up)
pn=1;
else
if(key==right)
pn=4;
else
if(key==left)
pn=2;
else
if(key==down)
pn=3;else;

}/*end of while(flag)*/

for(my=0;my<N;my++)
for(mx=0;mx<M;mx++)
{if(map[my][mx]==2) mn++;else;}

cleardevice();
closegraph();
if(!pl)
{gotoxy(22,8);
printf("you lost");}
if(!mn)
{gotoxy(22,8);
printf("congratulations");}
gotoxy(22,10);
printf("your score is : %d",score);

getch();
}

吃豆的
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式