Minecraft'ta bir şeyi nasıl yapacağınızı hatırlayamadığınızda nefret etmiyor musunuz? Bunu düzeltmenin vakti geldi!
Görev
Göreviniz 1D veya 2D liste olarak bir girdi almak ve işçiliği tablosunun bir sonucu olan çıktıyı almaktır!
Giriş
Girdiyi dize veya uzunluk listesi olarak alabilirsiniz 9
veya 2B iç içe dizi olarak alabilirsiniz.
Bir giriş olarak alırsanız ...
sicim
Tablodaki her öğe yazdırılabilir ASCII karakterinde ( 0x20
to 0x7E
) 1 karakterdir . Boş bir alanı temsil etmek için, -
örneğin WWW-W-WWW
,
+------+------+------+
| Wood | Wood | Wood |
+------+------+------+
| | Wood | |
+------+------+------+
| Wood | Wood | Wood |
+------+------+------+
Tüm boşluklar korunduğu sürece girişi çok satırlı bir dize olarak da alabilirsiniz;
WWW
W
WWW
1D dizisi
Girdiyi, işçiliği tablosundaki boş alanların boş bir karakter olacağı bir karakter dizisi olarak alırsınız; örneğin, yukarıdaki tablo ['W','W','W','','W','','W','W','W']
2D dizi
Bu kez, her liste işçiliği tablosundaki bir boşluğu temsil eder; burada boş bir alan boş bir karakterdir; [['W','W','W'],['','W',''],['W','W','W']]
Girişin her zaman işlenebilen bir öğeye karşılık geleceğini varsayabilir ve dizi girdisi kullanıyorsanız, boş karakteri kısaltılmış ad olarak kullanılmayan herhangi bir karakterle değiştirebilirsiniz.
Çıktı
Çıktı, ne anlama geldiği açık olduğu sürece, girdiden, istediğiniz herhangi bir biçimde hazırlanmış bir öğe olacaktır. (Şahsen, öğelerin 1 harfli kısaltmalarımı kullanırdım)
malzemeler
Bu meydan okuma için, wood
ahşap kütükler değil, ahşap plakalar anlamına gelir.
Üretim yaparken sadece en yaygın öğeleri kullanmanız gerekir. Bunlar işçiliğin bileşenleridir, ancak işçiliğin ürünleri de olabilir. Üretim tarifi, xxxxxxxxx
yukarıdaki dize girişi gibi formatı takip eder . Bir öğe hazırlanamazsa, ---------
bunun yerine yerleştirilir.
Bazı tarifler şekilsizdir , yani tüm öğeler orada olduğu sürece, öğe yapılacaktır. Bunlar a *
. Bunun bir örneği olacağını pumpkin pie
sadece ihtiyacı olduğunu (değil kimse bu meydan içinde) pumpkin
, sugar
ve egg
yapılacak.
item name | abb. name | crafting recipe
----------------+-----------+------------------
wood | W | ---------
cobblestone | C | ---------
sticks | S | ----W--W-
iron | I | ---------
gold | G | ---------
diamond | D | ---------
redstone | R | ---------
string | N | ---------
coal | Y | ---------
sugar cane | U | ---------
redstone torch | E | -R--S----
paper | P | ---------
book | B | ---PL-PP-
wool | M | ---NN-NN-
obsidian | O | ---------
gunpowder | X | ---------
sand | A | ---------
glass | H | ---------
feather | F | ---------
flint | K | ---------
torch | T | ---------
leather | L | ---------
material blocks | Z | QQQQQQQQQ (here Q represents any in `[G, I, R, D, Y]`
compass | V | -I-IRI-I-
Ürün:% s
Bu, işçilik için kullanabileceğiniz tüm ürünlerin bir listesidir. öğe de bir bileşense, buraya dahil edilmeyecektir, ancak yine de ele alabilmelisiniz . Her biri sadece yukarıdaki bileşenler kullanılarak üretilebilir ve onu tanımlamak için benzersiz, küçük bir harf olarak adlandırılır. Armor ( +
) herhangi bir bileşeni kullanabilir [G, I, L, D]
. Silahlar ( $
) yapılabilir [W, C, I, G, D]
. Bu bir kod golf sitesi olduğundan, bu listeleri daha kısa yapmamız gerekiyor. [G, I, L, D]
bir ile gösterilir Q
ve [W, C, I, G, D]
bir ile gösterilir J
.
item name | abb. name | crafting recipe
----------------+-----------+------------------
crafting table | a | -----WWWW
boots + | b | ---Q-QQ-Q
pants + | c | QQQQ-QQ-Q
chestplate + | d | Q-QQQQQQQ
helmet + | e | QQQQ-Q---
bed | f | ---MMMWWW
chest | g | WWWW-WWWW
wood door | h | WW-WW-WW-
iron door | i | II-II-II-
furnace | j | CCCC-CCCC
trap door | k | ---WW-WW-
TNT | l | XAXAXAXAX
anvil | m | ZZZ-I-III
axe $ | n | -JJ-SJ-S-
sword $ | o | -J--J--S-
pickaxe $ | p | JJJ-S--S-
hoe $ | q | JJ--S--S-
shovel $ | r | -J--S--S-
arrow | s | -K--S--F-
bow | t | SN-S-NSN-
bowl | u | ---W-W-W-
gold nugget * | v | ----G----
bucket | w | ---I-I-I-
clock | y | -G-GRG-G-
map | z | PPPPVPPPP
fishing rod | 1 | --S-SNS-N
flint and steel | 2 | ----I---K
shears | 3 | ---I---I-
wood button * | 4 | ----W----
dropper | 5 | CCCC-CCRC
stone button * | 6 | ----C----
jukebox | 7 | WWWWDWWWW
lever | 8 | ----S--C-
noteblock | 9 | WWWWRWWWW
piston | 0 | WWWCICCRC
pressure plate | ! | ------WW- (W can also be replaced with C/I/G)
repeater | @ | ---ERECCC
tripwire hook | # | -I--S--W-
activator rail | ( | ISIIEIISI
boat | % | ---W-WWWW
minecart | ^ | ---I-IIII
powered rail | & | G-GGSGGRG
rail | ) | I-IISII-I
stone wall | { | ---CCCCCC
fence gate | } | ---SWSSWS
fence panel | [ | ---SSSSSS
glass pane | ] | ---HHHHHH
iron bars | ; | ---IIIIII
item frame | : | SSSSLSSSS
ladder | ' | S-SSSSS-S
sandstone | " | -----AAAA
slabs | | | ---CCC---
stairs | < | W--WW-WWW
bookshelves | > | WWWBBBWWW
carpet | . | -------MM
painting | , | SSSSMSSSS
sign | ? | WWWWWW-S-
cauldron | / | I-II-IIII
enchant. table | ` | -B-DODOOO
glass bottle | ~ | ---H-H-H-
rocket * | _ | -----PXXX
puanlama
Sizden tüm bu tarifleri yapmanızı istemek mantıksız olacağından, sadece istediğiniz tarifleri yapmanız yeterlidir! Ama elbette, ne kadar çok yaparsanız puanınız o kadar iyi olur.
Puan,
score = length of program in bytes / number of working recipes squared
Örneğin, bu bir başvuru olabilir.
input()
print('S')
Geçirilen girişin işleyebileceği ( ----W--W-
) bir giriş olacağını varsayabileceğiniz gibi, her zaman çıkışa S
eşdeğer olacaktır sticks
. Bu skor 18/1 = 18 olur .
Geçerli bir program olmak için girdiyi almalı ve en az 5 farklı girdiyi işleyebilmelisiniz .
En düşük puanı alan kişi kazanır.
kurallar
- En düşük puan kazanır
- Kabul edilen herhangi bir yöntemi (işlev parametreleri, STDIN vb.) Kullanarak girdi alabilirsiniz.
- Yalnızca yukarıdaki formlardan birinde girdi alabilirsiniz. Çok kısıtlayıcı değildir ve uygulanabilir olmalıdır
- Standart boşluklara izin verilmiyor
- Girdi almalısınız
5
Rakip olarak kalifiye olabilmek için en azından doğru sonuçları vermelisiniz .- Biçimsiz örneğin altın külçeler olan tarifleri için farklı kombinasyonlar yok farklı tarifler olarak sayılır.
----W----
ile aynıdır (tarif bakımından)--W------
ve sadece 1 reçetedir. - Bunun kapak tarafında, malzeme blokları gibi birden fazla malzeme kullanan tarifler için, her farklı malzeme farklı bir tarif olarak sayılır, yani
IIIIIIIII
aynı değildir (tarif bakımından)RRRRRRRRR
.
İyi şanslar, Minecrafters!
W--W-----
,-W--W----
,--W--W---
,---W--W--
,----W--W-
, ya da-----W--W
. bunlardan sadece birini mi yoksa hepsini mi ele almamız gerekiyor?