升级改为四选一并重做赌徒与方块改造机制
This commit is contained in:
+42
-15
@@ -362,7 +362,7 @@ void TDrawScreen(HDC hdc, HWND hWnd)
|
||||
hdc,
|
||||
_T("\u7ecf\u5178\u6a21\u5f0f\uff1a\u4fdd\u6301\u539f\u7248\u4fc4\u7f57\u65af\u65b9\u5757\u73a9\u6cd5\uff0c\u4ee5\u6d88\u884c\u548c\u751f\u5b58\u4e3a\u4e3b\u3002\r\n\r\n")
|
||||
_T("Rogue \u6a21\u5f0f\uff1a\u6d88\u884c\u540e\u9664\u4e86\u83b7\u5f97\u5206\u6570\uff0c\u8fd8\u4f1a\u83b7\u5f97 EXP\u3002EXP \u8fbe\u5230\u9608\u503c\u540e\u89e6\u53d1\u5347\u7ea7\uff0c\u4ece\u4e09\u4e2a\u5f3a\u5316\u4e2d\u9009\u4e00\u4e2a\u3002\r\n\r\n")
|
||||
_T("\u5f53\u524d\u5df2\u63a5\u5165\uff1a\u5206\u6570\u500d\u7387\u3001EXP \u500d\u7387\u3001\u6162\u901f\u4e0b\u843d\u3001Hold \u89e3\u9501\u3001\u51cf\u538b\u3001\u6e05\u626b\u8005\u3001\u7206\u7834\u65b9\u5757\u3001\u7a33\u5b9a\u7ed3\u6784\u3001\u53cc\u500d\u6210\u957f\u3001\u65b9\u5757\u6539\u8fd0\u3001\u8d4c\u5f92\u3002\r\n\r\n")
|
||||
_T("\u5f53\u524d\u5df2\u63a5\u5165\uff1a\u5206\u6570\u500d\u7387\u3001EXP \u500d\u7387\u3001\u6162\u901f\u4e0b\u843d\u3001Hold \u89e3\u9501\u3001\u51cf\u538b\u3001\u6e05\u626b\u8005\u3001\u7206\u7834\u65b9\u5757\u3001\u7a33\u5b9a\u7ed3\u6784\u3001\u53cc\u500d\u6210\u957f\u3001\u65b9\u5757\u6539\u9020\u3001\u8d4c\u5f92\u3002\r\n\r\n")
|
||||
_T("\u63d0\u793a\uff1a\u6682\u505c\u3001\u5931\u8d25\u548c\u5347\u7ea7\u4f1a\u8fdb\u5165\u4e0d\u540c\u754c\u9762\uff0c\u8bf7\u6839\u636e\u5c4f\u5e55\u63d0\u793a\u64cd\u4f5c\u3002"),
|
||||
-1,
|
||||
&rulesBody,
|
||||
@@ -699,10 +699,18 @@ void TDrawScreen(HDC hdc, HWND hWnd)
|
||||
TextOut(hdc, combatRect.left + SS(18), combatRect.top + SS(178), growthText, lstrlen(growthText));
|
||||
}
|
||||
|
||||
if (rogueStats.luckyRollLevel > 0)
|
||||
int tunedPieces = 0;
|
||||
for (int pieceType = 0; pieceType < 7; pieceType++)
|
||||
{
|
||||
if (rogueStats.pieceTuningLevels[pieceType] > 0)
|
||||
{
|
||||
tunedPieces++;
|
||||
}
|
||||
}
|
||||
if (tunedPieces > 0)
|
||||
{
|
||||
TCHAR luckyText[96];
|
||||
_stprintf_s(luckyText, _T("\u6539\u8fd0\u91cd\u63b7 %d \u6b21"), rogueStats.luckyRollLevel > 3 ? 3 : rogueStats.luckyRollLevel);
|
||||
_stprintf_s(luckyText, _T("\u65b9\u5757\u6539\u9020 %d \u79cd\u5df2\u8c03\u6574"), tunedPieces);
|
||||
TextOut(hdc, combatRect.left + SS(18), combatRect.top + SS(210), luckyText, lstrlen(luckyText));
|
||||
}
|
||||
|
||||
@@ -710,11 +718,11 @@ void TDrawScreen(HDC hdc, HWND hWnd)
|
||||
{
|
||||
TCHAR gamblerText[96];
|
||||
int variance = 20 + (rogueStats.gamblerLevel - 1) * 10;
|
||||
if (variance > 50)
|
||||
if (variance > 40)
|
||||
{
|
||||
variance = 50;
|
||||
variance = 40;
|
||||
}
|
||||
_stprintf_s(gamblerText, _T("\u8d4c\u5f92\u6ce2\u52a8 \u00b1%d%%"), variance);
|
||||
_stprintf_s(gamblerText, _T("\u8d4c\u5f92\u6982\u7387 \u53cc\u500d/%u\u6548 %d%%"), variance, variance);
|
||||
TextOut(hdc, combatRect.left + SS(18), combatRect.top + SS(242), gamblerText, lstrlen(gamblerText));
|
||||
}
|
||||
|
||||
@@ -788,9 +796,24 @@ void TDrawScreen(HDC hdc, HWND hWnd)
|
||||
{
|
||||
_stprintf_s(upgradeSummary + lstrlen(upgradeSummary), 512 - lstrlen(upgradeSummary), _T("\u53cc\u500d\u6210\u957f Lv.%d\r\n"), rogueStats.doubleGrowthLevel);
|
||||
}
|
||||
if (rogueStats.luckyRollLevel > 0)
|
||||
int tunedPieceCount = 0;
|
||||
for (int pieceType = 0; pieceType < 7; pieceType++)
|
||||
{
|
||||
_stprintf_s(upgradeSummary + lstrlen(upgradeSummary), 512 - lstrlen(upgradeSummary), _T("\u65b9\u5757\u6539\u8fd0 Lv.%d\r\n"), rogueStats.luckyRollLevel);
|
||||
if (rogueStats.pieceTuningLevels[pieceType] > 0)
|
||||
{
|
||||
tunedPieceCount++;
|
||||
_stprintf_s(
|
||||
upgradeSummary + lstrlen(upgradeSummary),
|
||||
512 - lstrlen(upgradeSummary),
|
||||
_T("%s \u65b9\u5757\u6539\u9020 Lv.%d\r\n"),
|
||||
(pieceType == 0 ? _T("I") :
|
||||
pieceType == 1 ? _T("T") :
|
||||
pieceType == 2 ? _T("L") :
|
||||
pieceType == 3 ? _T("J") :
|
||||
pieceType == 4 ? _T("O") :
|
||||
pieceType == 5 ? _T("S") : _T("Z")),
|
||||
rogueStats.pieceTuningLevels[pieceType]);
|
||||
}
|
||||
}
|
||||
if (rogueStats.gamblerLevel > 0)
|
||||
{
|
||||
@@ -1108,22 +1131,26 @@ void TDrawScreen(HDC hdc, HWND hWnd)
|
||||
DrawText(hdc, _T("\u8bf7\u4ece\u4e09\u4e2a\u9009\u9879\u4e2d\u9009\u62e9\u4e00\u4e2a\u5f3a\u5316"), -1, &overlaySubtitleRect, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
|
||||
|
||||
int gap = SS(18);
|
||||
int cardWidth = (overlayRect.right - overlayRect.left - SS(72) - gap * 2) / 3;
|
||||
int cardTop = overlayRect.top + SS(138);
|
||||
int cardBottom = overlayRect.bottom - SS(72);
|
||||
int horizontalPadding = SS(36);
|
||||
int verticalTop = overlayRect.top + SS(138);
|
||||
int cardWidth = (overlayRect.right - overlayRect.left - horizontalPadding * 2 - gap) / 2;
|
||||
int cardHeight = (overlayRect.bottom - verticalTop - SS(72) - gap) / 2;
|
||||
|
||||
for (int i = 0; i < upgradeUiState.optionCount; i++)
|
||||
{
|
||||
bool isSelected = (i == upgradeUiState.selectedIndex);
|
||||
int left = overlayRect.left + SS(36) + i * (cardWidth + gap);
|
||||
int column = i % 2;
|
||||
int row = i / 2;
|
||||
int left = overlayRect.left + horizontalPadding + column * (cardWidth + gap);
|
||||
int top = verticalTop + row * (cardHeight + gap);
|
||||
int right = left + cardWidth;
|
||||
|
||||
RECT cardRect =
|
||||
{
|
||||
left,
|
||||
cardTop,
|
||||
top,
|
||||
right,
|
||||
cardBottom
|
||||
top + cardHeight
|
||||
};
|
||||
|
||||
HBRUSH cardBrush = CreateSolidBrush(isSelected ? RGB(255, 235, 242) : RGB(255, 247, 250));
|
||||
@@ -1219,7 +1246,7 @@ void TDrawScreen(HDC hdc, HWND hWnd)
|
||||
overlayRect.right - SS(30),
|
||||
overlayRect.bottom - SS(18)
|
||||
};
|
||||
DrawText(hdc, _T("A / D \u6216\u65b9\u5411\u952e\u5207\u6362\uff0cEnter \u6216 Space \u786e\u8ba4"), -1, &hintRect, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
|
||||
DrawText(hdc, _T("W/A/S/D \u6216\u65b9\u5411\u952e\u5207\u6362\uff0cEnter \u6216 Space \u786e\u8ba4"), -1, &hintRect, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
|
||||
}
|
||||
|
||||
SelectObject(hdc, oldFont);
|
||||
|
||||
Reference in New Issue
Block a user