Peringatan: Tantangan ini berisi beberapa spoiler ringan untuk The Secret of Monkey Island.
Menjelang akhir pertandingan, Anda dipimpin melalui katakombe oleh kepala navigator yang dilindungi secara ajaib:
Anda membutuhkan kalung bola matanya, tetapi Kepala enggan memberikannya kepada Anda. Salah satu cara untuk mendapatkannya adalah dengan terus mengemis:
Guybrush: Boleh saya minta kalung itu?
Kepala: Tidak, tapi terima kasih sudah bertanya dengan sopan.
Guybrush: Oh ayolah, tolong?
Kepala: Anda bisa memohon semua yang Anda inginkan, tetapi Anda tidak bisa memilikinya.
Guybrush: Cukup cantik?
Kepala: Anda bisa memohon semua yang Anda inginkan, tetapi Anda tidak bisa memilikinya.
Guybrush: Cukup CUKUP?
Kepala: Anda bisa memohon semua yang Anda inginkan, tetapi Anda tidak bisa memilikinya.
Guybrush: Cukup tolong dengan gula di atasnya?
Kepala: Oh, baiklah, kamu bayi yang besar. Kamu dapat memilikinya. Hei, apa gunanya kalung jika kau tidak punya bahu?
Tantangan
Tulis program lengkap yang mencetak dialog di atas. Tangkapannya adalah bahwa setiap kali program dipanggil hanya akan mencetak dua baris (satu permintaan oleh Guybrush dan respons Head). Misalnya jika kiriman Anda ditulis dengan Python, penggunaan akan terlihat seperti ini:
$> python please.py
Guybrush: May I please have that necklace?
Head: No, but thanks for asking so politely.
$> python please.py
Guybrush: Oh come on, pleeeeease?
Head: You can beg all you want, but you can't have it.
$> python please.py
Guybrush: Pretty please?
Head: You can beg all you want, but you can't have it.
$> python please.py
Guybrush: Pretty PRETTY please?
Head: You can beg all you want, but you can't have it.
$> python please.py
Guybrush: Pretty please with sugar on top?
Head: Oh, all right, you big baby. You can have it. Hey, what good's a necklace if you don't have shoulders?
Menjalankan program lebih dari 5 kali dapat mengakibatkan perilaku yang tidak terdefinisi, sehingga Anda bisa mengulang, tetap mencetak dua baris terakhir atau bahkan program dapat rusak setelah doa kelima.
Anda dapat menulis ke file di direktori kerja, atau Anda dapat memodifikasi kode sumber program itu sendiri untuk melacak doa. Dalam kasus terakhir, program Anda tidak boleh bergantung pada nama filenya sendiri. (Dalam kasus sebelumnya, Anda dapat mengasumsikan bahwa nama file program Anda tidak akan berbenturan dengan nama file yang tergantung pada program Anda.)
Anda tidak boleh menganggap lingkungan seperti REPL atau bahwa data disimpan dalam RAM di antara doa. Misalnya, jika Anda menjawab dalam Mathematica, Anda harus berasumsi bahwa saya keluar dari kernel di antara permintaan.
Ini adalah kode golf, jawaban terpendek (dalam byte) menang. Jika program Anda bergantung pada file tambahan yang ada sebelum doa pertama , tambahkan nama dan kontennya ke jumlah byte Anda.
node please.js
menghasilkan 5 output yang berbeda.