aplayerdata.cpp
来自「◆◆◆ 《投掷飞镖记分工具》◆◆◆ 操作系统 : Windows Mobil」· C++ 代码 · 共 70 行
CPP
70 行
#include "StdAfx.h"
#include "DartScore.h"
#include "APlayerData.h"
CAPlayerData::CAPlayerData(void)
: m_pAGameData ( NULL )
, m_pUIntAry_Scores ( NULL )
{
}
CAPlayerData::~CAPlayerData(void)
{
if ( m_pUIntAry_Scores )
delete[] m_pUIntAry_Scores;
}
BOOL CAPlayerData::SetAGameData(LPVOID pAGameData, LPCTSTR lpszPlayerName)
{
if ( !lpszPlayerName || lstrlen(lpszPlayerName) < 1 ) return FALSE;
m_csPlayerName = lpszPlayerName;
if ( !pAGameData ) return FALSE;
if ( ( (t_AGameData*)pAGameData )->nDartNum < 1 ) return FALSE;
m_pAGameData = pAGameData;
if ( m_pUIntAry_Scores )
delete[] m_pUIntAry_Scores;
m_pUIntAry_Scores = new CUIntArray[( (t_AGameData*)m_pAGameData )->nDartNum];
if ( !m_pUIntAry_Scores ) return FALSE;
return TRUE;
}
CString CAPlayerData::GenerateSaveDataString ()
{
if ( !m_pAGameData ) return _T("");
CString csSaveDataString;
csSaveDataString.Format ( _T("// %s ====================\r\n"), m_csPlayerName );
if ( !m_pUIntAry_Scores ) return csSaveDataString;
if ( ( (t_AGameData*)m_pAGameData )->nDartNum < 1 ) return _T("");
BOOL bEndLoop = FALSE;
for ( int i=0; i<( (t_AGameData*)m_pAGameData )->nCycleTimes; i++ )
{
CString csName, csValue;
csName.Format ( _T("%d"), i );
for ( int j=0; j<( (t_AGameData*)m_pAGameData )->nDartNum; j++ )
{
if ( i >= m_pUIntAry_Scores[j].GetSize() )
{
bEndLoop = TRUE;
break;
}
CString csText;
csText.Format ( _T("%u"), m_pUIntAry_Scores[j].GetAt(i) );
if ( !csValue.IsEmpty() ) csValue += _T(",");
csValue += csText;
}
if ( bEndLoop ) break;
if ( !csValue.IsEmpty() )
{
csSaveDataString += ::GenerateSaveDataString ( csName, csValue );
}
}
csSaveDataString += _T("\r\n");
return csSaveDataString;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?