Dalam gim video Minecraft, Anda dapat memperoleh suar dan meletakkannya pada struktur seperti piramida untuk memberi Anda efek khusus, seperti kecepatan atau lompatan boost.
Tugas Anda adalah, memberikan efek, membangun piramida suar yang diperlukan untuk itu.
Ada beberapa ukuran piramida suar, yang diperlukan untuk efek yang berbeda. Yang terbesar memiliki 9
basis ukuran , dan yang terkecil memiliki 3
basis ukuran .
Ini adalah efek yang bisa Anda dapatkan, dan piramida yang diperlukan untuk mereka (sebagaimana ditentukan oleh wiki resmi Minecraft:
3:
Speed I
Haste I
5:
Resistance I
Jump Boost I
7:
Strength I
9:
Regeneration I
Resistance II
Jump Boost II
Speed II
Haste II
Strength II
Beacon dibangun dengan pangkalan di bagian bawah, kemudian naik, mengurangi ukurannya menjadi 2. Setelah kita menekan 1, harus ada suar +
di bagian atas.
Suar didefinisikan sebagai +
, tetapi membutuhkan piramida pendukung untuk bekerja.
Anda dapat mengasumsikan input tersebut valid (yaitu, itu adalah salah satu efek yang ditentukan di sini), dan, opsional, Anda dapat menganggap input semuanya huruf kecil. The #
karakter harus digunakan dalam piramida, dan +
sebagai beacon.
Contoh:
Haste I
+
###
Resistance I
+
###
#####
Strength I
+
###
#####
#######
Regeneration I
+
###
#####
#######
#########
Speed II
+
###
#####
#######
#########
Anda juga harus mengambil beberapa efek karena piramida suar dapat berbagi blok - namun, satu suar tidak dapat melakukan lebih dari satu efek. Anda harus menggunakan blok minimal.
Saat mengambil beberapa efek, Anda dapat menggunakan format input yang masuk akal seperti daftar, baris baru dipisahkan, dll. Selain itu, Anda dapat mengambil daftar tunggal untuk suar tunggal jika Anda menggunakan daftar.
Untuk contoh-contoh ini, saya hanya mendaftar satu solusi yang mungkin, tetapi ada beberapa solusi yang dapat diterima.
Speed I, Haste II
++
####
#####
#######
#########
(another acceptable solution is the following,
these are both valid as they use the same amount of blocks)
+
###
#####
#######+
##########
(the following is not valid for the same input; it doesn't use minimal blocks)
+
###
##### +
####### ###
#########
Strength I, Strength I
++
####
######
########
(jangan tampilkan hal-hal dalam kurung, jika itu tidak cukup jelas)
Jawaban:
Python 2 ,
216195 byteCobalah online!
Fungsi untuk mencetak string dengan struktur piramida adalah
b
, yang disebut dengan daftar efek sebagai argumen tunggal.Ini ternyata lebih lama dari yang saya harapkan, tetapi saya setidaknya senang bahwa saya dapat menemukan ukuran suar berdasarkan ilmu hitam.
Sunting: mampu mengurangi jumlah byte secara signifikan dengan menggabungkan fungsi pengurangan menjadi fungsi
lambda
berkat Python 2cmp
.sumber
Arang ,
7571605448 byteCobalah online!
Jawaban Python juga milik saya, tetapi saya ingin mencoba pengiriman golf pertama saya di Charcoal!
Saya juga ingin memastikan saya bisa menahan karunia itu;)
Semua nama suar dengan panjang yang sama berbagi tingkat suar. Dengan demikian, kita dapat menentukan tingkat suar efek dari memetakan panjang (minus 7 untuk mendasarkannya pada nol) ke angka dalam string "14034244" (ada 0 untuk kejelasan karena panjang 9 tidak sesuai dengan efek ). Ide yang sama digunakan dalam jawaban Python saya, tetapi dengan sedikit bergeser untuk menghasilkan angka 0-3.
sumber
-a
bendera untuk mencetak AST jika Anda ingin semacam penjelasan di tautan TIO jugaWS⊞υI§14034244⁻Lι⁷F▷sυ«G→→↖⁺ι¹#¦+Mι↙
akan valid jadi perlu diingat bahwaυ
dan▷s
akan menjadi baruJelly , 68 byte
Cobalah online!
Saya pikir alasan ini lebih lama dari jawaban Arang (meskipun saya bisa melakukan 'ilmu hitam' saya dalam 10 byte) karena Charcoal dibuat untuk menggambar dua dimensi. Saya berakhir tergantung pada otomat seluler 2D untuk menemukan posisi
#
s diberi posisi+
s untuk membuat segitiga.Cara Kerja (pemisahan tautan utama agar mudah dibaca)
sumber