Trilhas
/
Gleam
Gleam
/
Exercícios
/
Regras do Pacman
Regras do Pacman

Regras do Pacman

Exercício de aprendizagem

Introdução

Bools

O Gleam representa valores verdadeiro e falso com o tipo Bool. Existem apenas dois valores: True e False. Esses valores podem ser associados a uma variável:

let true_variable = True
let false_variable = False

Os operadores &&, || e ! podem ser usados para manipular valores Boolean:

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

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

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

Os operadores && e || usam avaliação de curto-circuito. Isso significa que a expressão do lado direito do operador só é avaliada quando necessário.

Cada operador tem uma precedência diferente: ! é avaliado antes de && e ||. As chaves podem ser usadas para avaliar uma parte da expressão antes das outras:

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

Instruções

Neste exercício, você precisa traduzir algumas regras do clássico Pac-Man para funções em Gleam.

Você tem quatro regras para traduzir, todas relacionadas aos estados do jogo.

Não se preocupe em como os argumentos são obtidos, apenas foque em combinar os argumentos para retornar o resultado esperado.

1. Defina se o Pac-Man come um fantasma

Defina a função eat_ghost, que recebe dois argumentos (se o Pac-Man está com uma pílula de poder ativa e se o Pac-Man está tocando um fantasma) e retorna um valor Boolean se o Pac-Man consegue comer o fantasma. A função deve retornar True apenas se o Pac-Man estiver com uma pílula de poder ativa e estiver tocando um fantasma.

eat_ghost(False, True)
// -> False

2. Defina se o Pac-Man marca pontos

Defina a função score, que recebe dois argumentos (se o Pac-Man está tocando uma pílula de poder e se o Pac-Man está tocando um ponto) e retorna um valor Boolean se o Pac-Man marcou pontos. A função deve retornar True se o Pac-Man estiver tocando uma pílula de poder ou um ponto.

score(True, True)
// -> True

3. Defina se o Pac-Man perde

Defina a função lose, que recebe dois argumentos (se o Pac-Man está com uma pílula de poder ativa e se o Pac-Man está tocando um fantasma) e retorna um valor Boolean se o Pac-Man perde. A função deve retornar True se o Pac-Man estiver tocando um fantasma e não estiver com uma pílula de poder ativa.

lose(False, True)
// -> True

4. Defina se o Pac-Man vence

Defina a função win, que recebe três argumentos (se o Pac-Man comeu todos os pontos, se o Pac-Man está com uma pílula de poder ativa e se o Pac-Man está tocando um fantasma) e retorna um valor Boolean se o Pac-Man vence. A função deve retornar True se o Pac-Man comeu todos os pontos e não perdeu, de acordo com os argumentos definidos na parte 3.

win(False, True, False)
// -> False
Editar via GitHub O link abre em uma nova janela ou aba
Gleam Exercism

Tudo pronto para começar Regras do Pacman?

Crie sua conta no Exercism para aprender e dominar Gleam com 33 conceitos122 exercícios e mentoria humana de verdade, tudo de graça.