增加难度上升机制
This commit is contained in:
@@ -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),
|
||||
|
||||
Reference in New Issue
Block a user