增加难度上升机制

This commit is contained in:
2026-04-26 09:55:21 +08:00
parent 72df9d474a
commit 30ccac8cbd
5 changed files with 198 additions and 35 deletions
+57 -6
View File
@@ -629,6 +629,45 @@ void TDrawScreen(HDC hdc, HWND hWnd)
SelectObject(hdc, oldPen);
DeleteObject(gridPen);
int lockedRows = GetRogueLockedRows();
if (lockedRows > 0)
{
RECT lockedRect =
{
gameRect.left,
gameRect.top + (nGameHeight - lockedRows) * grid,
gameRect.right,
gameRect.bottom
};
Graphics lockedGraphics(hdc);
SolidBrush lockedBrush(Color(150, 58, 48, 68));
Pen lockedPen(Color(210, 232, 170, 194), 1.0f);
lockedGraphics.FillRectangle(
&lockedBrush,
static_cast<INT>(lockedRect.left),
static_cast<INT>(lockedRect.top),
static_cast<INT>(lockedRect.right - lockedRect.left),
static_cast<INT>(lockedRect.bottom - lockedRect.top));
lockedGraphics.DrawRectangle(
&lockedPen,
static_cast<INT>(lockedRect.left),
static_cast<INT>(lockedRect.top),
static_cast<INT>(lockedRect.right - lockedRect.left),
static_cast<INT>(lockedRect.bottom - lockedRect.top));
SelectObject(hdc, smallFont);
SetTextColor(hdc, RGB(238, 204, 216));
RECT lockedTextRect =
{
lockedRect.left + SS(12),
lockedRect.top + SS(8),
lockedRect.right - SS(12),
lockedRect.bottom - SS(8)
};
DrawText(hdc, _T("\u96be\u5ea6\u538b\u7f29\u533a"), -1, &lockedTextRect, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
}
for (int i = 0; i < nGameHeight; i++)
{
for (int j = 0; j < nGameWidth; j++)
@@ -783,12 +822,24 @@ void TDrawScreen(HDC hdc, HWND hWnd)
SelectObject(hdc, bodyFont);
TCHAR overviewText[160];
int totalLines = (currentMode == MODE_CLASSIC) ? classicStats.totalLinesCleared : rogueStats.totalLinesCleared;
_stprintf_s(
overviewText,
_T("\u5f53\u524d\u5f97\u5206 %d\r\n\u5f53\u524d\u6a21\u5f0f %s\r\n\u7d2f\u8ba1\u6d88\u884c %d"),
tScore,
currentMode == MODE_CLASSIC ? _T("\u7ecf\u5178") : _T("Rogue"),
totalLines);
if (currentMode == MODE_ROGUE)
{
_stprintf_s(
overviewText,
_T("\u5f53\u524d\u5f97\u5206 %d\r\n\u5f53\u524d\u6a21\u5f0f Rogue\r\n\u7d2f\u8ba1\u6d88\u884c %d\r\n\u96be\u5ea6 Lv.%d \u9501\u884c %d"),
tScore,
totalLines,
rogueStats.difficultyLevel,
GetRogueLockedRows());
}
else
{
_stprintf_s(
overviewText,
_T("\u5f53\u524d\u5f97\u5206 %d\r\n\u5f53\u524d\u6a21\u5f0f \u7ecf\u5178\r\n\u7d2f\u8ba1\u6d88\u884c %d"),
tScore,
totalLines);
}
RECT overviewBodyRect =
{
overviewRect.left + SS(22),