Na versão arcade do jogo, Pac-Man come pac-dots. No entanto, neste desafio, ele tem fome de caracteres alfanuméricos e pontuação em uma sequência.
Sua tarefa é criar uma função que alimente uma sequência de caracteres do Pac-Man, avalie se ele pode ou não comê-la e retorne a sequência com a localização do Pac-Man.
Pac-Man ( <
) come caracteres da esquerda para a direita, deixando um sublinhado ou espaço para cada personagem à medida que avança, e seu objetivo é ir da primeira posição-1 à última posição + 1:
1. <Pac
2. _<ac
3. __<c
4. ___<
No entanto, o inimigo natural do Pac-Man, o fantasma, irá detê-lo se ele encontrar uma das letras da palavra "FANTASMA" (não diferencia maiúsculas de minúsculas). Sua função deve retornar a string com a localização do Pac-Man quando ele encontrar o ghost
personagem:
1. <No!
2. _<o!
A única coisa que pode derrotar um fantasma é um pellet de poder. Se o Pac-Man alcançar uma letra com a palavra "PELLET" (também não diferencia maiúsculas de minúsculas) antes de chegar a um fantasma, ele o comerá e continuará se movendo, e esse pellet será usado. Grânulos de poder podem empilhar (ou seja, em ppgg
ambos os fantasmas seriam comidos). O caractere T existe como um fantasma e um pellet, para que possa ser ignorado (tratado como qualquer outra letra, como a
).
1. <Pop
2. _<op
3. __<p
4. ___<
Para esclarecer, na sequência "Pac-Man perde aqui", ocorrem as seguintes operações:
P <P, +1 Pellet (1 pellet)
a <a
c <c
- <-
M <M
a <a
n <n
<[space]
l <l, +1 Pellet (2 pellets)
o <o, -1 Pellet (1 pellet)
s <s, -1 Pellet (0 pellets)
e <e, +1 Pellet (1 pellet)
s <s, -1 Pellet (0 pellets)
<[space]
h <h, ghost wins, returns
e
r
e
Exemplos
Input: Pacman wins!
Output: ____________<
Input: Pacman loses wah-wah :(
Output: _______________<h-wah :(
Input: PELLET PELLET GHOST
Output: ___________________<
Input: Hello World!
Output: <Hello World!
Input: <_!@12<_<_<
Output: ___________<
Isso é código-golfe - a menor pontuação em bytes ganha.
<
símbolo ...