中易网

求c语言的挖地雷游戏代码

答案:6  悬赏:10  
解决时间 2021-02-04 13:23
: 要有充分的注释

4:要用socket实现2人的网络对战

3:简单的在dos环境下运行的就行

2:注意是c 语言的

没素质;graphics.h>.

还有就是不知道的可以不回答

再说明一点;的都不可以啊.h>,
所以头文件带有代码要在visual c++ 6,效果用不着那么好看

只是想通过这个学习一下socket编程和挖地雷游戏的一些算法

不要像1楼的那位在那说风凉话.0版本上能实行的
最佳答案
我最近正在研究socket编程方面的问题

如果你不着急的话,我可以帮你编

可以的话就给我回个信息
全部回答
...你拿C语言作挖雷...如果C语言有大脑他就骂你了
#include #include #include #include #include #define LEFT 1 #define RIGHT 2 struct bomb {int x; int y; int bomb; int mark; int lclick; }bomb[18][18]; void instruction(int *bnum); void desk(int bnum); void getmouse(void); void ReadMouse(int *click,int *x,int *y); void play(void); void bombfind(void); void search(int getx,int gety,int click,int *found); void leftclick(int x,int y); void ShowMouse(void); void ErrMsg(void); int InitMouse(void); void str(int num,int *str); main() {int gdiver=VGA,gmode=VGAHI; initgraph(&gdiver,&gmode,""); paly(); } void Play(void) {int getx,gety,click,x,y,found=0,bnum=0,restart=0,stop=0,dt; char st1[4]; time_t bt=time(NULL); instruction(&bnum); desk(bnum); while((!restart)&&(!stop)&&(found!=bnum)) {dt=(int)difftime(time(NULL),bt); str(dt,st1); outtextxy(0,60,st1); ReadMouse(&click,&getx,&gety); if((getx>=543)&&(getx<=623)&&(gety>=207)&&(gety<=255)) play(); if((getx>=543)&&(getx<=623)&&(gety>=351)&&(gety<=399)) {closegraph(); exit(1); } if((getx>=95)&&(getx<=527)&&(gety>=16)&&(gety<=447)) search(getx,gety,click,&found); } if(found==bnum) {outtextxy(16,304,"YOU WIN!"); delay(10000); play(); } } void instruction(int *bnum) {int getx,gety,click; getmouse(); setbkcolor(12); setcolor(0); outtextxy(240,64,"This is a game of "); outtextxy(240,112,"Searching bomb 1.1"); outtextxy(240,160,"Expored by XuBin"); outtextxy(240,208,"2004.6"); outtextxy(240,256,"Please choose th number of bombs:"); outtextxy(240,304,"30"); outtextxy(240,352,"60"); outtextxy(240,400,"160"); setfillstyle(1,11); bar(336,304,432,336); bar(336,352,432,385); bar(336,400,432,432); while(!(*bnum)) {ReadeMouse(&click,&getx,&gety); delay(300); if(getx>=336&&getx<=432&&gety>=304&&gety<=336&&(click!=0)) *bnum=30; if(getx>=336&&getx<=432&&gety>=352&&gety<=385&&(click!=0)) *bnum=60; if(getx>=336&&getx<=432&&gety>=400&&gety<=432&&(click!=0)) *bnum=160; } cleardevice(); } void desk(int bnum) {int x,y,xx=71,yy=-8,g; char st2[4]; setbkcolor(2); setcolor(14); setfillstyle(11,1); setlinestyle(0,0,1); for(y=0;y<18;y++) {yy+=24; if(y!=17) line(79,yy+24,543,yy+24); for(x=0;x<18;x++) {bomb[x][y].x=(xx+=24); bomb[x][y].y=yy; bomb[x][y].bomb=0; bomb[x][y].mark=0; bomb[x][y].lclick=0; if((y==17)&&(x!=17)) line(xx+24,3,xx+24,463); bar(bomb[x][y].x+1,bomb[x][y].y+1,bomb[x][y].x+23,bomb[x][y].y+23); } } retangle(95,16,527,447); setlinestyle(0,0,3) retangle(79,3,543,463); randomize(); for(g=0;ga)&&(gety<(a+24))) break; } for(a=71;a<527;a+=24) {x+=1; if((getx>a)&&(getx<(a+24))) break; } if(click==RIGHT&&bomb[x][y].lclick==0) {if(bomb[x][y].mark==1) {bomb[x][y].mark=0; if(bomb[x][y].bomb==0) (*found)+=1; else (*found)-=1; setfillstyle(11,1); bar(bomb[x][y].x+1,bomb[x][y].y+1,bomb[x][y].x+23,bomb[x][y].y+23); } else {bomb[x][y].mark=1; if(bomb[x][y].bomb==0) (*found)-=1; esle (*found)+=1; setfillstyle(1,RED); bar(bomb[x][y].x+1,bomb[x][y].y+1,bomb[x][y].x+9,bomb[x][y].y+9); } } if(click==LEFT&&bomb[x][y].click==0&&bomb[x][y].mark==0) {if(bomb[x][y].bomb==1) {outtextxy(16,304,"FALL"); bombfind(); } leftclick(x,y); } } void leftclick(int x,int y) {int count=0,a,b,c,d; char st3[4]; if(x>=18&&y>=18&&x<0&&y<0&&bomb[x][y].click==1) return; bomb[x][y].lclick=1; a=0>(x-1)? 0:(x-1); b=17>(x+1)? (x+1):17; c=0>(y-1)? 0:(y-1); d=17>(y+1)? (y+1):17; for(;a<=b;a++) for(;c<=d;c++) if(bomb[x][y].bomb==1) count++; if(count!=1) {str(count,st3); outtextxy(bomb[x][y].x,bomb[x][y].y,st3); } leftclick(x+1,y); leftclick(x-1,y); leftclick(x,y+1); leftclick(x,y-1); } void str(int num,int *st) {int x,y,z; x=num%100; y=(num-100*x)%10; z=num-100*x-10*y; st[0]=x+48; st[1]=y+48; st[2]=z+48; st[3]='\0'; }
我告诉你,vc编出来的扫雷肯定不好看的~你怎么想?真的要人编吗?编个10*10的可以不?而且没有联机对战功能?
VC可以编得很好看的,只是麻烦一点 DOS下面的界面都可以做得很漂亮的,不要说Windows了 好像以前的《英雄无敌》,《魔兽争霸2》都是DOS下面的游戏

