增加技能演示选项

This commit is contained in:
wyk
2026-04-28 18:28:46 +08:00
parent da741d1e56
commit c77b877b8b
12 changed files with 512 additions and 39 deletions
+18
View File
@@ -191,6 +191,16 @@ struct CellFlashEffect
COLORREF color;
};
struct GravityFallEffect
{
int ticks;
int totalTicks;
int x;
int fromY;
int toY;
int cellValue;
};
enum ScreenState
{
SCREEN_MENU = 0,
@@ -240,6 +250,7 @@ extern ClearEffectState clearEffectState;
extern FloatingTextEffect floatingTextEffects[8];
extern ParticleEffect particleEffects[96];
extern CellFlashEffect cellFlashEffects[64];
extern GravityFallEffect gravityFallEffects[80];
extern int currentScreen;
extern int currentMode;
extern int currentFallInterval;
@@ -270,11 +281,17 @@ void StartGameWithMode(int mode);
void ReturnToMainMenu();
void ReviveAfterVideo();
void StartRogueSkillDemo();
void StartRogueSkillDemoAt(int demoIndex);
bool IsRogueSkillDemoMode();
bool TickRogueSkillDemo();
void AdvanceRogueSkillDemo();
int GetRogueSkillDemoCount();
const TCHAR* GetRogueSkillDemoName(int demoIndex);
const TCHAR* GetRogueSkillDemoDetail(int demoIndex);
const TCHAR* GetCurrentRogueSkillDemoName();
void SetFeedbackMessage(const TCHAR* title, const TCHAR* detail, int ticks);
void OpenRulesScreen();
void OpenSkillDemoScreen();
void OpenCreditScreen();
void ChangeCreditPage(int direction);
void OpenUpgradeMenu();
@@ -292,6 +309,7 @@ void TriggerLineClearEffect(const int* rows, int rowCount, int linesCleared);
void PlayPendingLineClearEffect();
void TriggerCellClearEffect(const Point* cells, int cellCount, bool strongBurst);
void TriggerColoredCellClearEffect(const Point* cells, int cellCount, COLORREF flashColor, bool strongBurst);
void TriggerGravityFallEffect(int x, int fromY, int toY, int cellValue);
void AwardRogueSkillClearRewards(int clearedCells, int& scoreGain, int& expGain, bool allowLevelProgress);
void CheckRogueLevelProgress();
void ApplyBoardGravity();
+5
View File
@@ -84,6 +84,11 @@ void RollCurrentPieceSpecialFlags(bool allowRandomSpecials);
*/
void QueueLineClearEffect(const int* rows, int rowCount, int linesCleared);
/**
* @brief 记录固定方块受重力下落的轨迹,用于播放纵向残影特效。
*/
void TriggerGravityFallEffect(int x, int fromY, int toY, int cellValue);
/**
* @brief 尝试把旋转后的方块横向偏移指定格数后放置。
*/
+1
View File
@@ -12,6 +12,7 @@
#define IDD_ABOUTBOX 103
#define IDM_ABOUT 104
#define IDM_EXIT 105
#define IDM_SKILL_DEMO 106
#define IDI_TETRIS 107
#define IDI_SMALL 108
#define IDC_TETRIS 109