ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:17.33KB ,
资源ID:4322481      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4322481.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言程序设计连连看.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言程序设计连连看.docx

1、C语言程序设计连连看#include #include #include #include #include using namespace std; #include int mai() /倒计时 for (int i=3; i=0; i-) long t = time(NULL); for(;) long n = time(NULL); if(n != t) break; system(cls); cout endl; cout endl; cout 离史上最卡哇依的游戏开始还有* i *秒哦!endl; return 0; void init1(); void print1(); int

2、 exit1();void init2();void print2();int exit2();void init3();void print3();int exit3();void near1(int a,int b,int a1,int b1); char chessman1010; void main() /主函数 time_t start,end,time; start=clock(); mai(); int d; cout endl; cout endl; cout endl; cout *endl; cout *endl; cout *亲,请选择适合您智商的级别:1低级 2中级 3

3、登峰造极 *endl; cout *endl; cout *endl; cout endl; cout endl; cout 研发小组:Q Y Qendl; coutd; cout -* endl; system(pause); switch(d) case 1:init1();break; case 2:init2();break; case 3:init3();break; default :cout你个逗比; int op; int row,line; int row2,line2; do if(d=1) print1(); else if(d=2) print2(); else if(

4、d=3) print3(); printf(options:n); printf(t1.selectn); printf(t2.restartn); printf(t3.sortn); scanf(%d,&op); if(op=1) printf(不造亲第一个相中了谁呢:); scanf(%d %d,&line,&row); printf(再给他找个伴儿吧,亲:); scanf(%d %d,&line2,&row2); if(chessmanlinerow!=chessmanline2row2) printf(有缘无分呐!n); system(pause); else if(line=line

5、2&row=row2) printf(有搞错哦,亲!n); system(pause); else if(line=line2) near1(line,row,line2,row2); else near1(line2,row2,line,row); if(op=2) if(op=3) main(); while(exit1(),exit2(),exit3(); system(pause); printf(nnntt哇呀!你好厉害!n); end=clock(); time=end-start; /这里的时间是计算机内部时间 cout endl time: time endl; system(

6、pause); cout本次得分:98分! 继续保持哦!endl; system(pause);void init1() /4乘4矩阵 int i,j; int a4=0; srand(time(NULL); for(i=1;i4;i+) for(j=1;j5;j+) chessmanij=rand()%4+65; if(chessmanij=65) a0+; if(chessmanij=66) a1+; if(chessmanij=67) a2+; if(chessmanij=68) a3+; for(i=0;i4;i+) if(ai%2!=0) chessman4i+1=i+65; els

7、e chessman4i+1=69; void print1() int i,j; system(cls); printf(t 1 2 3 4n); for(i=0;i5;i+) printf(tnt); for(j=0;j5;j+) printf(%4c,chessmanij); if(j=4&i!=0&i!=5) printf(t%d,i); printf(nnnn); int exit1() int i,j; for(i=0;i6;i+) for(j=0;j6;j+) if(chessmanij!=0) return 1; return 0; void init2() /6乘6矩阵 in

8、t i,j; int a6=0; srand(time(NULL); for(i=1;i6;i+) for(j=1;j7;j+) chessmanij=rand()%6+65; if(chessmanij=65) a0+; if(chessmanij=66) a1+; if(chessmanij=67) a2+; if(chessmanij=68) a3+; if(chessmanij=69) a4+; if(chessmanij=70) a5+; for(i=0;i6;i+) if(ai%2!=0) chessman6i+1=i+65; else chessman6i+1=71; void

9、print2() int i,j; system(cls); printf(t 1 2 3 4 5 6n); for(i=0;i8;i+) printf(tnt); for(j=0;j8;j+) printf(%4c,chessmanij); if(j=6&i!=0&i!=7) printf(t%d,i); printf(nnnn); int exit2() int i,j; for(i=0;i8;i+) for(j=0;j8;j+) if(chessmanij!=0) return 1; return 0; void init3() /8乘8矩阵 int i,j; int a8=0; sra

10、nd(time(NULL); for(i=1;i8;i+) for(j=1;j9;j+) chessmanij=rand()%8+65; /棋盘内容为A到H if(chessmanij=65) a0+; /记录A的个数 if(chessmanij=66) a1+; if(chessmanij=67) a2+; if(chessmanij=68) a3+; if(chessmanij=69) a4+; if(chessmanij=70) a5+; if(chessmanij=71) a6+; if(chessmanij=72) a7+; for(i=0;i8;i+) if(ai%2!=0) ch

11、essman8i+1=i+65; else chessman8i+1=73; void print3() int i,j; system(cls); printf(t 1 2 3 4 5 6 7 8 n); for(i=0;i10;i+) printf(tnt); for(j=0;j10;j+) printf(%4c,chessmanij); if(j=9&i!=0&i!=9) printf(t%d,i); printf(nnnn); int exit3() int i,j; for(i=0;i10;i+) for(j=0;j10;j+) if(chessmanij!=0) return 1;

12、 return 0; void near1(int a,int b,int a1,int b1) /三种路径 int arow2; int aline2; int brow2; int bline2; int start=0,end=0; /临时两个点 int i,j,n; /用于循环 for(i=0;i2;i+) /初始化数组 arowi=a; browi=a1; alinei=b; blinei=b1; /(a, b)a列中有哪些列 for(i=a+1;i=0;i-) if(chessmanib=0) / arow【0】 A点a行向上向量 arow0=i; else break; /(a1

13、,b1)a行中有哪些列 for(i=a1+1;i=0;i-) if(chessmanib1=0) / brow1B点a1行向上向量 brow0=i; else break; /(a,b)b行有哪些列 for(i=b+1;i=0;i-) if(chessmanai=0) /aline0A点b列向左向量 aline0=i; else break; /(a1,b1)中b1列中有哪些行 for(i=b1+1;i=0;i-) if(chessmana1i=0) /bline1B点b1列向右向量 bline0=i; else break; /关键算法/*情况一(a,b) (a1,b1)*情况二 (a.b)

14、 (a1,b1)* /考虑上下向量 if(brow0=arow0) /向上方向向量 有共同的列向量 start=brow0; /取大的 else start=arow0; if(brow1=arow1) /向下的方向向量 有共同的列向量 end=brow1; 取小的 else end=arow1; for(;start=end;start+) /列向量上共同sart到end / b1要大于b,否则就交换 如果不交换将使下面的循环出错、/ if(bb1) j=b; /小的赋值到j i=b1; /大的赋值到i else j=b1; i=b; /这里节约一个变量 for(n=0;j0) /因为b和b

15、1大小不能确定,所以有两个if chessmanab=chessmana1b1=0; if(n=b1-b)&(n0) chessmanab=chessmana1b1=0; /考虑左右向量/ if(aline0=bline0) /向左的向量有共同的列向量 start=aline0; /取大的 else start=bline0; if(aline1bline1) end=aline1; else end=bline1; for(i=start;i=end;i+) for(j=a,n=0;j0) chessmanab=chessmana1b1=0; break; /* 同行 或者 同列 (a,b) 或者(a,b) (a1,b1) (a1,b1)* if(a=a1) /同行 if(aline1=b1)|(aline0=a1) chessmanab=chessmana1b1=0;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1