Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Esercitazione___GuessTheNumber
- {
- class Program
- {
- /*
- * Problema:
- * Il Computer "pensa" ad un numero compreso tra 1 e 1000,
- * l'utente ha a disposizione 10 tentativi per indovinare
- * il numero sulla base dei suggerimenti che gli verranno
- * forniti ad ogni tentativo effettuato.
- * Esempio:
- * Qual è il numero? 500
- * No, il numero da indovinare è più basso
- * Qual è il numero? 450
- * No, il numero da indovinare è più alto
- * Qual è il numero? 475
- * Bravo, hai indovinato con 3 soli tentativi.
- *
- */
- public static int GetNumber()// <- legge un numero da tastiera e restituisce 0 se non è stato inserito un numero
- {
- if (int.TryParse(Console.ReadLine(), out var number)) return number;
- return 0;
- }
- public static int GetRandom()// <- calcola un numero "casuale" compreso tra 1 e 1000 (inclusi)
- {
- return new Random().Next(1, 1001);
- }
- static void Main(string[] args)
- {
- // il computer pensa ad un numero
- int target = GetRandom(); Console.WriteLine($"Shhhh... il numero da indovinare è {target}, ma non lo dire a nessuno!");
- // l'utente ha a disposizione 10 tentativi
- int attempts = 10;
- // fino a che l'utente indovina oppure ha esaurito i tentativi a sua disposizione
- // mi servo di una variabile per tracciare la condizione che indica se l'utente ha indovinato
- bool won = false;
- while (!won && attempts > 0) // fino a che won è false e i tentativi a disposizione sono > 0
- {
- Console.Write($"Hai a disposizione {attempts} tentativi. Qual è il numero? ");
- int number = GetNumber(); // chiedo un nuovo numero
- attempts--; // decremento il numero di tentativi a disposizione
- if (number < target) // se numero troppo piccolo
- Console.WriteLine("Il numero da indovinare è più grande.");
- else if (number > target) // altrimenti se numero troppo grande
- Console.WriteLine("Il numero da indovinare è più piccolo.");
- else // altrimenti l'utente ha vinto!!!
- won = true; // mi memorizzo la vittoria
- }
- // adesso:
- // se won è true significa che l'utente ha vinto
- if (won)
- Console.WriteLine("Bravo, hai indovinato!");
- else // altrimenti ha perso
- Console.WriteLine($"Hai perso, il numero era {target}");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement