补充十字方块、黑洞和空中换形强化

This commit is contained in:
2026-04-25 16:27:27 +08:00
parent 024be82833
commit 750a10b5c0
5 changed files with 359 additions and 28 deletions
+47 -1
View File
@@ -333,6 +333,9 @@ void TDrawScreen(HDC hdc, HWND hWnd)
_T("\u2193 / S\uff1a\u8f6f\u964d\r\n")
_T("Space\uff1a\u786c\u964d\r\n")
_T("C / Shift\uff1aHold\uff08\u89e3\u9501\u540e\uff09\r\n")
_T("Z\uff1a\u91ca\u653e\u9ed1\u6d1e\uff08\u83b7\u5f97\u540e\uff09\r\n")
_T("X\uff1a\u91ca\u653e\u6e05\u5c4f\u70b8\u5f39\uff08\u83b7\u5f97\u540e\uff09\r\n")
_T("V\uff1a\u7a7a\u4e2d\u6362\u5f62\uff08\u83b7\u5f97\u540e\uff09\r\n")
_T("P\uff1a\u6682\u505c / \u7ee7\u7eed\r\n")
_T("R\uff1a\u91cd\u5f00\u5f53\u524d\u5bf9\u5c40\r\n")
_T("M\uff1a\u8fd4\u56de\u4e3b\u83dc\u5355"),
@@ -541,6 +544,11 @@ void TDrawScreen(HDC hdc, HWND hWnd)
activeOutlineColor = RGB(120, 232, 255);
activeOutlineWidth = SS(3);
}
else if (currentPieceIsCross)
{
activeOutlineColor = RGB(196, 255, 132);
activeOutlineWidth = SS(3);
}
HPEN brickPen = CreatePen(PS_SOLID, activeOutlineWidth, activeOutlineColor);
oldPen = (HPEN)SelectObject(hdc, brickPen);
oldBrush = (HBRUSH)SelectObject(hdc, brickBrush);
@@ -704,6 +712,18 @@ void TDrawScreen(HDC hdc, HWND hWnd)
TextOut(hdc, combatRect.left + SS(18), combatRect.top + SS(146), explosiveText, lstrlen(explosiveText));
}
if (rogueStats.crossPieceLevel > 0)
{
TCHAR crossText[96];
int crossChance = 8 + (rogueStats.crossPieceLevel - 1) * 6;
if (crossChance > 28)
{
crossChance = 28;
}
_stprintf_s(crossText, _T("\u5341\u5b57\u6982\u7387 %d%% %s"), crossChance, currentPieceIsCross ? _T("\u672c\u5757\u5df2\u5341\u5b57") : _T("\u672c\u5757\u666e\u901a"));
TextOut(hdc, combatRect.left + SS(18), combatRect.top + SS(178), crossText, lstrlen(crossText));
}
if (rogueStats.laserLevel > 0)
{
TCHAR laserText[96];
@@ -752,6 +772,20 @@ void TDrawScreen(HDC hdc, HWND hWnd)
TextOut(hdc, combatRect.left + SS(18), combatRect.top + SS(530), bombText, lstrlen(bombText));
}
if (rogueStats.blackHoleLevel > 0)
{
TCHAR blackHoleText[96];
_stprintf_s(blackHoleText, _T("\u9ed1\u6d1e \u5e93\u5b58 %d Z \u4e3b\u52a8\u91ca\u653e"), rogueStats.blackHoleCharges);
TextOut(hdc, combatRect.left + SS(18), combatRect.top + SS(818), blackHoleText, lstrlen(blackHoleText));
}
if (rogueStats.reshapeLevel > 0)
{
TCHAR reshapeText[96];
_stprintf_s(reshapeText, _T("\u7a7a\u4e2d\u6362\u5f62 \u5e93\u5b58 %d V \u53d8\u4e3a I \u5757"), rogueStats.reshapeCharges);
TextOut(hdc, combatRect.left + SS(18), combatRect.top + SS(850), reshapeText, lstrlen(reshapeText));
}
if (rogueStats.terminalClearLevel > 0)
{
TextOut(hdc, combatRect.left + SS(18), combatRect.top + SS(562), _T("\u7ec8\u672b\u6e05\u573a \u6fc0\u6d3b\u6700\u540e\u4e00\u640f\u65f6\u81ea\u52a8\u89e6\u53d1"), lstrlen(_T("\u7ec8\u672b\u6e05\u573a \u6fc0\u6d3b\u6700\u540e\u4e00\u640f\u65f6\u81ea\u52a8\u89e6\u53d1")));
@@ -980,6 +1014,18 @@ void TDrawScreen(HDC hdc, HWND hWnd)
{
_stprintf_s(upgradeSummary + lstrlen(upgradeSummary), 512 - lstrlen(upgradeSummary), _T("\u65b9\u5757\u98ce\u66b4 Lv.1\r\n"));
}
if (rogueStats.crossPieceLevel > 0)
{
_stprintf_s(upgradeSummary + lstrlen(upgradeSummary), 512 - lstrlen(upgradeSummary), _T("\u5341\u5b57\u65b9\u5757 Lv.%d\r\n"), rogueStats.crossPieceLevel);
}
if (rogueStats.blackHoleLevel > 0)
{
_stprintf_s(upgradeSummary + lstrlen(upgradeSummary), 512 - lstrlen(upgradeSummary), _T("\u9ed1\u6d1e Lv.1\r\n"));
}
if (rogueStats.reshapeLevel > 0)
{
_stprintf_s(upgradeSummary + lstrlen(upgradeSummary), 512 - lstrlen(upgradeSummary), _T("\u7a7a\u4e2d\u6362\u5f62 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);
@@ -1187,7 +1233,7 @@ void TDrawScreen(HDC hdc, HWND hWnd)
SelectObject(hdc, smallFont);
SetTextColor(hdc, RGB(128, 104, 118));
TextOut(hdc, panelRect.left + SS(24), hintTop, _T("M \uff1a\u8fd4\u56de\u83dc\u5355"), lstrlen(_T("M \uff1a\u8fd4\u56de\u83dc\u5355")));
TextOut(hdc, panelRect.left + SS(24), hintTop + SS(32), _T("\u89c4\u5219\u8bf4\u660e\u8bf7\u5728\u4e3b\u83dc\u5355\u8fdb\u5165"), lstrlen(_T("\u89c4\u5219\u8bf4\u660e\u8bf7\u5728\u4e3b\u83dc\u5355\u8fdb\u5165")));
TextOut(hdc, panelRect.left + SS(24), hintTop + SS(32), _T("Z \u9ed1\u6d1e X \u6e05\u5c4f\u70b8\u5f39 V \u7a7a\u4e2d\u6362\u5f62"), lstrlen(_T("Z \u9ed1\u6d1e X \u6e05\u5c4f\u70b8\u5f39 V \u7a7a\u4e2d\u6362\u5f62")));
if (feedbackState.visibleTicks > 0)
{