public static void Aja() { WriteLine("Noppa-peli"); Pelaaja yksi = new Pelaaja(Helpers.Syote.Merkkijono("Pelaajan 1 nimi: ")); Pelaaja kaksi = new Pelaaja(Helpers.Syote.Merkkijono("Pelaajan 2 nimi: ")); Noppa eka = new Noppa(); Noppa toka = new Noppa(); int heittokierros = 1; double pelaaja1tulos; double pelaaja2tulos; do { WriteLine($"Heittokierros {heittokierros}"); WriteLine($"{yksi.getNimi()}: {eka.Heita()} + {toka.Heita()} = {eka.Lukema + toka.Lukema}"); pelaaja1tulos = eka.Lukema + toka.Lukema; WriteLine($"{kaksi.getNimi()}: {eka.Heita()} + {toka.Heita()} = {eka.Lukema + toka.Lukema}"); pelaaja2tulos = eka.Lukema + toka.Lukema; heittokierros++; ReadKey(); if (pelaaja1tulos == pelaaja2tulos) { yksi.Pisteet = yksi.Pisteet; kaksi.Pisteet = kaksi.Pisteet; } else if (pelaaja1tulos > pelaaja2tulos) { yksi.Pisteet++; kaksi.Pisteet = 0; } else { kaksi.Pisteet++; yksi.Pisteet = 0; } } while (VOITONPISTERAJA > yksi.Pisteet && VOITONPISTERAJA > kaksi.Pisteet); WriteLine(); if (yksi.Pisteet > kaksi.Pisteet) { WriteLine($"Pelin voittaja on {yksi.getNimi()} ja noppia heitettiin {eka.HeittoLkm / 2} kertaa!"); } else { WriteLine($"Pelin voittaja on {kaksi.getNimi()} ja noppia heitettiin {toka.HeittoLkm / 2} kertaa!"); } }
//Metodit public static void Aja() { //Pelaaja -oliot Pelaaja p1 = new Pelaaja(Helpers.Syote.Merkkijono("Pelaajan 1 nimi:")); Pelaaja p2 = new Pelaaja(Helpers.Syote.Merkkijono("Pelaajan 2 nimi:")); //Noppa -oliot Noppa n1 = new Noppa(); Noppa n2 = new Noppa(); while (true) { //Heittokierroksen määräytyminen HeittoLkm:n avulla if (n1.HeittoLkm == 0) { WriteLine($"Heittokierros 1"); } else if (n1.HeittoLkm != 0) { WriteLine($"Heittokierros {(n1.HeittoLkm / 2) + 1}"); } //Noppien heittely WriteLine($"{p1.Nimi}: {n1.Heita()} + {n2.Heita()} = {n1.Lukema + n2.Lukema}"); int p1p = n1.Lukema + n2.Lukema; //Muuttujaan tallennettu yhteenlaskettu tulos WriteLine($"{p2.Nimi}: {n1.Heita()} + {n2.Heita()} = {n1.Lukema + n2.Lukema}"); int p2p = n1.Lukema + n2.Lukema; //Muuttujaan tallennettu yhteenlaskettu tulos //Yhteenlaskettujen silmälukujen vertailu if (p1p > p2p) { p1.Pisteet++; p2.Pisteet = 0; } else if (p2p > p1p) { p2.Pisteet++; p1.Pisteet = 0; } //Jos jommankumman pelaajan pisteet saavuttavat voittoon tarvittavan määrän, //looppi katkeaa if (p1.Pisteet == VOITONPISTERAJA) { WriteLine(); WriteLine($"Pelin voittaja on {p1.Nimi} ja noppia heitettiin {n1.HeittoLkm / 2} kertaa!"); WriteLine(); break; } else if (p2.Pisteet == VOITONPISTERAJA) { WriteLine(); WriteLine($"Pelin voittaja on {p2.Nimi} ja noppia heitettiin {n1.HeittoLkm / 2} kertaa!"); WriteLine(); break; } } }
public static void Aja() { //Riveillä 20-40 luodaan ohjelmassa käytettävät oliot. //Käytetään pelin voittajan tulostukseen. bool Pelaaja1Voitti = false; WriteLine("Noppa-peli"); Write("Pelaajan 1 nimi: "); Pelaaja Pelaaja1 = new Pelaaja(Vainkirjaimia(ReadLine())); Write("Pelaajan 2 nimi: "); Pelaaja Pelaaja2 = new Pelaaja(Vainkirjaimia(ReadLine())); //Jos pelaajalle2 annetaan sama nimi kuin pelaajalle nimeä pyydetään uudelleen. while (Pelaaja1.Nimi == Pelaaja2.Nimi) { Write($"Et voi valita samaa nimeä kuin pelaaja1({Pelaaja1.Nimi}), valitse uudestaan: "); Pelaaja2 = new Pelaaja(Vainkirjaimia(ReadLine())); } Noppa Noppa1 = new Noppa(); Noppa Noppa2 = new Noppa(); Noppa Noppa3 = new Noppa(); Noppa Noppa4 = new Noppa(); //Suoritetaan looppia kunnes toinen pelaaja saa pisteet voittoon. while (Pelaaja1.Pisteet != VOITONPISTERAJA && Pelaaja2.Pisteet != VOITONPISTERAJA) { //Pelaajan1 nopat per pelivuoro. Noppa1.Heita(); Noppa2.Heita(); //Pelaajan2 nopat per pelivuoro. Noppa3.Heita(); Noppa4.Heita(); //Tulostaa heittokierroksen lukumäärän, noppa olion1 perusteella (olisi voinut käyttää mitä noppa oliota tahansa). WriteLine($"Heittokierros {Noppa2.HeittoLkm}"); //Tulostaa pelaajille riveillä 50 ja 51 arvotut noppaluvut ja niiden summan. WriteLine($"{Pelaaja1.Nimi}: {Noppa1.Lukema} + {Noppa2.Lukema} = {Noppa1.Lukema + Noppa2.Lukema}"); WriteLine($"{Pelaaja2.Nimi}: {Noppa3.Lukema} + {Noppa4.Lukema} = {Noppa3.Lukema + Noppa4.Lukema}"); //Riveillä 62-73 annetaan pisteet sille kummalla on suurempi noppasumma, //nollataan kierroksen häviäjän pisteet ja asetetaan pelaaja1 joko kierroksen voittajaksi tai ei voittajaksi.(Kun while loop päättyy tarkistan tällä kumpi voitti pelin) if (Noppa1.Lukema + Noppa2.Lukema > Noppa3.Lukema + Noppa4.Lukema) { Pelaaja1.Pisteet++; Pelaaja2.Pisteet = 0; Pelaaja1Voitti = true; } if (Noppa3.Lukema + Noppa4.Lukema > Noppa1.Lukema + Noppa2.Lukema) { Pelaaja2.Pisteet++; Pelaaja1.Pisteet = 0; Pelaaja1Voitti = false; } } //Jos pelaaja1 voitti tulostetaan hänet voittajaksi. if (Pelaaja1Voitti) { WriteLine($"Pelin voittaja on {Pelaaja1.Nimi} ja noppia heitettiin {Noppa1.HeittoLkm} kertaa!"); } //Jos pelaaja2 voitti tulostetaan hänet voittajaksi. else { WriteLine($"Pelin voittaja on {Pelaaja2.Nimi} ja noppia heitettiin {Noppa1.HeittoLkm} kertaa!"); } }
public static void Aja() { //Varsinainen pelin algoritmi //Kysyy pelaajien 1 ja 2 nimet ja perustaa niille Pelaaja-oliot //Perustaa Noppa-oliot WriteLine("Noppa-peli"); string nimi1; nimi1 = Merkkijono("Pelaajan 1 nimi:"); Noppa noppa1 = new Noppa(); Noppa noppa2 = new Noppa(); Pelaaja eka = new Pelaaja(nimi1); Console.Write("Pelaajan 2 nimi: "); Pelaaja toka = new Pelaaja(nimi: (Console.ReadLine())); do { //int n1 = ensimmäisen pelaajan nopanheittojen yhteenlaskettu tulos //int n2 = toisen pelaajan nopanheittojen yhteenlaskettu tulos int n1 = 0; int n2 = 0; noppa1.Heita(); noppa2.Heita(); n1 = noppa1.Lukema + noppa2.Lukema; WriteLine($"Heittokierros {noppa1.HeittoLkm}"); Write($"{eka.Nimi}: "); WriteLine($"{noppa1.Lukema} + {noppa2.Lukema} = {n1}"); Write($"{toka.Nimi}: "); noppa1.Heita(); noppa2.Heita(); n2 = noppa1.Lukema + noppa2.Lukema; WriteLine($"{noppa1.Lukema} + {noppa2.Lukema} = {n2}"); noppa1.HeittoLkm--; //Pelaajien pisteiden laskeminen annettujen sääntöjen mukaisesti. Kierroksen häviäjän pisteet nollataan ja voittajan pisteitä nostetaan yhdellä //Kun jompikumpi pelaaja saavuttaa 3 pistettä, ohjelma kertoo voittajan nimen ja kuinka monta kierrosta pelattiin if (n1 > n2) { eka.Pisteet++; toka.Pisteet = 0; } if (n1 == n2) { } if (n2 > n1) { toka.Pisteet++; eka.Pisteet = 0; } if (eka.Pisteet == VOITONPISTERAJA || toka.Pisteet == VOITONPISTERAJA) { break; } ReadKey(); } while (true); if (eka.Pisteet == 3) { WriteLine(); WriteLine($"Pelin voittaja on {eka.Nimi} ja noppia heitettiin {noppa1.HeittoLkm} kertaa!"); } else { WriteLine(); WriteLine($"Pelin voittaja on {toka.Nimi} ja noppia heitettiin {noppa1.HeittoLkm} kertaa!"); } }