补充彩虹方块与虚空核心强化链

This commit is contained in:
2026-04-25 16:36:20 +08:00
parent 750a10b5c0
commit 71a3684ce1
4 changed files with 265 additions and 18 deletions
+38 -3
View File
@@ -454,7 +454,9 @@ void TDrawScreen(HDC hdc, HWND hWnd)
{
if (workRegion[i][j] != 0)
{
int colorIndex = workRegion[i][j] - 1;
int cellValue = workRegion[i][j];
bool isRainbowCell = (cellValue == 8);
int colorIndex = isRainbowCell ? 0 : (cellValue - 1);
RECT brickRect =
{
gameRect.left + j * grid + SS(2),
@@ -463,8 +465,10 @@ void TDrawScreen(HDC hdc, HWND hWnd)
gameRect.top + (i + 1) * grid - SS(2)
};
HBRUSH brickBrush = CreateSolidBrush(BrickColor[colorIndex]);
HPEN brickPen = CreatePen(PS_SOLID, 1, RGB(255, 248, 250));
COLORREF fillColor = isRainbowCell ? RGB(255, 214, 120) : BrickColor[colorIndex];
COLORREF borderColor = isRainbowCell ? RGB(255, 248, 191) : RGB(255, 248, 250);
HBRUSH brickBrush = CreateSolidBrush(fillColor);
HPEN brickPen = CreatePen(PS_SOLID, isRainbowCell ? SS(2) : 1, borderColor);
oldPen = (HPEN)SelectObject(hdc, brickPen);
oldBrush = (HBRUSH)SelectObject(hdc, brickBrush);
RoundRect(hdc, brickRect.left, brickRect.top, brickRect.right, brickRect.bottom, SS(10), SS(10));
@@ -549,6 +553,11 @@ void TDrawScreen(HDC hdc, HWND hWnd)
activeOutlineColor = RGB(196, 255, 132);
activeOutlineWidth = SS(3);
}
else if (currentPieceIsRainbow)
{
activeOutlineColor = RGB(255, 226, 126);
activeOutlineWidth = SS(3);
}
HPEN brickPen = CreatePen(PS_SOLID, activeOutlineWidth, activeOutlineColor);
oldPen = (HPEN)SelectObject(hdc, brickPen);
oldBrush = (HBRUSH)SelectObject(hdc, brickBrush);
@@ -724,6 +733,17 @@ void TDrawScreen(HDC hdc, HWND hWnd)
TextOut(hdc, combatRect.left + SS(18), combatRect.top + SS(178), crossText, lstrlen(crossText));
}
if (rogueStats.rainbowPieceLevel > 0)
{
TCHAR rainbowText[128];
_stprintf_s(
rainbowText,
_T("\u5f69\u8679\u6982\u7387 12%% %s"),
currentPieceIsRainbow ? _T("\u672c\u5757\u5df2\u5f69\u8679") :
(rogueStats.pendingRainbowPieceCount > 0 ? _T("\u4e0b\u4e00\u5757\u5f69\u8679") : _T("\u672c\u5757\u666e\u901a")));
TextOut(hdc, combatRect.left + SS(18), combatRect.top + SS(210), rainbowText, lstrlen(rainbowText));
}
if (rogueStats.laserLevel > 0)
{
TCHAR laserText[96];
@@ -786,6 +806,13 @@ void TDrawScreen(HDC hdc, HWND hWnd)
TextOut(hdc, combatRect.left + SS(18), combatRect.top + SS(850), reshapeText, lstrlen(reshapeText));
}
if (rogueStats.voidCoreLevel > 0)
{
TCHAR voidText[128];
_stprintf_s(voidText, _T("\u865a\u7a7a\u6838\u5fc3 \u9ed1\u6d1e\u540e\u989d\u5916\u751f\u6210\u5f69\u8679\uff0c\u5f69\u8679\u6d88\u884c\u89e6\u53d1\u5c0f\u578b\u9ed1\u6d1e"));
TextOut(hdc, combatRect.left + SS(18), combatRect.top + SS(882), voidText, lstrlen(voidText));
}
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")));
@@ -1026,6 +1053,14 @@ void TDrawScreen(HDC hdc, HWND hWnd)
{
_stprintf_s(upgradeSummary + lstrlen(upgradeSummary), 512 - lstrlen(upgradeSummary), _T("\u7a7a\u4e2d\u6362\u5f62 Lv.1\r\n"));
}
if (rogueStats.rainbowPieceLevel > 0)
{
_stprintf_s(upgradeSummary + lstrlen(upgradeSummary), 512 - lstrlen(upgradeSummary), _T("\u5f69\u8679\u65b9\u5757 Lv.1\r\n"));
}
if (rogueStats.voidCoreLevel > 0)
{
_stprintf_s(upgradeSummary + lstrlen(upgradeSummary), 512 - lstrlen(upgradeSummary), _T("\u865a\u7a7a\u6838\u5fc3 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);