Oyunun arcade sürümünde, Pac-Man pac-noktalar yiyor. Ancak, bu mücadelede, bir dizgede alfanümerik karakterler ve noktalama işaretleri için aç.
Göreviniz, Pac-Man'i bir dize besleyen, yiyip yemediğini değerlendiren ve Pac-Man'in içinde bulunduğu yere geri döndüren bir işlev oluşturmaktır.
Pac-Man ( <
) karakterleri soldan sağa yiyor, her karakter için bir alt çizgi veya boşluk bırakıyor ve hedefi ilk-1'den son + 1'e kadar olan pozisyonları almak.
1. <Pac
2. _<ac
3. __<c
4. ___<
Bununla birlikte, Pac-Man'in doğal düşmanı olan hayalet, "GHOST" kelimesindeki harflerden biriyle karşılaştığında onu durduracaktır (büyük / küçük harf duyarlı değildir). İşleviniz ghost
karakterle karşılaştığında Pac-Man'ın bulunduğu dizgeyi döndürmelidir :
1. <No!
2. _<o!
Bir hayaleti yenebilecek tek şey bir güç topağıdır. Eğer Pac-Man bir hayalete gelmeden önce "PELLET" (harf büyük / küçük harfe duyarlı değildir) kelimesinde bir harfe ulaşırsa , hayaleti yer ve hareket etmeye devam eder ve o pelet kullanılır. Güç peletleri istiflenebilir (yani ppgg
her iki hayalette de yenilecektir). T o (olduğu gibi, herhangi bir başka harfi olarak tedavi göz ardı edilebilir, böylece bir karakter, bir hayalet ve pelet olarak her ikisi de mevcut a
).
1. <Pop
2. _<op
3. __<p
4. ___<
Daha açıklığa kavuşturmak için "Pac-Man burada kaybeder" dizisinde aşağıdaki işlemler gerçekleşir:
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
Örnekler
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: ___________<
Bu kod golf - bayt cinsinden en düşük puan kazanır.
<
sembole her baktığımda siyah dudaklı kamufle edilmiş gri bir pacman görüyorum ...