From d6d82be52b4e686fec54ce3b2e8e037e5e85861d Mon Sep 17 00:00:00 2001 From: Mitch Wyllie Date: Wed, 23 Feb 2022 20:19:53 +1030 Subject: [PATCH 1/2] Message shown when player scores a point --- Stromblom.Pong/Game.cs | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/Stromblom.Pong/Game.cs b/Stromblom.Pong/Game.cs index de2b16b..c6ca605 100644 --- a/Stromblom.Pong/Game.cs +++ b/Stromblom.Pong/Game.cs @@ -49,13 +49,12 @@ public void Run() Thread.Sleep(115 - _ball.Speed); } _roundEnded = true; - handleInputTask.Wait(); - if (_ball.X <= _playerOne.X) - _playerTwo.Points++; - else - _playerOne.Points++; + Player pointScorer = _ball.X <= _playerOne.X ? _playerTwo : _playerOne; + pointScorer.Points++; + DrawPointScored(pointScorer); + handleInputTask.Wait(); Reset(); } Clear(); @@ -96,6 +95,22 @@ private void DrawScoreBoard() } } + private void DrawPointScored(Player scorer) + { + Console.BackgroundColor = ConsoleColor.Gray; + Console.ForegroundColor = ConsoleColor.Black; + int verticalCenter = (int)(_gameAreaHeight * 0.5f); + WriteCentered($" {scorer.Name} scored! ", verticalCenter - 1); + WriteCentered(" Press any key to continue ", verticalCenter + 1); + } + + private void WriteCentered(string str, int fromTop) + { + Console.CursorLeft = (int)((_gameAreaWidth * 0.5f) - (str.Length * 0.5f)); + Console.CursorTop = fromTop; + Console.Write(str); + } + private void Clear() { Console.ResetColor(); From 4ca68994254bd209e1f8aa07bd755f31df88f9a6 Mon Sep 17 00:00:00 2001 From: Mitch Wyllie Date: Wed, 23 Feb 2022 20:25:13 +1030 Subject: [PATCH 2/2] Fixed name length warning being overridden by instructions --- Stromblom.Pong/Game.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Stromblom.Pong/Game.cs b/Stromblom.Pong/Game.cs index c6ca605..658af37 100644 --- a/Stromblom.Pong/Game.cs +++ b/Stromblom.Pong/Game.cs @@ -115,6 +115,7 @@ private void Clear() { Console.ResetColor(); Console.Clear(); + Console.SetCursorPosition(0, 0); } private void Reset() @@ -130,7 +131,6 @@ private Player InitializePlayer(bool secondPlayer = false) var playerName = String.Empty; while (true) { - Console.SetCursorPosition(0, 0); if (!secondPlayer) Console.WriteLine("Player 1 uses w/s to move up/down"); else @@ -143,7 +143,7 @@ private Player InitializePlayer(bool secondPlayer = false) Clear(); - Console.WriteLine("Player name must be less then 18 characters long."); + Console.WriteLine("Player name must be less then 18 characters long.\n"); } return new Player(playerName, secondPlayer);