Example #1
0
        static void Main(string[] args)
        {
            Character character = new BasicCharacter();

            Console.WriteLine("Choose a difficulty:");
            Console.WriteLine("1.Hard; 2.Normal; 3.Easy");
            string difficulty = Console.ReadLine();

            Console.WriteLine("Choose a level:");
            string level = Console.ReadLine();
            MakeEventDifficulty eventMaker;

            switch (difficulty)
            {
            case "1":
                eventMaker = new MakeEventHard(level);
                break;

            case "2":
                eventMaker = new MakeEventNormal(level);
                break;

            default:
                eventMaker = new MakeEventEasy(level);
                break;
            }

            eventMaker.add(character);
            int endAt = Int32.Parse(level);

            for (int i = 0; i < endAt; i++)
            {
                Console.ReadKey();
                Event someEvent = eventMaker.getEvent();
                if (character.getUpdateStatus())
                {
                    someEvent.getBuffedCharacter(character);
                    Console.WriteLine("Choose a startegy:");
                    Console.WriteLine("1.Build a shelter.");
                    Console.WriteLine("2.Make some clothes to wear.");
                    Console.WriteLine("3.Go find a new area to live in.");
                    Console.WriteLine("Do nothing (type anything exept 1, 2 or 3)");
                    SurvivalStrategy strategy;
                    string           strategyChoice = Console.ReadLine();
                    switch (strategyChoice)
                    {
                    case "1":
                        strategy = new BuildingStrategy();
                        break;

                    case "2":
                        strategy = new DressingStrategy();
                        break;

                    case "3":
                        strategy = new ExploringStrategy();
                        break;

                    default:
                        strategy = new NothingStrategy();
                        break;
                    }

                    string strategyDescription = strategy.useStrategy();

                    Console.WriteLine(strategyDescription);

                    if (strategyDescription == "You do nothing")
                    {
                        character = someEvent.getBuffedCharacter(character);
                        eventMaker.removeAll();
                        eventMaker.add(character);
                        Console.WriteLine(character.getDescription());
                        Console.WriteLine("New moral is " + character.getMoral());

                        if (character.getMoral() <= 0)
                        {
                            Console.WriteLine("You got to the end of your desire to live. So you end it all.");
                            Console.WriteLine("G A M E  I S  O V E R !");
                            return;
                        }
                    }
                    else
                    {
                        Console.WriteLine("New moral is " + character.getMoral());
                    }
                }
                else
                {
                    character = someEvent.getBuffedCharacter(character);
                    eventMaker.removeAll();
                    eventMaker.add(character);
                    Console.WriteLine(character.getDescription());
                    Console.WriteLine("New moral is " + character.getMoral());

                    if (character.getMoral() <= 0)
                    {
                        Console.WriteLine("You got to the end of your desire to live. So you end it all.");
                        Console.WriteLine("G A M E  I S  O V E R !");
                        return;
                    }
                }
            }
            Console.WriteLine("G A M E  I S  O V E R !");

            Console.ReadKey();
        }