Ejemplo n.º 1
0
        public static void NextPlay()
        {
            swing.Message("Continue or end ?(y/n)");
            ConsoleKeyInfo k; //= new ConsoleKeyInfo();

            do
            {
                k = Console.ReadKey();
            } while (char.ToLower(k.KeyChar) != 'y' && char.ToLower(k.KeyChar) != 'n');

            if (char.ToLower(k.KeyChar) == 'y')
            {
                swing          = new Swing();
                swing.ExitFlag = false;
                swing.endFlag  = true;
                Console.Clear();
                swing.PrintForm(ref swing.currentPosision);
                swing.currentPosision = Console.CursorTop;

                //swing.LstPoints = new List<Points>();
            }
            else
            {
                swing.ExitFlag = true;
            }
        }
Ejemplo n.º 2
0
        public void Swing(double angle, double velocity)
        {
            // Skapa svingen med hjälp av vinkeln och styrkan
            Swing swing = new Swing(angle, velocity, this);

            // Lägger till svingen till listan
            Swings.Add(swing);

            // Ökar slagräknaren
            this.SwingCounter++;

            // Ifall vi är inom tolleransen av vad som är att bollen är i hålet
            if (this.DistanceFromHole
                <= Course.Tolerance)
            {
                this.HasEnded = true;
                this.HasWon   = true;

                // Ifall bollen har flugit utanför gränsen
            }
            else if (this.DistanceFromHole > (CourseLength + CourseRough))
            {
                this.IsOutOfBounds = true;
                this.HasEnded      = true;
                this.HasLost       = true;
            }
        }
Ejemplo n.º 3
0
        public void Swing(double angle, double velocity)
        {
            Swing swing = new Swing(angle, velocity, this);

            Swings.Add(swing);
            this.SwingCounter++;
            if (this.DistanceFromHole <= Ball.Tolerance)
            {
                this.Ended = true;
                this.Won   = true;
            }
            else if (this.DistanceFromHole > Rough)
            {
                this.IsOutOfBounds = true;
                this.Ended         = true;
                this.Lost          = true;
            }
        }
Ejemplo n.º 4
0
        public static int Goal    = 0;                                  // som spelaren försöker nå.



        public static void Main(string[] args)
        {
            Swing swing = new Swing();
            Cup   cup   = new Cup();

            while (Ball != Goal)                                        // Här börjar loopen som fortsätter till spelaren har antingen
            {                                                           // vunnit eller kommit till en exception.
                Console.Clear();
                cup.TooMany();
                cup.Edge();                                             // Här kallar konsolen på all metoder, och dom börjar med att kolla om spelaren har lyckats
                cup.Show();                                             // misslyckas genom att slagit för mycket eller för långt, sedan visar konsolen hur långt det
                swing.Hit();                                            // är kvar och hur många gånger spelaren har skjutit.
                swing.Power();
                swing.Dist();                                           // Sedan frågar konsolen om vinkeln och velocity, och räknar ut distansen utav det, och lägger
                cup.AddSwing();                                         // slaget i listan. Den fortsätter tills man har lyckats, och då får man se hur måga gånger det
            }                                                           // tog, och hur långt man åkte med varje slag.
            Console.Clear();
            cup.ShowSwings();
        }
Ejemplo n.º 5
0
        static void Main(string[] args)
        {
            double finalDestination  = 550;
            double remainingDistance = finalDestination;
            double previousDistance  = 0;
            int    maxSwingsAllowed  = 10;

            Console.WriteLine("Welcome to the Golf Game");
            Console.WriteLine("*****************************************************");
            Console.WriteLine($"Game rules\n Total course distance {finalDestination} " +
                              $"\n {maxSwingsAllowed} number of swings allowed");
            Console.WriteLine("*****************************************************");
            Console.Write("Enter name for your Player: ");
            name = Console.ReadLine();

            try
            {
                while (true)
                {
                    Console.WriteLine("*****************************************************");
                    Console.Write("Enter the angle for the ball swing between 1 to 90 degree : ");
                    double angle = Convert.ToDouble(Console.ReadLine());

                    Console.Write("Enter positive value for the Velocity : ");
                    double velocity = Convert.ToDouble(Console.ReadLine());


                    if (velocity <= 0 || angle <= 0 || angle >= 90)
                    {
                        Console.WriteLine("Invalid Angle or Velocity. Try again");
                        continue;
                    }

                    Console.WriteLine("*****************************************************");
                    Swing swing = new Swing(angle, velocity);
                    swing.CalculateSwingDistance();
                    Console.WriteLine($"You have hit the ball {swing.SwingDistance} meters");

                    swing.CalculateCurrentDistance(previousDistance);
                    previousDistance = swing.CurrentDistance;
                    Console.WriteLine($"Your ball is at distance {previousDistance} meters from the initial point. ");

                    swing.CalculateRemainingDistance(remainingDistance);
                    remainingDistance = swing.RemainingDistance;
                    Console.WriteLine($"Your ball is {swing.RemainingDistance} meters away from the Cup");

                    swingList.Add(swing);

                    Console.WriteLine($"{name} has {maxSwingsAllowed - swingList.Count} swings left");

                    if (swing.RemainingDistance == 0)
                    {
                        Console.WriteLine("--------------------------------------------------------");
                        Console.WriteLine("CONGRATULATIONS!!! \n Your Ball reached the Cup");
                        DisplaySummary();
                        break;
                    }

                    else if (swing.RemainingDistance > finalDestination)
                    {
                        throw new BallOutOfCourse();
                    }

                    else if (swingList.Count >= maxSwingsAllowed)
                    {
                        throw new TooManySwings();
                    }

                    else if (swing.RemainingDistance > 0)
                    {
                        continue;
                    }
                }
            }

            catch (BallOutOfCourse ex)
            {
                Console.WriteLine(ex.Message);
            }

            catch (TooManySwings ex)
            {
                Console.WriteLine(ex.Message);
            }
            Console.ReadLine();
        }