📄 recordlist.cpp
字号:
// Recordlist.cpp: implementation of the Recordlist class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "bee.h"
#include "Recordlist.h"
#include <fstream.h>
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
Recordlist::Recordlist()
{
InitRecord();
ReadRecord();
}
Recordlist::~Recordlist()
{
}
int Recordlist::FindPos(int score)
{
int pos;
for(pos=0;pos<10;pos++)
{
if(m_recordlist[pos].score<score)
return pos;
}
}
BOOL Recordlist::AddRecord(const char * name,int score)
{
int pos=9,i;
if(score>m_lowscore) {
pos=FindPos(score);
for(i=9;i>pos;i--)
m_recordlist[i]=m_recordlist[i-1];
strcpy(m_recordlist[pos].name,name);
m_recordlist[pos].score=score;
m_highscore=m_recordlist[0].score; //取得最高最低分
m_lowscore=m_recordlist[9].score;
}
return true;
}
BOOL Recordlist::ReadRecord()
{
int i;
ifstream scorerecord;
ofstream ftemp;
// char stemp[100];
// int a=0,b=0;
// ftemp.open("record.dat",ios::out|ios::binary);
// ftemp.write((unsigned char*)&a,sizeof(a));
// ftemp.write((unsigned char*)&b,sizeof(b));
// ftemp.close;
scorerecord.open("record.dat",ios::in|ios::binary);
if(scorerecord.fail()==0){
if(!scorerecord.eof()){
scorerecord.read((unsigned char*)&m_highscore,sizeof(m_highscore));
scorerecord.read((unsigned char*)&m_lowscore,sizeof(m_lowscore));
//AfxMessageBox("i am here");
}
i=0;
while(!scorerecord.eof()){
scorerecord.read((unsigned char*)&(m_recordlist[i].name),30);
scorerecord.read((unsigned char*)&(m_recordlist[i].score),sizeof(m_lowscore));
i++;
}
}
scorerecord.close();
return true;
}
void Recordlist::InitRecord()
{
int i;
m_highscore=0,m_lowscore=0;
for(i=0;i<10;i++){
strcpy(m_recordlist[i].name,"player");
m_recordlist[i].score=0;
}
}
BOOL Recordlist::WriteRecord()
{
int i;
ifstream ftemp;
ofstream scorerecord;
// char stemp[100];
// int a=0,b=0;
// ftemp.open("record.dat",ios::out|ios::binary);
// ftemp.write((unsigned char*)&a,sizeof(a));
// ftemp.write((unsigned char*)&b,sizeof(b));
// ftemp.close;
scorerecord.open("record.dat",ios::out|ios::binary);
if(scorerecord.fail()==0){
scorerecord.write((unsigned char*)&m_highscore,sizeof(m_highscore));
scorerecord.write((unsigned char*)&m_lowscore,sizeof(m_lowscore));
for(i=0;i<9;i++){
scorerecord.write((unsigned char*)&(m_recordlist[i].name),30);
scorerecord.write((unsigned char*)&(m_recordlist[i].score),sizeof(m_lowscore));
}
}
scorerecord.close();
return true;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -