Exemple #1
0
        public static void HitWall()
        {
            if (ballPositionX <= 1)
            {
                Sounds.MakePoints();
                // first player scores
                Table.firstPlayerPoints++;


                BackToNormalGameSpeedAndDifficulty();

                if (Table.CheckSetWon(Table.firstPlayerPoints, Table.secondPlayerPoints))
                {
                    // check if set is won (player has at least 15 points and difference in points is more than 1)
                    Table.InitPoints();
                    Table.firstPlayerSetsWon++;


                    if (Table.CheckGameOver(Table.firstPlayerSetsWon))
                    {
                        // check if player won 3 sets -> game over
                        Console.SetCursorPosition((Console.WindowWidth / 2) + 6, Console.WindowHeight / 2);
                        Console.ForegroundColor = ConsoleColor.Blue;
                        Console.Write("GAME won by first Player!");
                        Console.ForegroundColor = ConsoleColor.Gray;
                        Sounds.WinThreeSets(); // Sounds Win Whole Game 10 sec
                        Thread.Sleep(10000);   // old value 5000
                        Environment.Exit(0);
                    }
                    else
                    {
                        Console.ForegroundColor = ConsoleColor.Blue;
                        Console.SetCursorPosition((Console.WindowWidth / 2) + 6, Console.WindowHeight / 2);
                        Console.Write("Set won by first Player!");
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        Console.SetCursorPosition((Console.WindowWidth / 2) + 6, (Console.WindowHeight / 2) + 2);
                        Console.Write("New set will begin in 5 sec...");
                        Console.ResetColor();
                        Sounds.Clapping();  // Sounds Set Win 5 sec
                        Thread.Sleep(5000);
                    }
                }

                ChangeBallDirX();
                Rackets.NewService();
            }

            if (ballPositionX >= Console.WindowWidth - 2)
            {
                // second player scores
                Table.secondPlayerPoints++;
                Sounds.MakePoints();
                BackToNormalGameSpeedAndDifficulty();

                if (Table.CheckSetWon(Table.secondPlayerPoints, Table.firstPlayerPoints))
                {
                    // check if set is won (player has at least 15 points and difference in points is more than 1)
                    Table.InitPoints();
                    Table.secondPlayerSetsWon++;


                    if (Table.CheckGameOver(Table.secondPlayerSetsWon))
                    {
                        // check if player won 3 sets -> game over
                        Console.SetCursorPosition(8, Console.WindowHeight / 2);
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.Write("GAME won by second Player!");
                        Console.ForegroundColor = ConsoleColor.Gray;
                        Sounds.WinThreeSets(); // Win Sounds Whole Game 10 sec
                        Thread.Sleep(10000);   // old value 5000
                        Environment.Exit(0);
                    }
                    else
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.SetCursorPosition(8, Console.WindowHeight / 2);
                        Console.Write("Set won by second Player!");
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        Console.SetCursorPosition(8, (Console.WindowHeight / 2) + 2);
                        Console.Write("New set will begin in 5 sec...");
                        Console.ResetColor();
                        Sounds.Clapping();  // Win Set 5 sec
                        Thread.Sleep(5000);
                    }
                }

                ChangeBallDirX();
                Rackets.NewService();
            }

            if (ballPositionY <= Table.offset + 1)
            {
                Sounds.WallHit();
                ChangeBallDirY();
            }

            if (ballPositionY >= Console.WindowHeight - 2)
            {
                Sounds.WallHit();
                ChangeBallDirY();
            }
        }