From 091152084b3b4e745b035bc6bce72dae9ff83769 Mon Sep 17 00:00:00 2001 From: jasonchenwork Date: Fri, 11 Apr 2025 09:55:55 +0800 Subject: [PATCH] =?UTF-8?q?=E9=81=99=E6=8E=A7=E5=99=A8=E9=97=9C=E6=A9=9F(?= =?UTF-8?q?=E6=94=B9=E7=89=88)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CommandHandler.cs | 48 +++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 44 insertions(+), 4 deletions(-) diff --git a/CommandHandler.cs b/CommandHandler.cs index 584bb07..34c992d 100644 --- a/CommandHandler.cs +++ b/CommandHandler.cs @@ -16,6 +16,10 @@ namespace DualScreenDemo public static bool readyForSongListInput = false; private readonly int _maxHistoryLength = 6; // 最多保留 6 筆 private readonly Queue _indataHistory = new Queue(); + + private int _wrongInputCountfor62 = 0; // 錯誤輸入計數器 + private int _wrongInputCountfor61 = 0; // 錯誤輸入計數器 + private const int MaxWrongLimit = 3; // 錯誤輸入限制次數 private readonly SongListManager songListManager; public CommandHandler(SongListManager songListManager) @@ -336,7 +340,16 @@ namespace DualScreenDemo else { ClearDisplay(); - OverlayForm.MainForm.displayLabel.Text = "輸入錯誤!!!"; + _wrongInputCountfor61++; + if(_wrongInputCountfor61 <= MaxWrongLimit) + { + OverlayForm.MainForm.displayLabel.Text += "#"; + } + else + { + OverlayForm.MainForm.displayLabel.Text = "輸入錯誤!!!"; + _wrongInputCountfor61 = 0; // 重置計數器 + } OverlayForm.MainForm.nextSongLabel.Visible = false; OverlayForm.displayTimer.Start(); } @@ -355,7 +368,16 @@ namespace DualScreenDemo else { ClearDisplay(); - OverlayForm.MainForm.displayLabel.Text = "輸入錯誤!!!"; + _wrongInputCountfor61++; + if(_wrongInputCountfor61 <= MaxWrongLimit) + { + OverlayForm.MainForm.displayLabel.Text += "#"; + } + else + { + OverlayForm.MainForm.displayLabel.Text = "輸入錯誤!!!"; + _wrongInputCountfor61 = 0; // 重置計數器 + } OverlayForm.MainForm.nextSongLabel.Visible = false; OverlayForm.displayTimer.Start(); } @@ -408,7 +430,16 @@ namespace DualScreenDemo else { ClearDisplay(); - OverlayForm.MainForm.displayLabel.Text = "輸入錯誤!!!"; + _wrongInputCountfor62++; + if(_wrongInputCountfor62 <= MaxWrongLimit) + { + OverlayForm.MainForm.displayLabel.Text += "*"; + } + else + { + OverlayForm.MainForm.displayLabel.Text = "輸入錯誤!!!"; + _wrongInputCountfor62 = 0; // 重置計數器 + } OverlayForm.MainForm.nextSongLabel.Visible = false; OverlayForm.displayTimer.Start(); } @@ -425,7 +456,16 @@ namespace DualScreenDemo else { ClearDisplay(); - OverlayForm.MainForm.displayLabel.Text = "輸入錯誤!!!"; + _wrongInputCountfor62++; + if(_wrongInputCountfor62 <= MaxWrongLimit) + { + OverlayForm.MainForm.displayLabel.Text += "*"; + } + else + { + OverlayForm.MainForm.displayLabel.Text = "輸入錯誤!!!"; + _wrongInputCountfor62 = 0; // 重置計數器 + } OverlayForm.MainForm.nextSongLabel.Visible = false; OverlayForm.displayTimer.Start(); }