📄 stonearena.cpp
字号:
// StoneArena.cpp: implementation of the CStoneArena class.
//
//////////////////////////////////////////////////////////////////////
#include "..\stdafx.h"
#include "StoneArena.h"
#include "TeamBattle.h"
///////////////////////////////////////////////////////////////////////////////
// Construction/Destruction
///////////////////////////////////////////////////////////////////////////////
CStoneArena::CStoneArena(int nIndex, int nType)
{
m_nIndex = nIndex;
m_nArenaType = nType;
}
CStoneArena::~CStoneArena()
{
}
///////////////////////////////////////////////////////////////////////////////
// Public Method
///////////////////////////////////////////////////////////////////////////////
void CStoneArena::StartGame(DWORD dwTime)
{
CBaseArena::StartGame(dwTime);
g_ColossusStone.SetStoneFirst();
// 泅犁 倒狼 荐甫 墨款飘 秦辑 焊郴霖促.
g_ColossusStone.GetTeamCount(m_aStone);
for (int i = 0; i < 2; ++i)
{
SendOccupyStone(i, m_aStone[i]);
}
}
void CStoneArena::EndGame(CArenaInfo* pArena)
{
CBaseArena::EndGame(pArena);
}
bool CStoneArena::PlayGame(DWORD dwTime)
{
DWORD dwRemainTime = m_pState->GetRemainTime(dwTime);
g_ColossusStone.GetTeamCount(m_aStone);
for (int i = 0; i < 2; ++i)
{
SendOccupyStone(i, m_aStone[i]);
}
if (dwRemainTime <= 0 || g_ColossusStone.IsEnd())
{
int bottom_level = 1000000; // 啊厘 撤篮 饭骇
int top = -1, nIndex = 0;
int the_end = 0;
for (ITOR_TEAM i = m_ltTeam.begin(); i != m_ltTeam.end(); ++i)
{
const int nTotal = (*i)->GetTeamLevel();
if (top < m_aStone[nIndex])
{
top = m_aStone[nIndex];
the_end = 1;
}
else if (top == m_aStone[nIndex]) // 悼痢 // 评捞 2俺 老锭父 利侩
{
if (bottom_level > nTotal)
{
bottom_level = nTotal;
}
}
++nIndex;
}
nIndex = 0;
for (ITOR_TEAM j = m_ltTeam.begin(); j != m_ltTeam.end(); ++j)
{
const int nTotal = (*j)->GetTeamLevel();
if (top < m_aStone[nIndex])
{
top = m_aStone[nIndex];
the_end = 1;
}
else if (top == m_aStone[nIndex]) // 悼痢 // 评捞 2俺 老锭父 利侩
{
if (bottom_level > nTotal)
{
bottom_level = nTotal;
}
}
++nIndex;
}
if (the_end) // 铰菩啊 哎啡促.
{
nIndex = 0;
for (ITOR_TEAM k = m_ltTeam.begin(); k != m_ltTeam.end(); ++k)
{
CArenaTeam* pTeam = *k;
if (top == m_aStone[nIndex++]) // 捞变评
{
pTeam->SetGameResult(FST_WIN);
}
else
{
pTeam->SetGameResult(FST_DEFEAT);
}
DoResult(pTeam);
}
}
return false;
}
return CBaseArena::PlayGame(dwTime);
}
///////////////////////////////////////////////////////////////////////////////
// Protected Method
///////////////////////////////////////////////////////////////////////////////
void CStoneArena::DoResult(CArenaTeam* pTeam)
{
CBaseArena::DoResult(pTeam);
}
void CStoneArena::DoVictory(CArenaTeam* pTeam)
{
CBaseArena::DoVictory(pTeam);
}
void CStoneArena::DoDefeat(CArenaTeam* pTeam)
{
CBaseArena::DoDefeat(pTeam);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -