Initial commit
This commit is contained in:
commit
c6f9ce44d9
12 changed files with 4538 additions and 0 deletions
85
VocabularyTrainer/Program.cs
Normal file
85
VocabularyTrainer/Program.cs
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
using Figgle;
|
||||
using System.Text;
|
||||
using VocabularyTrainer;
|
||||
|
||||
Console.OutputEncoding = Encoding.UTF8;
|
||||
|
||||
Console.WriteLine($"*** Vocabulary Trainer ***{Environment.NewLine}");
|
||||
|
||||
var trainer = new Trainer(ReadTranslationsFromFile());
|
||||
var option = 1;
|
||||
do
|
||||
{
|
||||
switch (option)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
trainer.PerformTrainingCycle();
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
trainer.PrintStatistics();
|
||||
break;
|
||||
}
|
||||
// why don't we have to check for case 3 here?
|
||||
default:
|
||||
{
|
||||
Console.WriteLine("Invalid option");
|
||||
break;
|
||||
}
|
||||
}
|
||||
option = ReadOption();
|
||||
} while (option != 3);
|
||||
|
||||
PrintGoodbye();
|
||||
|
||||
return;
|
||||
|
||||
static int ReadOption()
|
||||
{
|
||||
Console.ForegroundColor = ConsoleColor.DarkCyan;
|
||||
Console.WriteLine("(1) Another try?");
|
||||
Console.WriteLine("(2) Print Statistics");
|
||||
Console.WriteLine("(3) Quit");
|
||||
Console.Write("Please select an option: ");
|
||||
Console.ResetColor();
|
||||
|
||||
int option;
|
||||
string? input;
|
||||
do
|
||||
{
|
||||
input = Console.ReadLine();
|
||||
if (string.IsNullOrWhiteSpace(input))
|
||||
{
|
||||
Console.WriteLine("Invalid input, try again");
|
||||
}
|
||||
} while (!int.TryParse(input, out option) || option is < 1 or > 3);
|
||||
return option;
|
||||
}
|
||||
|
||||
static void PrintGoodbye()
|
||||
{
|
||||
Console.Clear();
|
||||
Console.ForegroundColor = ConsoleColor.DarkCyan;
|
||||
Console.WriteLine(
|
||||
FiggleFonts.Standard.Render("Bye!"));
|
||||
Console.Write("Press any key to finish ... ");
|
||||
Console.ResetColor();
|
||||
Console.ReadKey();
|
||||
}
|
||||
|
||||
static string[][] ReadTranslationsFromFile()
|
||||
{
|
||||
// we assume the file exists and is valid - this time
|
||||
string[] lines = File.ReadAllLines("Data/translations.csv");
|
||||
var words = new string[lines.Length - 1][];
|
||||
for (var i = 0; i < words.Length; i++)
|
||||
{
|
||||
string line = lines[i + 1];
|
||||
string[] parts = line.Split(';');
|
||||
words[i] = parts;
|
||||
}
|
||||
|
||||
return words;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue