Tantangan
Kode kuki ASCII dari jenis sesuai dengan input.
Memasukkan
- Jenis kue. Ini adalah salah satu dari tiga string: "Plain", "Chocolate", atau "Nuts". Dapat berupa argumen fungsi, stdin (atau yang setara terdekat), atau argumen file.
Keluaran
- Cookie ASCII. Lihat di bawah.
Harus
___
/ \
| |
\___/
untuk input biasa,
___
/. .\
| . |
\___/
untuk input Chocolate, dan akhirnya
___
/^ \
|^ ^|
\___/
untuk input Nut.
Informasi lainnya
- Ini adalah tantangan pertama saya, sesederhana mungkin. Umpan balik yang konstruktif sangat dihargai.
- Gunakan segala cara untuk melakukannya.
- Ruang tambahan baik-baik saja.
- Ini adalah tantangan kode golf, jadi entri terpendek pada akhir 9 hari (Rabu, 12 Agustus 2015) menang.
Terima kasih!
Pemenangnya adalah Jakube menggunakan Pyth dengan 41 byte. Terima kasih untuk semua yang telah berpartisipasi. Sekarang saya akan menugaskan diri saya untuk menghadapi tantangan yang lebih rumit.
Jawaban:
Pyth,
4241 byteCobalah online: Input Reguler / Test Suite
Penjelasan:
sumber
Ruby, 73
Ini adalah fungsi lambda anonim. Ini dia dalam program uji:
Itu hanya menggunakan huruf pertama dari jenis cookie (dalam huruf besar) dan membawanya modulo 3 untuk mendapatkan indeks dalam kisaran
0..2
. Kemudian ia mengembalikan string yang mewakili cookie, dengan string yang sesuai tertanam di tempat yang tepat.sumber
ord
dapat dilakukan metode ini jika Anda memanggilnya untuk seluruh string? Gagasan pertama saya adalah format:->s{" ___\n/%1$s \\\n|%1$s %1$s|\n\\___/"%'^. '[s.ord%3]}
tr
terbukti lebih pendek:->s{' ___↵/% \↵|% %|↵\___/'.tr ?%,'^. '[s.ord%3]}
s[0] --> s
, tidak pernah terpikir olehku untuk mencobanya. Kode Anda tampaknya tidak memberikan jawaban yang tepat untuk kotak cokelat, karena keping cokelat berada di tempat yang berbeda dengan kacang. Namun demikian ada beberapa ide berguna di sana, saya akan melihatnya nanti. Saya belum pernah menggunakantr
atau%
sebelumnya.tr
sintaks. Hanya karakter yang tidak terlibat dalam seni cookie yang saya gunakan sebagai placeholder.)Python 2.7.6, 99 byte
Algoritma ini bergantung pada fakta yang
hash(cookie)%3
memberikan 0 kapancookie = "Plain"
, 1 kapancookie = "Nut
dan 2 kapancookie = "Chocolate
. Jika ada yang tahu cara membuat kode ini lebih pendek, beri tahu saya di komentar.sumber
C: 122
Penjelasan setelah saya selesai bermain golf.
Contoh penggunaan:
sumber
CJam,
4948 byteCobalah online di Internet juru bahasa CJam .
Bagaimana itu bekerja
Pada akhirnya, CJam secara otomatis mencetak semua elemen pada stack.
sumber
Javascript (ES6), 90
Ini adalah fungsi panah anonim. Ini menggunakan panjang input untuk menentukan cookie yang akan ditarik.
Penjelasan:
Untuk mengetes:
sumber
BrainFuck,
481447436 byteMengapa tidak BrainFuck ?, program mungkin bisa bermain golf lebih banyak, tapi saya pikir itu cukup rapi.
sumber
C # Dengan lekukan dan jeda baris
Golf (225 Karakter)
sumber
String C= Console.ReadLine(),E=
... dll?C # 6, 105 byte
Jadi hampir mendapatkan sub-100 byte ini, tidak tahu di mana untuk memeras beberapa byte terakhir dari: C
sumber
Pyth,
5854535250 byteSaya tidak berpikir ini bisa golf lagi. Saya benar-benar mencoba untuk membuat squeze ini di bawah 50 byte
sumber
". . . " -> *". "3
JavaScript (ES6), 72 byte
Tentang sesederhana itu mendapat ... baris baru dihitung sebagai masing-masing 1 byte.
Demo
Karena ES6, demo ini hanya berfungsi di Firefox dan Safari untuk saat ini.
sumber
Commodore 64 BASIC, 181 byte
Catatan:
Alih-alih garis miring terbalik
\
karakter SHIFT-M telah digunakan, untuk garis miring/
- SHIFT-N dan untuk pipa|
- SHIFT-T. SHIFT-Z (tanda berlian kartu) digunakan untuk^
. Faktanya karakter tidak masalah karena mereka masing-masing menempati satu byte.Karena pada C64 setiap perintah (PRINT, INPUT, THEN, dll.) Mengambil 2 byte dalam memori (atau bahkan satu, IIRC), bahasa BASIC patut dicoba (namun, dibutuhkan lebih banyak byte daripada yang saya harapkan).
Ukuran program dihitung dengan mengukur memori bebas sebelum mengetik program (38909 byte) dan setelahnya (38728 byte), menggunakan
PRINT FRE(0)+65536
perintah, memberikan perbedaan 181 byte.Kode diuji dan tangkapan layar disiapkan dengan alat ini: http://codeazur.com.br/stuff/fc64_final/ (GPL).
Tangkapan layar:
sumber
Lua 5.3,
113 Bytes112 BytesIa menggunakan banyak operator ternary dan penggabungan string, dan saya memeras semua spasi putih yang bukan bagian dari output itu sendiri.
sumber
Java
258217 karakter / byteGolf
Asli
sumber
LUA 270 karakter 270 byte
sumber
cookie
menjadic
, hapus spasi putih saat ifs, hapus yang tidak perluio.read()
, baris pertama dan terakhir dari cookie selalu sama, ....LOLCODE 265 karakter
Run
sumber