Ejemplo n.º 1
0
        private static Type GetChallengeTypeForDate(string date)
        {
            int year = 0;
            int day  = 0;

            string[] parts = date.Split('.');

            if (parts.Length == 1)
            {
                year = GetDefaultYear();
                int.TryParse(parts[0], out day);
            }
            else
            {
                int.TryParse(parts[0], out year);
                int.TryParse(parts[1], out day);
            }

            Type type = ChallengeManager.GetType(year, day);

            if (type == null)
            {
                Console.WriteLine($"Challenge not found for {year}.{day}");
            }

            return(type);
        }
Ejemplo n.º 2
0
        private static void RunMode(string date)
        {
            Type type = (date == null ? GetMostRecentChallengeType() : GetChallengeTypeForDate(date));

            if (type != null)
            {
                ChallengeManager.Run(type);
            }
        }
Ejemplo n.º 3
0
        private static int GetMostRecentChallengeDay()
        {
            int year = GetDefaultYear();

            for (int day = GetDefaultDay(); day >= 1; day--)
            {
                Type type = ChallengeManager.GetType(year, day);
                if (type != null)
                {
                    return(day);
                }
            }

            Console.WriteLine($"No challenges found in {year}");
            return(0);
        }
Ejemplo n.º 4
0
        private static void CreateNextChallenge(string yearStr)
        {
            if (!int.TryParse(yearStr, out int year))
            {
                year = GetDefaultYear();
            }

            int day = 1;

            while (ChallengeManager.GetType(year, day) != null)
            {
                day++;
            }

            if (day > 25)
            {
                Console.WriteLine($"All {year} challenges already exist");
                return;
            }

            ChallengeManager.Create(year, day);
            Console.WriteLine($"Created {year}.{day} challenge");
        }
Ejemplo n.º 5
0
        private static void TestRange(Range years, Range days)
        {
            for (int year = years.min; year <= years.max; year++)
            {
                bool wasYearHeaderDrawn = false;
                Console.ForegroundColor = ConsoleColor.Yellow;
                for (int day = days.min; day <= days.max; day++)
                {
                    Type type = ChallengeManager.GetType(year, day);
                    if (type == null)
                    {
                        continue;
                    }

                    if (!wasYearHeaderDrawn)
                    {
                        wasYearHeaderDrawn = true;
                        Console.WriteLine($"-- {year} --");
                    }

                    ChallengeManager.Test(type);
                }
            }
        }