private Frage Zufällig_auswählen(IEnumerable<Frage> fragen) { var anzahl_fragen = fragen.Count(); if (anzahl_fragen == 0 || anzahl_gestellter_Fragen == MAX_FRAGEN) { return null; } anzahl_gestellter_Fragen++; var index = random(anzahl_fragen); aktuelle_Frage = fragen.ElementAt(index); return aktuelle_Frage; }
public void Fragen_anzeigen(Frage frage) { if (frage == null) { Beendet(); return; } Console.WriteLine("{0} : ", frage.Fragetext); var antwort = Console.ReadLine(); Antwort_gegeben(antwort); }
public IEnumerable<Frage> Fragen_laden() { var zeilen = File.ReadAllLines(Dateiname).ToArray(); foreach (var zeile in zeilen) { var werte = zeile.Split(new[] { " / " }, StringSplitOptions.None); var frage = new Frage { Fragetext = werte[0], KorrekteAntwort = werte[1], Kategorie = int.Parse(werte[2]), Nächste_Präsentation = string.IsNullOrWhiteSpace(werte[3]) ? DateTime.Now : DateTime.Parse(werte[3]) }; yield return frage; } }
public Frage Nächste_Präsentation_korrigieren(Frage frage) { switch (frage.Kategorie) { case 1: frage.Nächste_Präsentation = now(); break; case 2: frage.Nächste_Präsentation = now().AddDays(2); break; case 3: frage.Nächste_Präsentation = now().AddDays(7); break; case 4: frage.Nächste_Präsentation = now().AddDays(30); break; case 5: frage.Nächste_Präsentation = now().AddDays(90); break; default: throw new NotImplementedException("Kategorie '" + frage.Kategorie + "' ist nicht vorgesehen"); } return frage; }
private Frage Kategorie_hochstufen(Frage frage) { if (frage.Kategorie < MAX_KATEGORIE) { frage.Kategorie++; } return frage; }
private Frage Kategorie_zurückstufen(Frage frage) { if (frage.Kategorie > MIN_KATEGORIE) { frage.Kategorie--; } return frage; }
private string Falsch_Meldung_erzeugen(Frage frage) { return string.Format("Falsch. Richtig gewesen wäre '{0}'", frage.KorrekteAntwort); }
private string Richtig_Meldung_erzeugen(Frage frage) { return "Richtig"; }