📄 corearena.cpp
字号:
// CoreArena.cpp: implementation of the CCoreArena class.
//
//////////////////////////////////////////////////////////////////////
#include "..\stdafx.h"
#include "CoreArena.h"
///////////////////////////////////////////////////////////////////////////////
// Construction/Destruction
///////////////////////////////////////////////////////////////////////////////
CCoreArena::CCoreArena(int nIndex, int nType)
{
m_nIndex = nIndex;
m_nArenaType = nType;
m_bGameOver = false;
}
CCoreArena::~CCoreArena()
{
}
///////////////////////////////////////////////////////////////////////////////
// Public Method
///////////////////////////////////////////////////////////////////////////////
void CCoreArena::StartGame(DWORD dwTime)
{
CBaseArena::StartGame(dwTime);
for (ITOR_TEAM i = m_ltTeam.begin(); i != m_ltTeam.end(); ++i)
{
const int nTeam = (*i)->GetTeamNumber();
const int nCount = (*i)->GetAliveCount();
SendRemainCount(nTeam, nCount);
}
m_bGameOver = false;
}
void CCoreArena::EndGame(CArenaInfo* pArena)
{
CBaseArena::EndGame(pArena);
}
bool CCoreArena::PlayGame(DWORD dwTime)
{
DWORD dwRemainTime = m_pState->GetRemainTime(dwTime);
for (ITOR_TEAM i = m_ltTeam.begin(); i != m_ltTeam.end(); ++i)
{
const int nTeam = (*i)->GetTeamNumber();
const int nCount = (*i)->GetAliveCount();
SendRemainCount(nTeam, nCount);
if (nCount <= 0 && !m_bGameOver)
{
m_pState->SetContinueTime(dwTime + 5);
m_bGameOver = true;
break;
}
}
if (dwRemainTime <= 0)
{
/////////////////////////////////////////////////////////////////////////////
// 铰菩 搬沥篮 啊厘 腹捞 混酒 乐绰 评捞 快铰窍绊 趣矫
// 混酒 乐绰 荐啊 鞍阑 版快 啊厘 撤篮 饭骇 评捞 快铰茄促.
// 啊厘 腹捞 混酒 乐绰 评狼 混酒 巢篮 荐客 饭骇阑 历厘秦滴绊 唱吝俊 贸府茄促.
/////////////////////////////////////////////////////////////////////////////
int top = -1; // 啊厘 腹捞 混酒 乐绰 评狼 荐
int bottom_level = 1000000; // 啊厘 撤篮 饭骇
bool is_over = false; // 啊厘 腹捞 混酒 乐绰 评捞 2评 捞惑牢啊?
for (ITOR_TEAM j = m_ltTeam.begin(); j != m_ltTeam.end(); ++j)
{
const int nCount = (*j)->GetAliveCount();
const int nTotal = (*j)->GetTeamLevel();
if (top < nCount)
{
top = nCount;
is_over = true;
bottom_level = nTotal;
}
else if (top == nCount)
{
if (bottom_level > nTotal)
{
bottom_level = nTotal;
}
}
}
if (is_over) // 巢篮 荐啊 鞍篮 版快 饭骇鳖瘤 眉农茄促.
{
for (ITOR_TEAM k = m_ltTeam.begin(); k != m_ltTeam.end(); ++k)
{
CArenaTeam* pTeam = *k;
const int nCount = pTeam->GetAliveCount();
const int nTotal = pTeam->GetTeamLevel();
if (nCount == top && nTotal == bottom_level)
{
pTeam->SetGameResult(FST_WIN);
pTeam->GiveBonus(); // 白喉 酒捞袍阑 霖促.
const DWORD dwFlowTime = m_pState->GetFlowTime(dwTime);
if (dwFlowTime < 300) // 5盒 捞郴扼搁
{
MyLog(LOG_NORMAL, "Team Battle End!!! time = %d", dwFlowTime);
}
}
else
{
pTeam->SetGameResult(FST_DEFEAT);
}
DoResult(pTeam);
}
}
return false;
}
return CBaseArena::PlayGame(dwTime);
}
///////////////////////////////////////////////////////////////////////////////
// Protected Method
///////////////////////////////////////////////////////////////////////////////
void CCoreArena::DoResult(CArenaTeam* pTeam)
{
CBaseArena::DoResult(pTeam);
}
void CCoreArena::DoVictory(CArenaTeam* pTeam)
{
CBaseArena::DoVictory(pTeam);
}
void CCoreArena::DoDefeat(CArenaTeam* pTeam)
{
CBaseArena::DoDefeat(pTeam);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -