Gioco Indovina il Numero con Ciclo While in Java
Spiegazione del Gioco "Indovina il Numero"
Questo programma Java implementa un semplice gioco in cui il computer sceglie un numero casuale e il giocatore deve indovinarlo ricevendo degli aiuti.
Struttura del Programma
Import e Dichiarazioni Iniziali
import java.util.Scanner;
import java.util.Random;
Il programma importa due classi fondamentali:
- Scanner: per leggere l'input dell'utente dalla tastiera
- Random: per generare numeri casuali
Variabili Principali
Scanner input = new Scanner(System.in);
int segreto = new Random().nextInt(100) + 1; // 1 - 100
System.out.println("Il numero segreto e': "+segreto); // solo per debug
int tentativo = 0;
int conta = 0;
Le variabili utilizzate sono:
- input: oggetto Scanner per leggere i dati inseriti dall'utente
- segreto: il numero casuale da indovinare (compreso tra 1 e 100)
- tentativo: memorizza il numero inserito dal giocatore
- conta: conta quanti tentativi ha fatto il giocatore
Come Funziona il Gioco
Generazione del Numero Segreto
Il numero segreto viene generato con:
int segreto = new Random().nextInt(100) + 1;
nextInt(100)genera un numero da 0 a 99- Aggiungendo
+ 1otteniamo un numero da 1 a 100
Ciclo Principale del Gioco
while(tentativo != segreto){
System.out.println("Inserisci un numero (1-100)");
tentativo = input.nextInt();
conta++;
if(tentativo > segreto) System.out.println("Troppo Alto");
else if(tentativo < segreto) System.out.println("Troppo Basso");
}
Il ciclo while continua finché il giocatore non indovina il numero:
- Richiesta input: chiede al giocatore di inserire un numero
- Lettura tentativo: legge il numero inserito
- Incremento contatore: aumenta il numero di tentativi
- Controllo e suggerimenti:
- Se il numero è troppo alto, stampa "Troppo Alto"
- Se il numero è troppo basso, stampa "Troppo Basso"
- Se è uguale, il ciclo termina
Messaggio Finale
System.out.println("Complimenti ! hai indovinato il numero "+segreto+" in "+conta+" mosse");
Quando il giocatore indovina, il programma mostra un messaggio di congratulazioni con il numero di tentativi effettuati.
Esempio di Esecuzione
Il numero segreto e': 42
Inserisci un numero (1-100)
50
Troppo Alto
Inserisci un numero (1-100)
25
Troppo Basso
Inserisci un numero (1-100)
42
Complimenti ! hai indovinato il numero 42 in 3 mosse
Nota Importante
La riga che stampa il numero segreto è presente solo per debug (test del programma). In un gioco reale, questa riga dovrebbe essere rimossa per mantenere il mistero!
Esercitazione svolta
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Main.java to edit this template
*/
package indovinailnumero;
import java.util.Scanner;
import java.util.Random;
/**
*
* @author perna.mario
*/
public class IndovinaIlNumero {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int segreto = new Random().nextInt(100) + 1; // 1 - 100
System.out.println("Il numero segreto e': "+segreto); // solo per debug
int tentativo = 0;
int conta = 0;
while(tentativo != segreto){
System.out.println("Inserisci un numero (1-100)");
tentativo = input.nextInt();
conta++;
if(tentativo > segreto) System.out.println("Troppo Alto");
else if(tentativo < segreto) System.out.println("Troppo Basso");
}
System.out.println("Complimenti ! hai indovinato il numero "+segreto+" in "+conta+" mosse");
}
}