En la versión arcade del juego, Pac-Man come pac-dots. Sin embargo, en este desafío, tiene hambre de caracteres alfanuméricos y puntuación en una cadena.
Su tarea es crear una función que alimente a Pac-Man con una cadena, evalúe si puede comerla o no, y devuelve la cadena con la ubicación de Pac-Man en ella.
Pac-Man ( <
) come personajes de izquierda a derecha, dejando un guión bajo o espacio para cada personaje a medida que avanza, y su objetivo es pasar de la primera posición-1 a la última posición + 1:
1. <Pac
2. _<ac
3. __<c
4. ___<
Sin embargo, el enemigo natural de Pac-Man, el fantasma, lo detendrá si encuentra una de las letras de la palabra "FANTASMA" (no distingue entre mayúsculas y minúsculas). Su función debe devolver la cadena con la ubicación de Pac-Man cuando se encuentra con el ghost
personaje:
1. <No!
2. _<o!
Lo único que puede derrotar a un fantasma es un perdigón de poder. Si Pac-Man llega a una letra en la palabra "PELLET" (que tampoco distingue entre mayúsculas y minúsculas) antes de llegar a un fantasma, se comerá al fantasma y seguirá moviéndose, y esa pastilla se agotará. Los pellets de poder pueden acumularse (es decir, en ppgg
ambos fantasmas se comerían). El carácter T existe tanto como un fantasma como una bolita, por lo que puede ignorarse (tratarse como cualquier otra letra, como a
).
1. <Pop
2. _<op
3. __<p
4. ___<
Para aclarar aún más, en la cadena "Pac-Man pierde aquí", se producen las siguientes operaciones:
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
Ejemplos
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: ___________<
Este es el código de golf: gana la puntuación más baja en bytes.
<
símbolo ...