public static string[] SelectLanguageWords(string name, string language) { WordList loadedList = WordList.LoadList(name); List <string> wordList = new List <string>(); int languageCount = loadedList.Languages.Length; int languageIndex = 0; for (int i = 0; i < loadedList.Languages.Length; i++) { if (loadedList.Languages[i] == language.ToLower()) { languageIndex = i; break; } } loadedList.List(languageIndex, translations => { for (int i = languageIndex; i < translations.Length; i += languageCount) { wordList.Add(translations[i]); } }); return(wordList.ToArray()); }
public static IEnumerable <string[]> AllWords(string args) { WordList loadedList = WordList.LoadList(args); int languageCount = loadedList.Languages.Length; List <string> wordList = new List <string>(); loadedList.List(0, translations => { for (int i = 0; i < translations.Length; i++) { wordList.Add(translations[i]); } }); for (int row = 0; row < wordList.Count / languageCount; row++) { string[] words = new string[languageCount]; for (int column = 0; column < languageCount; column++) { words[column] = wordList[(row * languageCount) + column].Capitalize(); } yield return(words); } }
public static void Add(string name, string[] translations) { WordList loadedList = WordList.LoadList(name); loadedList.Add(translations); loadedList.Save(); }
public static void Words(string[] args) { if (args.Length > 1) { if (File.Exists($"{WordList.LocalApplicationDirectory}{args[1]}.dat")) { WordList loadedList = WordList.LoadList(args[1]); if (loadedList.Count() != 0) { foreach (string language in loadedList.Languages) { Console.Write($"{language.ToUpper(),-15}"); } int languageIndex = 0; if (args.Length == 3) { for (int index = 0; index < loadedList.Languages.Length; index++) { if (loadedList.Languages[index] == args[2]) { languageIndex = index; break; } } } loadedList.List(languageIndex, translations => { for (int i = 0; i < translations.Length; i++) { if (i % loadedList.Languages.Length == 0) { Console.WriteLine(); } Console.Write($"{translations[i],-15}"); } }); } else { Console.WriteLine("List doesn't contain any words."); } } else { Console.WriteLine("Could not find list."); } } else { Console.WriteLine("Please provide list name."); } }
public static void Practice(string[] args) { if (args.Length > 1) { if (File.Exists($"{WordList.LocalApplicationDirectory}{args[1]}.dat")) { WordList loadedList = WordList.LoadList(args[1]); int total = 0; int correct = 0; string wordInput = ""; do { Word word = loadedList.GetWordToPractice(); Console.Write( $"Enter the {loadedList.Languages[word.ToLanguage]} " + $"translation for the {loadedList.Languages[word.FromLanguage]} " + $"word {word.Translations[word.FromLanguage]}: "); wordInput = Console.ReadLine(); if (wordInput == word.Translations[word.ToLanguage]) { Console.WriteLine("Correct answer."); total++; correct++; continue; } else if (wordInput == "") { break; } Console.WriteLine("Wrong answer."); total++; } while (wordInput != ""); Console.WriteLine($"You answered {correct} correct out of {total} total."); } else { Console.WriteLine("Could not find list."); } } else { Console.WriteLine("Enter a list name."); } }
public static string[] Languages(string args) { WordList loadedList = WordList.LoadList(args); string[] languages = new string[loadedList.Languages.Length]; for (int i = 0; i < languages.Length; i++) { languages[i] = loadedList.Languages[i]; } return(languages); }
public static void Add(string[] args) { if (args.Length > 1) { if (File.Exists($"{WordList.LocalApplicationDirectory}{args[1]}.dat")) { WordList loadedList = WordList.LoadList(args[1]); string[] wordInput = new string[loadedList.Languages.Length]; do { if (!wordInput.Contains(null)) { loadedList.Add(wordInput); loadedList.Save(); } Console.WriteLine("Enter translations for the new word:"); for (int i = 0; i < wordInput.Length; i++) { Console.Write($"Enter {loadedList.Languages[i]} translation: "); wordInput[i] = Console.ReadLine(); if (wordInput[i] == "") { break; } } } while (!wordInput.Contains("")); loadedList.Save(); } else { Console.WriteLine("Could not find list."); } } else { Console.WriteLine("No list name was entered."); } }
public static void Count(string[] args) { if (args.Length > 1) { if (File.Exists($"{WordList.LocalApplicationDirectory}{args[1]}.dat")) { WordList loadedList = WordList.LoadList(args[1]); Console.WriteLine($"There are {loadedList.Count()} words in {args[1]}."); } else { Console.WriteLine("Could not find list."); } } else { Console.WriteLine("Enter a list name."); } }
public static void Remove(string[] args) { if (args.Length > 3) { if (File.Exists($"{WordList.LocalApplicationDirectory}{args[1]}.dat")) { WordList loadedList = WordList.LoadList(args[1]); string[] words = new string[args.Length - 3]; for (int i = 0; i < words.Length; i++) { words[i] = args[i + 3]; } for (int index = 0; index < loadedList.Languages.Length; index++) { if (loadedList.Languages[index] == args[2]) { foreach (string word in words) { if (loadedList.Remove(index, word)) { Console.WriteLine($"Removed {word} and it's translations."); } else { Console.WriteLine("Could not find word."); return; } } loadedList.Save(); return; } } Console.WriteLine($"Can not find language in file."); } else { Console.WriteLine("Could not find file."); } } else { if (args.Length == 1) { Console.WriteLine("Please provide list name, language and word."); return; } else if (args.Length == 2) { Console.WriteLine("Please provide language and word."); return; } else { Console.WriteLine("Please provide word."); } } }
public static void Remove(string name, Word wordToRemove) { WordList loadedList = WordList.LoadList(name); loadedList.Remove(0, wordToRemove.Translations[0]); }
public static int Count(string args) { WordList loadedList = WordList.LoadList(args); return(loadedList.Count()); }