/// <summary> /// Метод заполнения массива загадок из файла /// </summary> /// <param name="fileName">полный путь к файлу</param> /// <returns></returns> public Riddler[] GetDataBase(string fileName) { int j = 0; string[] database; if (File.Exists(fileName)) { database = File.ReadAllLines(fileName); if (database.Length % 3 == 0) { Riddler[] game = new Riddler[database.Length / 3]; for (int i = 0; i < database.Length; i = i + 3) { game[j] = new Riddler(); game[j].question = database[i]; game[j].answer = database[i + 1].Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries); game[j].comment = database[i + 2]; j++; } return(game); } else { throw new Exception("не корректный формат файла"); } } else { throw new FileNotFoundException(); } }
static void Main(string[] args) { #region Инициализация объектов класса заданий Task1 task1 = new Task1(); MyMessege task2 = new MyMessege(); MyMessege task3 = new MyMessege(); USE_Task4 task4 = new USE_Task4(); Riddler task5 = new Riddler(); #endregion string answer = "0";; Console.WriteLine("Доброго время суток, пользователь. Добро пожаловать в домашнюю работу к уроку 5 курса Основы C#"); string fileName; do { Console.Write("Выбери задание,выполнение которое желаешь просмотреть:\n1.Корректность ввода логина и пароля, относительно шаблона\n2.Работа класса Messege\n3.Проверка 2-ух строк на предмет перестановочности символов\n4.Задача ЕГЭ\n5.Занимательные загадочки!)\nДля выхода введи 0\nТвой ответ=>"); if ((answer = Console.ReadLine()) == "1") { fileName = AppDomain.CurrentDomain.BaseDirectory + "Account.txt"; task1.RunTask1(fileName); } else if (answer == "2") { fileName = AppDomain.CurrentDomain.BaseDirectory + "ForMyMessege.txt"; task2.RunTask2(fileName); } else if (answer == "3") { task3.RunTask3(); } else if (answer == "4") { fileName = AppDomain.CurrentDomain.BaseDirectory + "BaseStudent.txt"; task4.RunTask4(fileName); } else if (answer == "5") { fileName = AppDomain.CurrentDomain.BaseDirectory + "Riddles.txt"; task5.RunTask5(fileName); } else if (answer != "0") { Console.WriteLine("Вы ввели не корректный номер задания. Повторите ввод."); } }while (answer != "0"); Console.WriteLine("До встречи на домашних работах к следующим урокам."); Console.ReadKey(); }
/// <summary> /// Метод удаления сыгранной загадки /// </summary> /// <param name="number">индекс сыгранный загадки</param> /// <param name="game">массив загадок</param> /// <returns></returns> static Riddler[] DeleteRiddle(int number, Riddler[] game) { int j = 0; Riddler[] tempgame = new Riddler[(game.Length - 1)]; for (int i = 0; i < game.Length; i++) { if (i != number) { tempgame[j] = game[i]; j++; } } return(tempgame); }
/// <summary> /// Проверка пользовательского ответа на загадку /// </summary> /// <param name="stage">активная загадка</param> /// <returns></returns> public bool CheckAnswerUs(Riddler stage) { string ansUs; int count = 0; Console.Write("Ваш ответ?=>"); ansUs = Console.ReadLine(); foreach (string el in stage.answer) { if (el.ToLower() == ansUs.ToLower()) { Console.WriteLine("И это..."); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine($"ПРАВИЛЬНЫЙ ОТВЕТ! \n {stage.comment}\nСписок ответов, считающихся правильными: "); stage.PrintAnswer(); PauseAndClear(); return(true); } } return(false); }