C语言实现连连看.docx
- 文档编号:17555877
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:13
- 大小:17.03KB
C语言实现连连看.docx
《C语言实现连连看.docx》由会员分享,可在线阅读,更多相关《C语言实现连连看.docx(13页珍藏版)》请在冰点文库上搜索。
C语言实现连连看
南京航空航天大学计算机专业
专业:
运算机科学与技术学院
姓名:
杨万
学号:
161310224
“mymai”文件中代码
#include
usingnamespacestd;
#include
#include
#include
#include<>
#include
#include
#include"lianlianka"
intmain()
{
Gamemygame;
intselection;
while(true)
{
mygamenu();
cout<<"请输入:
"< <<"数字1进入游戏;" <<"数字2继续游戏;" <<"数字3选择游戏难度;" <<"数字4选择游戏模式;" <<"数字5查看排行榜;" <<"数字0退出游戏."< cin>>selection; if(selection<0||selection>5) { cout<<"输入错误"< system("cls"); continue; } DWORDgame_start,game_end; switch(selection) { case1: { charmyname[20]; cout<<"请输入您的用户名(不超过20个字符): "; cin>>myname; mygamme(myname); charch; boolis_complete=true; DWORDload_start,load_end; load_start=GetTickCount(); cout<<"游戏地图加载中,请稍后..................."< do { mygamMap(); load_end=GetTickCount()-load_start; if(load_end>2000) 简单"< cout<<"▉ 2.普通"< cout<<"▉ 3.困难"< do { cout<<"请按相应的数字键选择您需要的游戏难度"< cin>>difficulty_grade; mygammeDifficuties(difficulty_grade); }while(! (difficulty_grade==1||difficulty_grade==2||difficulty_grade==3)); system("cls"); break; } case4: { intmodel;时模式"< cout<<"▉ 2.无穷时模式"< do { cout<<"请按相应的数字选择您需要的游戏模式"< cin>>model; mygammeModel(model); }while(! (model==1||model==2)); break; } case5: { mygamng(); break; } case0: exit(0); } } return0; } “lianlianka"文件中代码 #include eam> usingnamespacestd; #include #include #include #include<> #include<> #include #include #include"lianlianka" /***************************************************************************************************/ /***************************************************************************************************/ /***************************************************************************************************/ Game: : Game() ametime=gametime; strcpy(gamer.name,name); gamer.model=difficuties/4; saveg((char*)&gamer,sizeof(gamer)); saveg (); } /***************************************************************************************************/ /***************************************************************************************************/ /***************************************************************************************************/ voidGame: : SetName(char*myname) { strcpy(name,myname); } /***************************************************************************************************/ /***************************************************************************************************/ /***************************************************************************************************/ boolGame: : IsTEiminate1(inti1,intj1,inti2,intj2) { boolflag1=true; 进入游戏"< cout<<"●2. 继续游戏"< cout<<"●3. 设置难度"< cout<<"●4. 设置模式"< cout<<"●5. 排行榜"< cout<<"●0. 退出游戏"< } /***************************************************************************************************/ /***************************************************************************************************/ /***************************************************************************************************/ voidEqual(Gamer&mygamer,Gamergamertemp) { mygamime=gamerime; mygam=gamer; strcpy(mygam,gamer; } voidInitGamer(Gamer&mygamer) { mygamime=; mygam=0; } voidSortingGamer(Gamer*gamerarray,intnum) { Gamertemp; for(inti=0;i for(intj=i+1;j { if(gamerarray[i].gametime>gamerarray[j].gametime) { Equal(temp,gamerarray[i]); Equal(gamerarray[i],gamerarray[j]); Equal(gamerarray[j],temp); } } } voidGame: : Ranking() { intk=0; Gamergamertemp; inti1=0; inti2=0; inti3=0; Gameresaygame[5]; Gamerordinarygame[5]; Gamerdifficultgame[5]; fstreamgamerfile; gamer("gamerinformatio",ios: : in|ios: : binary); if(! gamerfile) { cout<<"打开文件gamerinformation.dat失败"< return; } while(! gamer()) { gamer((char*)&gamertemp,sizeof(Gamer)); if(gamer()) break; if(gamer==1) { if(i1<5) { Equal(esaygame[i1++],gamertemp); SortingGamer(esaygame,i1); } else { if(gamerime { Equal(esaygame[4],gamertemp); SortingGamer(esaygame,5); } } } if(gamer==2) { if(i2<5) { Equal(ordinarygame[i2++],gamertemp); SortingGamer(ordinarygame,i2); } else { if(gamerime { Equal(ordinarygame[4],gamertemp); SortingGamer(ordinarygame,5); } } } if(gamer==3) { if(i3<5) { Equal(difficultgame[i3++],gamertemp); SortingGamer(difficultgame,i3); } else { if(gamerime { Equal(difficultgame[4],gamertemp); SortingGamer(difficultgame,5); } } } } gamer(); cout< "< cout<<" 玩家 游戏历时(秒) 排名"< if(i1==0) cout< "< for(;k { cout<<" "< } cout< "< if(i2==0) cout< "< for(;k { cout<<" "< } cout< "< if(i3==0) cout< "< for(;k { cout<<" "< } } ”lianlianka"头文件中代码 typedefstructgamer { intmodel;//游戏困难度 charname[20];//游戏者名字 doublegametime; //游戏时刻 }Gamer; classGame { private: intgamemodel;//游戏模式 intendtime; //限时模式下游戏的终止时刻 charname[21]; //游戏者用户名 intscore; //游戏得分 doublegametime; //游戏时刻 intdifficuties; //游戏难度,那个地址概念了三个难度,简单,一般,困难 chargamemap[14][14]; public: Game(); //构造函数 voidBuildMap(); //构造游戏地图 voidSetName(char*myname); //设置用户姓名 boolMapIsRight(); //检查构造的地图是不是正确 voidReset();//切换游戏地图 voidNewReset(); voidPaintMap(); //绘制地图 voidRepaintMap();//从头绘制地图 voidSetGameDifficuties(intdiff);//设置游戏的难度 voidSetGameModel(intmymodel);//设置游戏 boolLoadMap();//从文件ma中加载地图 voidSaveMap(char*map);//因为随机产生数组的时间较长,因此选择将产生的地图数组存入文件中,以便下次使用 boolIsGEiminate(inti1,intj1,inti2,intj2);//判定是不是可以拐弯排除 boolIsVEiminate(inti,intj1,intj2);//是不是能够直线排除 boolIsTEiminate2(intj1,inti1,intj2,inti2);//判定是不是可以转折排除(前后通排除) boolIsTEiminate1(inti1,intj1,inti2,intj2);//判定是不是可以转折排除(左右通排除) boolIsEliminate(inti1,intj1,inti2,intj2);//判定是不是成对排除 voidDoEiminate();//排除操作 boolIsComplete(); //是不是完成了所有的排除,假设是是返回true,不然否会false boolSaveFile(); voidGameMenu(); //输出游戏菜单 voidSaveGamer(); //向文件中存储用户完成游戏后的时间和用户名 intGetFileMapNum(); //取得文件中地图个数 voidSetGameTime(doublemygametime); //设置用户完成游戏的时间 doubleGetGameTime(){returngametime;} //获取用户完成游戏的时间 intGetGameEndtime(){returnendtime;} intGetGameModel(){returngamemodel;} voidRanking(); //排行榜 intGetNoSpaceNum(); boolIsGEiminate_sub2(inti1,intj1,inti2,intj2); boolIsGEiminate_sub1(inti1,intj1,inti2,intj2); };
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 实现 连连