网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月27日漏签0天
c语言吧 关注:799,031贴子:4,359,516
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 5回复贴,共1页
<<返回c语言吧
>0< 加载中...

追击&吃豆游戏

  • 只看楼主
  • 收藏

  • 回复
  • 璐村惂鐢ㄦ埛_00Q8e9S馃惥
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include<graphics.h>
#include<stdlib.h>
#include<dos.h>
#include<bios.h>
#include<math.h>
#define Enter 7181
#define ESC 283
#define UP 18432
#define DOWN 20480
#define LEFT 19200
#define RIGHT 19712
void Initgra(void);
void Initpck(void);
void Initcxy(void);
void Dmap(void);
void Dpck(void);
void Cmov(void);
void Swmg(void);/*处理错误的玩家操作*/
void Hccm(void);/*协助处理玩家操作*/
void Scmv(void);/*处理玩家操作*/
void Epck(void);
void Caam(void);
void Cwls(void);
void Dcil(int,int,int);/*画圆*/
int x0,y0,x1,y1,check1,check2,key=0,num;
struct Pancake
{int x;int y;int color;}Pc[5];
main()
{Initgra();/*初始化图形驱动程序*/
Initpck();/*初始化饼*/
Initcxy();/*初始化圆的坐标*/
while(1)
{Dmap();/*画地图*/
Dpck();/*画饼*/
Cmov();/*玩家操作*/
Epck();/*吃饼*/
Caam();/*自动操作*/
Cwls();/*判断输赢*/
if(key==ESC)/*结束游戏*/
break;
if(key==Enter)/*继续游戏*/
{Initpck();
Initcxy();
key=0;}
delay(15000);
}
closegraph();
}
void Dcil(int x,int y, int color)
{setcolor(color);
setfillstyle(1,color);
circle(x,y,10);
floodfill(x,y,color);
}
void Dmap()/*地图为网格*/
{int i;
setcolor(4);
for(i=0;i<=7;i++)
{line(0,80*i,560,80*i);
line(80*i,0,80*i,560);
}
}
void Cmov()
{ if(bioskey(1))
{key=bioskey(0);
Swmg();
switch(key)
{case UP:Hccm();y0-=5;Scmv();break;
case DOWN:Hccm();y0+=5;Scmv();break;
case LEFT:Hccm();x0-=5;Scmv();break;
case RIGHT:Hccm();x0+=5;Scmv();break;
default:break;
}
}
}
void Swmg()
{if(x0%80==0&&y0%80!=0)
switch(key)
{case LEFT:
case RIGHT:key=0;break;
default:break;
}
else if(x0%80!=0&&y0%80==0)
switch(key)
{case UP:
case DOWN:key=0;break;
default:break;
}
}
void Scmv()/*玩家控制的圆*/
{if(x0%80==0&&y0%80!=0)/*位于纵线*/
{if(check2>y0)
{Dcil(x0,y0+5,0);Dcil(x0,y0,4);}
else
if(check2<y0)
{Dcil(x0,y0-5,0);Dcil(x0,y0,4);}
}
else
if(x0%80!=0&&y0%80==0)/*位于横线*/
{if(check1>x0)
{Dcil(x0+5,y0,0);Dcil(x0,y0,4);}
else
if(check1<x0)
{Dcil(x0-5,y0,0);Dcil(x0,y0,4);}
}
else
if(x0%80==0&&y0%80==0)/*位于交点*/
{if(check1==x0&&check2>y0)
{Dcil(x0,y0+5,0);Dcil(x0,y0,3);}
else
if(check1==x0&&check2<y0)
{Dcil(x0,y0-5,0);Dcil(x0,y0,3);}
else
if(check2==y0&&check1>x0)
{Dcil(x0+5,y0,0);Dcil(x0,y0,3);}
else
if(check2==y0&&check1<x0)
{Dcil(x0-5,y0,0);Dcil(x0,y0,3);}
}
}
void Caam()/*自动控制的圆,根据玩家控制的圆的位置,自行移动*/
{if(x1%80==0&&y1%80!=0)
{if(y0>y1)
{Dcil(x1,y1,0);y1+=2;Dcil(x1,y1,1);}
else
if(y0<y1)
{Dcil(x1,y1,0);y1-=2;Dcil(x1,y1,1);}
}
else
if(y1%80==0&&x1%80!=0)
{if(x0>x1)
{Dcil(x1,y1,0);x1+=2;Dcil(x1,y1,1);}
else
if(x0<x1)
{Dcil(x1,y1,0);x1-=2;Dcil(x1,y1,1);}
}
else
if(x1%80==0&&y1%80==0)
{if((x0-x1)>0&&abs(y0-y1)<=(x0-x1))
{Dcil(x1,y1,0);x1+=2;Dcil(x1,y1,2);}
else if((x0-x1)<0&&abs(y0-y1)<=(x1-x0))
{Dcil(x1,y1,0);x1-=2;Dcil(x1,y1,2);}
else if((y0-y1)>0&&abs(x0-x1)<(y0-y1))
{Dcil(x1,y1,0);y1+=2;Dcil(x1,y1,2);}
else if((y0-y1)<0&&abs(x0-x1)<(y1-y0))
{Dcil(x1,y1,0);y1-=2;Dcil(x1,y1,2);}
}
}
void Initgra()
{int gd=DETECT,gm;
initgraph(&gd,&gm,"d:\\tc");
}
void Hccm()
{check1=x0;
check2=y0;
}
void Initpck()/*初始化饼*/
{int i;
num=5;
randomize();
for(i=0;i<5;i++)
{Pc[i].x=(random(6)+1)*80;
Pc[i].y=(random(6)+1)*80;
Pc[i].color=random(14)+1;
}
}
void Dpck()/*画饼*/
{int i;
for(i=0;i<num;i++)
{setcolor(Pc[i].color);
setfillstyle(1,Pc[i].color);
circle(Pc[i].x,Pc[i].y,5);
floodfill(Pc[i].x,Pc[i].y,Pc[i].color);
}
}
void Epck()/*吃饼*/
{int i;
for(i=0;i<num;i++)
if(x0==Pc[i].x&&y0==Pc[i].y)
{for(i++;i<5;i++)
Pc[i-1]=Pc[i];
num--;
break;
}
}
void Cwls()
{if(!num)
{cleardevice();
setcolor(11);
settextstyle(0,0,4);
outtextxy(160,220,"YOU WIN");
key=bioskey(0);
cleardevice();
}
else
if(abs(x0-x1)<5&&abs(y0-y1)<5)
{cleardevice();
setcolor(11);
settextstyle(0,0,4);
outtextxy(160,220,"YOU LOSE");
key=bioskey(0);
cleardevice();
}
}
void Initcxy()
{randomize();
x0=random(555);
x0=x0-x0%5+5;
y0=random(400);
y0=y0-y0%80+80;
x1=random(480);
x1=x1-x1%80+80;
y1=random(478);
y1=y1-y1%2+2;
}



  • 222.89.32.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
应为“追击&吃饼游戏


2025-08-27 23:25:41
广告
不感兴趣
开通SVIP免广告
  • 221.214.228.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
运行不了


  • 221.214.228.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
运行不了


  • 璐村惂鐢ㄦ埛_00Q8e9S馃惥
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
Tc2.0上编译通过


  • 211.152.158.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
能运


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 5回复贴,共1页
<<返回c语言吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示