将 Rogue 模式逻辑拆分为独立源文件
This commit is contained in:
@@ -65,6 +65,7 @@ $Sources = @(
|
|||||||
(Join-Path $SourceDir "stdafx.cpp"),
|
(Join-Path $SourceDir "stdafx.cpp"),
|
||||||
(Join-Path $SourceDir "Tetris.cpp"),
|
(Join-Path $SourceDir "Tetris.cpp"),
|
||||||
(Join-Path $SourceDir "TetrisLogic.cpp"),
|
(Join-Path $SourceDir "TetrisLogic.cpp"),
|
||||||
|
(Join-Path $SourceDir "TetrisRogue.cpp"),
|
||||||
(Join-Path $SourceDir "TetrisRender.cpp")
|
(Join-Path $SourceDir "TetrisRender.cpp")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "Tetris.h"
|
||||||
|
|
||||||
|
extern Point pendingChainBombCenter;
|
||||||
|
extern bool pendingChainBombFollowup;
|
||||||
|
|
||||||
|
Point GetSpawnPoint(int brickType);
|
||||||
|
void ResetPlayerStats(PlayerStats& stats, bool useRogueRules);
|
||||||
|
void SetFeedbackMessage(const TCHAR* title, const TCHAR* detail, int ticks);
|
||||||
|
bool IsPiecePlacementValid(int pieceType, int pieceState, Point position);
|
||||||
|
bool IsRainbowBoardCell(int cellValue);
|
||||||
|
int TriggerMiniBlackHole(int maxCellsToClear);
|
||||||
|
int TriggerRainbowRowCompletion(int minRow, int maxRow);
|
||||||
|
int TriggerScreenBomb();
|
||||||
|
int ClearExplosiveAreaAt(int centerY, int centerX);
|
||||||
|
int ClearColumnAt(int column);
|
||||||
|
int ClearRowAt(int row);
|
||||||
|
int TryStabilizeBoard();
|
||||||
|
void RollCurrentPieceSpecialFlags(bool allowRandomSpecials);
|
||||||
|
void ResetNextQueue();
|
||||||
|
int ConsumeNextType();
|
||||||
|
void ApplyLineClearResult(int linesCleared);
|
||||||
+5
-2097
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user