📄 turnaround.txt
字号:
dirtest = true;
// Count a integer step
rt_mobile = m_ppTanks[i]->GetRect();
step = m_ppTanks[i]->GetDirectionUnit();
if ( step.y != 0 ) {
residue = m_ppTanks[i]->GetTop() % DEFTURNSTEP;
if ( residue == 0 )
dirtest = false;
else if ( residue > DEFTURNSTEP/2 ) { // down
residue = DEFTURNSTEP - residue;
rt_mobile.top += residue;
rt_mobile.bottom += residue;
} else { // up
rt_mobile.top -= residue;
rt_mobile.bottom -= residue;
}
} else if ( step.x != 0 ) {
residue = m_ppTanks[i]->GetLeft() % DEFTURNSTEP;
if ( residue == 0 )
dirtest = false;
else if ( residue > DEFTURNSTEP/2 ) { // right
residue = DEFTURNSTEP - residue;
rt_mobile.left += residue;
rt_mobile.right += residue;
} else { // left
rt_mobile.left -= residue;
rt_mobile.right -= residue;
}
}
// Test if it can move
if ( dirtest ) {
MapInfo.ColRToMobile( rt_mobile, step, (CMobileObject **)m_ppTanks, 10, i,
m_ppTanks[i]->m_uiTeamType, false, hit );
if ( hit < 0 )
m_ppTanks[i]->SetPos( rt_mobile.left, rt_mobile.top );
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -