Utilizzare Strutture Condizionali per Gestire il Flusso di un Gioco in JavaScript

by Anastasia P.
SHARE
Utilizzare Strutture Condizionali per Gestire il Flusso di un Gioco in JavaScript
© Guida-HTML5.it

Introduzione

Le strutture condizionali in JavaScript sono fondamentali per prendere decisioni all´interno del codice. In questo tutorial, esploreremo come utilizzare le strutture condizionali per gestire il flusso di un semplice gioco. Impareremo a utilizzare if, else e switch per determinare le azioni in base alle scelte dell´utente. Questo approccio non solo rende il codice più leggibile, ma migliora anche l´interattività dell´applicazione.

Codice completo


function iniziaGioco() {
    let sceltaGiocatore = prompt("Scegli: ´carta´, ´forbice´ o ´sasso´").toLowerCase();
    let sceltaComputer = scegliComputer();
    
    console.log("Scelta del Giocatore: " + sceltaGiocatore);
    console.log("Scelta del Computer: " + sceltaComputer);
    
    determinaVincitore(sceltaGiocatore, sceltaComputer);
}

function scegliComputer() {
    let scelte = [´carta´, ´forbice´, ´sasso´];
    let indiceCasuale = Math.floor(Math.random() * scelte.length);
    return scelte[indiceCasuale];
}

function determinaVincitore(giocatore, computer) {
    if (giocatore === computer) {
        console.log("È un pareggio!");
    } else {
        switch (giocatore) {
            case ´carta´:
                if (computer === ´sasso´) {
                    console.log("Hai vinto! La carta batte il sasso.");
                } else {
                    console.log("Hai perso! La forbice batte la carta.");
                }
                break;
            case ´forbice´:
                if (computer === ´carta´) {
                    console.log("Hai vinto! La forbice batte la carta.");
                } else {
                    console.log("Hai perso! Il sasso batte la forbice.");
                }
                break;
            case ´sasso´:
                if (computer === ´forbice´) {
                    console.log("Hai vinto! Il sasso batte la forbice.");
                } else {
                    console.log("Hai perso! La carta batte il sasso.");
                }
                break;
            default:
                console.log("Scelta non valida. Riprova.");
                break;
        }
    }
}

// Avvia il gioco
iniziaGioco();

Spiegazione

Il codice sopra rappresenta un semplice gioco di "carta, forbice, sasso". Vediamo come funziona:

  • iniziaGioco(): Questa funzione avvia il gioco. Chiede all´utente di inserire la propria scelta tramite un prompt e la converte in minuscolo per evitare problemi di confronto.
  • scegliComputer(): Questa funzione genera una scelta casuale per il computer tra ´carta´, ´forbice´ e ´sasso´. Utilizza Math.random() per ottenere un numero casuale e Math.floor() per arrotondarlo all´intero più vicino.
  • determinaVincitore(giocatore, computer): Qui avviene la magia! Prima controlliamo se le scelte sono uguali. In caso affermativo, è un pareggio. Altrimenti, utilizziamo un switch per gestire le diverse possibilità. Ogni caso rappresenta una scelta del giocatore e verifica il risultato rispetto alla scelta del computer.

Best practice

Quando si utilizzano strutture condizionali, è importante seguire alcune best practice:

  • Chiarezza e leggibilità: Assicurati che il tuo codice sia facile da leggere. Utilizza nomi di funzioni e variabili descrittivi.
  • Gestione degli errori: Includi sempre un caso di default nelle istruzioni switch per gestire input non validi, come abbiamo fatto nel nostro esempio.
  • Evita la nidificazione eccessiva: Se hai molte condizioni, considera di separare la logica in funzioni diverse per mantenere il codice pulito e gestibile.
  • Testa il tuo codice: Prova diverse combinazioni di input per assicurarti che tutte le condizioni siano gestite correttamente.

Riepilogo

In questo tutorial, abbiamo esplorato come utilizzare le strutture condizionali in JavaScript per gestire il flusso di un semplice gioco di "carta, forbice, sasso". Abbiamo visto come if, else e switch possano essere utilizzati per prendere decisioni basate sulle scelte dell´utente e del computer. Ricorda di seguire le best practice per mantenere il tuo codice chiaro e gestibile.

Approfondisci con risorse ufficiali

SHARE