要什么语言的版本?我认为难点就是随机地图的产生,其他都是细节问题。

我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
喜德盛高密店在什么地方啊,我要过去处理事情
xbox360我的世界怎么联机玩
求个好玩的PVP向的网游
求QQ情侣名~对方的是 巴黎的雨打湿东京的街▌
我想退股,大股东不接,我怎么办
再看无限极怎么骗人
新买了双匡威的皮质开口笑,穿了一天后脚跟磨
2014年床在西北方是不是不好
欧洲有哪些国家
2002大专辩论赛 情感比理智更可贵 第一赛区第
求高手看篆体是什么字
晚上涂了锁水得睡眠面膜,早晨起来脸为什么紧
学电气自动化技术出来工作是装电线的吗
拳击练习时打沙袋打久了感觉大脑有轻微震荡这
怎样练出肌肉,回答好的200分!
推荐资讯
梦见朋友从树上掉下来,给说的详细点的意思
机架里混音设置好,在YY唱歌,自己耳麦听到的
我天生秀顶,怎么多长头发,头发还很稀
大家千万别上当,这个人是骗子。我已经被骗了
735÷5-17用脱式计算怎么脱
剑网三中,为什么别人要请我同乘,我并没有显
叠石岩(出入口)我想知道这个在什么地方
伊利丹在魔兽争霸中说的话
我结婚十四年近三年房屋拆迁户主是公公的我和
列一下全国重点大学的名称
我做事太慢,越急越做不好,还会把事情做糟。
我是学播音主持的,想知道以后报什么专业较吃
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?