




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计连连看Preparedon24November2020YOIR.#include<>#include<>#include<>#include<>#include<iostream>usingnamespacestd;#include<ctime>intmai()//倒计时{for(inti=3;i>=0;i--){longt=time(NULL);for(;;){longn=time(NULL);if(n!=t)break;}system("cls");cout<<""<<endl;cout<<""<<endl;cout<<"离史上最卡哇依的游戏开始还有**"<<i<<"**秒哦!!!"<<endl;}return0;}voidinit1();voidprint1();intexit1();voidinit2();voidprint2();intexit2();voidinit3();voidprint3();intexit3();voidnear1(inta,intb,inta1,intb1);charchessman[10][10];Voidmain()//主函数{time_tstart,end,time;start=clock();mai();intd;cout<<""<<endl;cout<<""<<endl;cout<<""<<endl;<<endl;cout<<<<endl;cout<<"**亲,请选择适合您智商的级别:[1]低级[2]中级[3]登峰造极**"<<endl;<<endl;cout<<<<endl;cout<<""<<endl;cout<<""<<endl;cout<<”研发小组:QYQ”<<endl;cout<<”请选择:***-";cin>>d;cout<<"-***"<<endl;system("pause");switch(d){case1:init1();break;case2:init2();break;case3:init3();break;default:cout<<"你个逗比";}intop;introw,line;introw2,line2;do{if(d==1)print1();elseif(d==2)print2();elseif(d==3)print3();printf("options:\n");printf("\\n");printf("\\n");printf("\\n");scanf("%d",&op);if(op==1){Printf("不造亲第一个相中了谁呢:");scanf("%d%d",&line,&row);Printf("再给他找个伴儿吧,亲:”);scanf("%d%d",&line2,&row2);if(chessman[line][row]!=chessman[line2][row2]){PrintfC'有缘无分呐!∖n");system("pause");}elseif(line==line2&&row==row2){Printf("有搞错哦,亲!!!∖n");system("Pause");}elseif(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("\n\n\n\t\t哇呀!你好厉害!\n");end=clock();time=end-start;〃这里的时间是计算机内部时间cout<<endl<<"time:"<<time<<endl;system("Pause");cout<<"本次得分:98分!继续保持哦!"<<endl;system("Pause");}Voidinit1()//4乘4矩阵{inti,j;inta[4]={0};srand(time(NULL));for(i=1;i<4;i++)for(j=1;j<5;j++){chessman[i][j]=rand()%4+65;if(chessman[i][j]==65)a[0]++;if(chessman[i][j]==66)a[1]++;
if(chessman[i][j]==67)a[2]++;
if(chessman[i][j]==68)a[3]++;
}for(i=0;i<4;i++){if(a[i]%2!=0)chessman[4][i+1]=i+65;elsechessman[4][i+1]=69;}}voidprint1(){inti,j;system("cls");printf("\t1234\n");for(i=0;i<5;i++){printf("\t\n\t");for(j=0;j<5;j++){printf("%4c",chessman[i][j]);if(j==4&&i!=0&&i!=5)}}printf("\n\n\n\n");}intexit1(){inti,j;for(i=0;i<6;i++){for(j=0;j<6;j++)if(chessman[i][j]!=0)return1;}return0;}Voidinit2()//6乘6矩阵{inti,j;inta[6]={0};printf("\t%d",i);srand(time(NULL));for(i=1;i<6;i++)for(j=1;j<7;j++){chessman[i][j]=rand()%6+65;if(chessman[i][j]==65)a[0]++;if(chessman[i][j]==66)a[1]++;if(chessman[i][j]==67)a[2]++;if(chessman[i][j]==68)a[3]++;if(chessman[i][j]==69)a[4]++;if(chessman[i][j]==70)a[5]++;}for(i=0;i<6;i++){if(a[i]%2!=0)chessman[6][i+1]=i+65;elsechessman[6][i+1]=71;}}voidprint2(){inti,j;system("cls");printf("\t123456\n");for(i=0;i<8;i++){printf("\t\n\t");for(j=0;j<8;j++){printf("%4c",chessman[i][j]);if(j==6&&i!=0&&i!=7)printf("\t%d",i);}}printf("\n\n\n\n");}intexit2(){inti,j;for(i=0;i<8;i++){for(j=0;j<8;j++)if(chessman[i][j]!=0)return1;}return0;}Voidinit3()//8乘8矩阵{inti,j;inta[8]={0};srand(time(NULL));for(i=1;i<8;i++)for(j=1;j<9;j++){CheSSman[i][j]=rand()%8+65;〃棋盘内容为A到Hif(chessman[i][j]==65)a[0]++;〃记录A的个数if(CheSSman[i][j]==66)a[1]++;if(CheSSman[i][j]==67)a[2]++;if(CheSSman[i][j]==68)a[3]++;if(CheSSman[i][j]==69)a[4]++;if(CheSSman[i][j]==70)a[5]++;if(CheSSman[i][j]==71)a[6]++;if(CheSSman[i][j]==72)a[7]++;}for(i=0;i<8;i++){if(a[i]%2!=0)CheSSman[8][i+1]=i+65;elSeCheSSman[8][i+1]=73;}}Voidprint3(){inti,j;SyStem("ClS");printf("\t\n");for(i=0;i<10;i++){printf("\t\n\t");for(j=0;j<10;j++){printf("%4C",CheSSman[i][j]);if(j==9&&i!=0&&i!=9)printf("\t%d",i);}}printf("\n\n\n\n");}intexit3(){inti,j;for(i=0;i<10;i++){for(j=0;j<10;j++)if(chessman[i][j]!=0)return1;}return0;}Voidnear1(inta,intb,inta1,intb1)∕∕m种路径{intarow[2];intaline[2];intbrow[2];intbline[2];intstart=0,end=0;//临时两个点inti,j,n;〃用于循环for(i=0;i<2;i++)//初始化数组{arow[i]=a;brow[i]=a1;aline[i]=b;bline[i]=b1;}/////////////////////////////////////////(a,b)a列中有哪些列for(i=a+1;i<10;i++){if(chessman[i][b]==0)arow[1]=i;//arow【1】A点a行向下向量elsebreak;}for(i=a-1;i>=0;i--){if(chessman[i][b]==0)//arow【0】A点a行向上向量arow[0]=i;elsebreak;}////////////////////////////////////////////(a1,b1)a行中有哪些列for(i=a1+1;i<10;i++){if(chessman[i][b1]==0)∕∕brow[1]B点al行向下向量brow[1]=i;elsebreak;}for(i=a1-1;i>=0;i--){if(chessman[i][b1]==0)∕∕brow[1]B点al行向上向量brow[0]=i;elsebreak;}〃〃//////////////////////////////////(a,b)b行有哪些列for(i=b+1;i<10;i++){if(chessman[a][i]==0)∕∕aline[1]A点b列向右向量aline[1]=i;elsebreak;}for(i=b-1;i>=0;i--){if(chessman[a][i]==0)∕∕aline[0]A点b列向左向量aline[0]=i;elsebreak;}////////////////〃〃/////////(a1,b1)中bl列中有哪些行for(i=b1+1;i<10;i++){if(chessman[a1][i]==0)∕∕bline[1]B点bl列向左向量bline[1]=i;elsebreak;}for(i=b1-1;i>=0;i--){if(chessman[a1][i]==0)∕∕bline[1]B点bl列向右向量bline[0]=i;elsebreak;}///////////////////////////////////////关键算法//////////////////////////////////// κt>力、力、力、力、力、情况一(a,b)(a1,b1)κt>情况二()(a1,b1)κt>***********************************/考虑上下向量if(brow[0]>=arow[0]y^上方向向量有共同的列向量Start=brow[0];〃取大的elseStart=arow[0];14及00[1]<=2100[1])〃向下的方向向量有共同的列向量end=brow[1];取小的elSeend=arow[1];for(;Start<=end;Start++)〃列向量上共同Sart到end{//bl要大于b,否则就交换如果不交换将使下面的循环出错、//if(b<b1){上="//小的赋值到ji=b1;//大的赋值到i}else{j=b1;i=b;}///这里节约一个变量for(n=0;j<i;j++)//同一行上,从列j到i{if(chessman[start][j]==0)//同一行上,所有列都是0n++;elsebreak;}if((n==b-b1)&&(n>0))//因为b和bl大小不能确定,所以有两个ifchessman[a][b]=chessman[a1][b1]=0;if((n==b1-b)&&(n>0))chessman[a][b]=chessman[a1][b1]=0;}//考虑左右向量//if(aline[0]>=bline[0])〃向左的向量有共同的列向量Start=aline[0];//取大的elseStart=bline[0];if(aline[1]<bline[1])end=aline[1];elSeend=bline[1];for(i=Start;i<=end;i+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 美丽宝鸡考试题及答案
- 企业商标保护课件教学
- 长期税务筹划方案
- 跟踪审计实施方案
- 车辆抵押担保解除合同范本
- 消防项目维保方案
- 党课宣传课件图片大全
- 言语康复家长培训
- 油厂设计方案模板
- 2026版《全品高考》选考复习方案物理01 第9讲 曲线运动 运动的合成与分解 含答案
- GB/T 15298-1994电子设备用电位器第一部分:总规范
- 泥水平衡盾构简介课件
- 新教科版六下科学4-6《生命体中的化学变化》教案
- 2023高中学业水平合格性考试历史重点知识点归纳总结(复习必背)
- 自然指数NatureIndex(NI)收录的68种自然科学类期刊
- 手术报告审批单
- 《专业导论光电信息科学与工程》教学大纲
- 广东省湛江市各县区乡镇行政村村庄村名明细
- 煤矿智能化综采工作面系统运行维护管理制度
- 少儿美术国画- 少儿希望 《紫藤课件》
- 建立良好的同伴关系-课件-高二心理健康
评论
0/150
提交评论