static void Main(string[] args) { KyselyMoottori km = new KyselyMoottori(); if (km.HaeKysymykset()) { // Kysymysten haku onnistui, aloitetaan peli int kysMaara = 10; char[] vastausEtuliitteet = { 'A', 'B', 'C', 'D' }; for (int i = 0; i < kysMaara; i++) { Kysymys kysymys = km.AnnaKysymys(); Console.WriteLine($"Kysymys {i+1}: {kysymys.KysymysTeksti}"); //int counter = 0; //foreach (string vaihtoehto in kysymys.Vaihtoehdot) //{ // Console.WriteLine($"{counter}vastausEtuliitteet[]}\t{vaihtoehto}"); // counter++; //} for (int x = 0; x < kysymys.Vaihtoehdot.Count(); x++) { Console.WriteLine($"\t{vastausEtuliitteet[x]}: {kysymys.Vaihtoehdot[x]}"); } string vastaus; do { Console.Write("Anna vastaus: "); vastaus = Console.ReadLine(); } while (!kysymys.ValidoiVastaus(vastaus)); if (kysymys.Tarkasta(vastaus)) { Console.WriteLine("> Oikein!"); km.Pisteet++; } else { Console.WriteLine("> Väärin!"); } Console.WriteLine("-"); } Console.WriteLine("-----------------------"); Console.WriteLine($"Kysely loppui, pisteesi: {km.Pisteet}/{kysMaara}"); // Pelin koodi loppuu } else { // KYsymysten haku epäonnistui, lopetetaan suorittaminen Console.WriteLine("Kysymysten haku epäonnistui!"); } Console.ReadKey(); }
public static void Main(string[] args) { Console.WriteLine("Mikä kysely aloitetaan? (1 / 2 / 3)"); int kysNro = int.Parse(Console.ReadLine()); switch (kysNro) { case 1: do { Program ohjelma = new Program(); List <string[]> kokoLista = new List <string[]>(); try { using (var lukija = new StreamReader("../../kysymykset.txt")) { String rivi; while ((rivi = lukija.ReadLine()) != null) { kokoLista.Add(rivi.Split(';')); } } } catch (FileNotFoundException) { Console.WriteLine("Tiedostoa ei löytynyt"); } catch (Exception) { Console.WriteLine("Joku muu virhe sattui."); } Random randIndex = new Random(); List <Kysymys> Oliot = new List <Kysymys>(); Console.WriteLine("Tervetuloa! Aloita peli painamalla jotakin nappia."); Console.ReadLine(); Console.Write("Montako kysymystä haluat? (1-10) "); int kysymystenMaara = int.Parse(Console.ReadLine()); while (kysymystenMaara > 10 || kysymystenMaara < 1) { Console.WriteLine("Epäkelpo arvo. Anna uusi."); kysymystenMaara = int.Parse(Console.ReadLine()); } ArrayList kysyttyjenIndeksit = new ArrayList(); for (int i = 0; i < kysymystenMaara; i++) { int arvottuRiviNr = randIndex.Next(0, kokoLista.Count - 1); // Estetään saman kysymyksen tuleminen uudestaan if (kysyttyjenIndeksit.Contains(arvottuRiviNr)) { arvottuRiviNr = randIndex.Next(0, kokoLista.Count - 1); } kysyttyjenIndeksit.Add(arvottuRiviNr); //tehdään olio listan alkiosta jonka indeksi on arvottuRivi Kysymys kysymysOlio = new Kysymys(arvottuRiviNr, kokoLista); kysyttyjenIndeksit.Add(arvottuRiviNr); Oliot.Add(kysymysOlio); } kysyttyjenIndeksit.Clear(); string viesti = ""; TulostaKysymyksetJaTarkista(Oliot, ohjelma); if (ohjelma.Pistelaskuri <= (kysymystenMaara / 2)) { viesti = "Ei mennyt ihan putkeen!"; } else { viesti = "Tosi hyva!!!"; } Console.WriteLine("Peli on nyt ohi. Vastasit oikein {0}/{1} kysymykseen. {2}", ohjelma.Pistelaskuri, kysymystenMaara, viesti); kokoLista.Clear(); Console.WriteLine("Haluatko pelata uudestaan? k/e?"); } while (Console.ReadLine() == "k"); break; case 2: { KyselyMoottori km = new KyselyMoottori(); if (km.HaeKysymykset()) { // Kysymysten haku onnistui, aloitetaan peli int kysMaara = 10; char[] vastausEtuliitteet = { 'A', 'B', 'C', 'D' }; for (int i = 0; i < kysMaara; i++) { Kysymys2 kysymys2 = km.AnnaKysymys(); Console.WriteLine($"Kysymys {i + 1}: {kysymys2.KysymysTeksti}"); //int counter = 0; //foreach (string vaihtoehto in kysymys.Vaihtoehdot) //{ // Console.WriteLine($"{counter}vastausEtuliitteet[]}\t{vaihtoehto}"); // counter++; //} for (int x = 0; x < kysymys2.Vaihtoehdot.Count(); x++) { Console.WriteLine($"\t{vastausEtuliitteet[x]}: {kysymys2.Vaihtoehdot[x]}"); } string vastaus; do { Console.Write("Anna vastaus: "); vastaus = Console.ReadLine(); } while (!kysymys2.ValidoiVastaus(vastaus)); if (kysymys2.Tarkasta(vastaus)) { Console.WriteLine("> Oikein!"); km.Pisteet++; } else { Console.WriteLine("> Väärin!"); } Console.WriteLine("-"); } Console.WriteLine("-----------------------"); Console.WriteLine($"Kysely loppui, pisteesi: {km.Pisteet}/{kysMaara}"); // Pelin koodi loppuu } else { // KYsymysten haku epäonnistui, lopetetaan suorittaminen Console.WriteLine("Kysymysten haku epäonnistui!"); } Console.ReadKey(); break; } case 3: { Kysymys3 kysymys3 = new Kysymys3(); string vastaus = ""; int pisteet = 0; for (int i = 0; i < 10; i++) { Console.WriteLine(kysymys3.KysyKysymys()); Console.Write("Vastaus: "); vastaus = Console.ReadLine(); if (vastaus == "k" || vastaus == "K") { pisteet++; Console.WriteLine("Oikea vastaus!"); } else { Console.WriteLine("Vastaus väärin :( "); } } Console.WriteLine("Pistemääräsi on: " + pisteet); Console.ReadLine(); break; } default: Console.Write("Epäkelpo arvo"); Console.ReadLine(); break; } }