将 Rogue 模式逻辑拆分为独立源文件
This commit is contained in:
@@ -65,6 +65,7 @@ $Sources = @(
|
||||
(Join-Path $SourceDir "stdafx.cpp"),
|
||||
(Join-Path $SourceDir "Tetris.cpp"),
|
||||
(Join-Path $SourceDir "TetrisLogic.cpp"),
|
||||
(Join-Path $SourceDir "TetrisRogue.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