// metodo statico per l'input da tastiera del numero di facce del dado che si vuole lanciare static public Dado LeggiDado() { int n; Console.WriteLine("Inserire il numero di facce del dado: "); string userInput = Console.ReadLine(); n = Convert.ToInt32(userInput); Dado dado = new Dado(n); return(dado); }
static void Main(string[] args) { List <int> risultati = new List <int>(); List <Dado> dadi = new List <Dado>(); int a; bool again = true; while (again) { Console.WriteLine("Scegliere se si vuole lanciare uno o più dadi [d] o una moneta [m]: "); string userInput = Console.ReadLine(); char scelta = Convert.ToChar(userInput); switch (scelta) { case 'd': { Console.WriteLine("Premere [L] per lanciare i dadi o [R] per il riepilogo dei lanci effettuati: "); string inputD1 = Console.ReadLine(); char lancio_riep = Convert.ToChar(inputD1); if (lancio_riep == 'L') { bool rolling = true; while (rolling) { Console.WriteLine("Quanti dadi si vogliono lanciare?"); string inputD = Console.ReadLine(); int numD = Convert.ToInt32(inputD); if (numD == 0) { break; } for (int j = 0; j < numD; j++) { Dado dado = Dado.LeggiDado(); dadi.Add(dado); int roll = NumeroLanci(); for (int i = 0; i < roll; i++) { a = dado.Risultato(); Console.WriteLine(a); } } Console.WriteLine("Si vuole visualizzare il riepilogo? [s] o [n]"); string inputD2 = Console.ReadLine(); int rispostaD2 = Convert.ToChar(inputD2); if (rispostaD2 == 's') { Console.WriteLine("\nRiepilogo dei lanci effettuati:"); foreach (Dado d in dadi) { foreach (int r in d.Risultati) { Console.WriteLine("D" + d.NFacce + " : " + r); } } } else { break; } } } else { Console.WriteLine("\nRiepilogo dei lanci effettuati: \n"); foreach (Dado d in dadi) { foreach (int r in d.Risultati) { Console.WriteLine("D" + d.NFacce + " : " + r); } } } } break; case 'm': { Console.WriteLine("Premere [L] per tirare la moneta o [R] per il riepilogo del lancio effettuato: "); string inputM1 = Console.ReadLine(); char tiro_riep = Convert.ToChar(inputM1); if (tiro_riep == 'L') { Coins coin = new Coins(); int toss = NumeroLanci(); Console.Clear(); for (int i = 0; i < toss; i++) { a = coin.Risultato(); //Console.WriteLine(a); risultati.Add(a); } Console.WriteLine("Si vuole visualizzare il riepilogo? [s] o [n]"); string inputM2 = Console.ReadLine(); int rispostaM2 = Convert.ToChar(inputM2); if (rispostaM2 == 's') { Console.WriteLine("\nRiepilogo:"); foreach (int r in risultati) { if (r == 0) { Console.WriteLine("M : croce"); } else { Console.WriteLine("M : testa"); } } } else { break; } } else { Console.WriteLine("\nRiepilogo:"); foreach (int r in risultati) { if (r == 0) { Console.WriteLine("M : croce"); } else { Console.WriteLine("M : testa"); } } } } break; } Console.WriteLine("Vuoi continuare? [s] per sì, [n] per no."); userInput = Console.ReadLine(); char risposta = Convert.ToChar(userInput); if (risposta == 's') { again = true; } else { again = false; Console.WriteLine("Premere un tasto per uscire."); } } Console.ReadKey(); }