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);
};