Track
/
Gleam
Gleam
/
Esercizi
/
Le regole di Pacman
Le regole di Pacman

Le regole di Pacman

Esercizio di apprendimento

Introduzione

Valori booleani

Gleam rappresenta i valori vero e falso con il tipo Bool. Esistono solo due valori: True e False. Questi valori possono essere associati a una variabile:

let true_variable = True
let false_variable = False

Gli operatori &&, || e ! possono essere usati per manipolare i valori booleani:

True && True  // -> True
True && False // -> False

False || True  // -> True
False || False // -> False

!False // -> True
!True  // -> False

Gli operatori && e || usano la valutazione a corto circuito: l'espressione a destra dell'operatore viene valutata solo se serve.

Ogni operatore ha una precedenza diversa: ! viene valutato prima di && e ||. Le parentesi graffe possono essere usate per valutare una parte dell'espressione prima delle altre:

!True && False   // -> False
!{True && False} // -> True

Istruzioni

In questo esercizio, dovrai tradurre alcune regole del classico gioco Pac-Man in funzioni Gleam.

Hai quattro regole da tradurre, tutte legate agli stati di gioco.

Non preoccuparti di come vengono ricavati gli argomenti, concentrati solo sul combinarli per restituire il risultato desiderato.

1. Definisci se Pac-Man mangia un fantasma

Definisci la funzione eat_ghost che accetta due argomenti (se Pac-Man ha una pillola energetica attiva e se Pac-Man sta toccando un fantasma) e restituisce un valore booleano se Pac-Man è in grado di mangiare il fantasma. La funzione deve restituire True solo se Pac-Man ha una pillola energetica attiva e sta toccando un fantasma.

eat_ghost(False, True)
// -> False

2. Definisci se Pac-Man fa punti

Definisci la funzione score che accetta due argomenti (se Pac-Man sta toccando una pillola energetica e se Pac-Man sta toccando un pallino) e restituisce un valore booleano se Pac-Man ha fatto punti. La funzione deve restituire True se Pac-Man sta toccando una pillola energetica o un pallino.

score(True, True)
// -> True

3. Definisci se Pac-Man perde

Definisci la funzione lose che accetta due argomenti (se Pac-Man ha una pillola energetica attiva e se Pac-Man sta toccando un fantasma) e restituisce un valore booleano se Pac-Man perde. La funzione deve restituire True se Pac-Man sta toccando un fantasma e non ha una pillola energetica attiva.

lose(False, True)
// -> True

4. Definisci se Pac-Man vince

Definisci la funzione win che accetta tre argomenti (se Pac-Man ha mangiato tutti i pallini, se Pac-Man ha una pillola energetica attiva e se Pac-Man sta toccando un fantasma) e restituisce un valore booleano se Pac-Man vince. La funzione deve restituire True se Pac-Man ha mangiato tutti i pallini e non ha perso in base agli argomenti definiti nella parte 3.

win(False, True, False)
// -> False
Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Gleam Exercism

Vuoi iniziare Le regole di Pacman?

Iscriviti a Exercism per imparare e padroneggiare Gleam con 33 concetti122 esercizi e il mentoring di persone reali, tutto gratis.