接入激光方块与雷霆四消进化路线

This commit is contained in:
2026-04-25 12:53:28 +08:00
parent 34c8f73d0c
commit 77e5d01ef0
3 changed files with 223 additions and 2 deletions
+47 -1
View File
@@ -529,7 +529,19 @@ void TDrawScreen(HDC hdc, HWND hWnd)
};
HBRUSH brickBrush = CreateSolidBrush(BrickColor[type]);
HPEN brickPen = CreatePen(PS_SOLID, currentPieceIsExplosive ? SS(3) : 1, currentPieceIsExplosive ? RGB(255, 214, 82) : RGB(255, 250, 252));
COLORREF activeOutlineColor = RGB(255, 250, 252);
int activeOutlineWidth = 1;
if (currentPieceIsExplosive)
{
activeOutlineColor = RGB(255, 214, 82);
activeOutlineWidth = SS(3);
}
else if (currentPieceIsLaser)
{
activeOutlineColor = RGB(120, 232, 255);
activeOutlineWidth = SS(3);
}
HPEN brickPen = CreatePen(PS_SOLID, activeOutlineWidth, activeOutlineColor);
oldPen = (HPEN)SelectObject(hdc, brickPen);
oldBrush = (HBRUSH)SelectObject(hdc, brickBrush);
RoundRect(hdc, brickRect.left, brickRect.top, brickRect.right, brickRect.bottom, SS(12), SS(12));
@@ -692,6 +704,28 @@ void TDrawScreen(HDC hdc, HWND hWnd)
TextOut(hdc, combatRect.left + SS(18), combatRect.top + SS(146), explosiveText, lstrlen(explosiveText));
}
if (rogueStats.laserLevel > 0)
{
TCHAR laserText[96];
int laserChance = 10 + (rogueStats.laserLevel - 1) * 8;
if (laserChance > 35)
{
laserChance = 35;
}
_stprintf_s(laserText, _T("\u6fc0\u5149\u6982\u7387 %d%% %s"), laserChance, currentPieceIsLaser ? _T("\u672c\u5757\u5df2\u6fc0\u5149") : _T("\u672c\u5757\u666e\u901a"));
TextOut(hdc, combatRect.left + SS(18), combatRect.top + SS(338), laserText, lstrlen(laserText));
}
if (rogueStats.thunderTetrisLevel > 0)
{
TextOut(hdc, combatRect.left + SS(18), combatRect.top + SS(370), _T("\u96f7\u9706\u56db\u6d88 \u56db\u6d88\u52a0\u6e05 2 \u884c"), lstrlen(_T("\u96f7\u9706\u56db\u6d88 \u56db\u6d88\u52a0\u6e05 2 \u884c")));
}
if (rogueStats.thunderLaserLevel > 0)
{
TextOut(hdc, combatRect.left + SS(18), combatRect.top + SS(402), _T("\u96f7\u9706\u6fc0\u5149 \u56db\u6d88\u52a0\u6fc0\u5149 2 \u5217"), lstrlen(_T("\u96f7\u9706\u6fc0\u5149 \u56db\u6d88\u52a0\u6fc0\u5149 2 \u5217")));
}
if (rogueStats.chainBlastLevel > 0)
{
TextOut(hdc, combatRect.left + SS(18), combatRect.top + SS(274), _T("\u8fde\u9501\u7206\u7834 \u5df2\u89e3\u9501"), lstrlen(_T("\u8fde\u9501\u7206\u7834 \u5df2\u89e3\u9501")));
@@ -806,6 +840,18 @@ void TDrawScreen(HDC hdc, HWND hWnd)
{
_stprintf_s(upgradeSummary + lstrlen(upgradeSummary), 512 - lstrlen(upgradeSummary), _T("\u8fde\u73af\u70b8\u5f39 Lv.1\r\n"));
}
if (rogueStats.laserLevel > 0)
{
_stprintf_s(upgradeSummary + lstrlen(upgradeSummary), 512 - lstrlen(upgradeSummary), _T("\u6fc0\u5149\u65b9\u5757 Lv.%d\r\n"), rogueStats.laserLevel);
}
if (rogueStats.thunderTetrisLevel > 0)
{
_stprintf_s(upgradeSummary + lstrlen(upgradeSummary), 512 - lstrlen(upgradeSummary), _T("\u96f7\u9706\u56db\u6d88 Lv.1\r\n"));
}
if (rogueStats.thunderLaserLevel > 0)
{
_stprintf_s(upgradeSummary + lstrlen(upgradeSummary), 512 - lstrlen(upgradeSummary), _T("\u96f7\u9706\u6fc0\u5149 Lv.1\r\n"));
}
if (rogueStats.stableStructureLevel > 0)
{
_stprintf_s(upgradeSummary + lstrlen(upgradeSummary), 512 - lstrlen(upgradeSummary), _T("\u7a33\u5b9a\u7ed3\u6784 Lv.%d\r\n"), rogueStats.stableStructureLevel);