Golf En Sevdiğiniz Minecraft Aracınız


20

In Minecraft , varsayılan öğe dokular onları için idealdir görünüyor yapar tüm makul basit 16 × 16 piksel görüntülerdir golf .

Aşağıda Minecraft'taki beş "çekirdek" elmas aletinin basitleştirilmiş dokuları bulunmaktadır: kazma , kürek , balta , kılıç ve çapa .

Gösterilen görüntüler detaylarını göstermek için büyütülür. Doğru boyutta 16 × 16 piksel sürümünü görüntülemek için bir resme tıklayın.

kazma kürek balta kılıç çapa

Golfü kolaylaştırmak için, her birini orijinallerden sadece aynı 24-bit RGB rengini kullanacak şekilde değiştirdim:

  • R=75 G=82 B=73 arka plan için.
  • R=51 G=235 B=203 elmas takım başlıkları için.
  • R=14 G=63 B=54 elmas ana hatları için.
  • R=137 G=103 B=39 ahşap saplı çekirdek için.
  • R=40 G=30 B=11 ahşap sapı anahatları için.

Beş favori Aracı dışarı seçin ve çıkışlar onun herhangi bir ortak kayıpsız gerçek renkli resim formatında 16 × 16 piksel dokusunu basitleştirilmiş bir programı (örneğin yazma bpm, png, ppmvb.)

Örneğin, baltayı seçerseniz, bu görüntünün çıktısını veren bir program yazarsınız: balta örneği

Hiçbir giriş yapılmamalı ve web bağlantısı gerekmemelidir. Görüntü, seçtiğiniz adla bir dosya olarak çıkarılabilir veya ham görüntü dosyası verileri stdout'a gönderilebilir veya görüntüyü kolayca görüntüleyebilirsiniz.

Yalnızca beş resimden birini seçmeniz gerekir . Beş görüntüden herhangi birini en az sayıda baytla çıkaran program kazanır.

Birden fazla görüntü için programlar yazabilirsiniz, ancak yalnızca minimum bayt sayısına sahip olan programlar puanınıza dahil edilir. Beraberlik olursa, oylanan en yüksek yazı kazanır.


PPCG'den hoşlanıyorsanız ve Minecraft oynuyorsanız, sizi deneme Minecraft sunucumuza katılmaya davet ediyorum. Sadece özel sohbet odasına sorun .


5
"Ayrıntı göstermek için büyütüldü." Sadece tahıl kutularını düşünebilirim.
Alex

Bazı sıkıştırma sorunları olabileceğini veya renklerde bazı yazım hatalarının olabileceğini düşünüyorum. Mathematica, bu beş rengin kullanıldığını iddia ediyor (en azından kürek için):[[76 82 73] [26 63 54] [106 234 204] [39 30 13] [133 102 45]]
Martin Ender


@ MartinBüttner Emin misin? Kürek görüntüsünü tekrar indirdim ve 5 rengin doğru olduğundan emin oldum . Ayrıca tam olarak 5 renk olduğundan emin oldum. imgur büyütülmüş görüntüleri sıkıştırıyor olabilir, ancak kullanmanız gerekenler bunlar değildir.
Calvin'in Hobileri

@ Calvin'sHobbies Girdiye izin veriliyor mu?
Kritixi Lithos

Yanıtlar:


6

CJam, 119 bayt

Kürek seçtim.

'P3NGSGN255N]o67T"vîþáy$<OW¥ÓNZ"256b9b~99T]2/e~W%"LRI?6jêÌ'
f-":i3/f=F,_W%:)+{)/(\:~}%{G/({)S*S+oNo}%1>\:~+}G*

Burada test edin.

Bu program bir PPM dosyasını STDOUT'a yazdırır.

Kullandığım bu senaryoyu görüntü kodlama konusunda yardım etmek. (Daha sonra tekrar kullanmam gerekirse, bu çoğunlukla kendim içindir.)

Temel fikir görüntüyü antidiagonal boyunca açmak ve daha sonra çalışma uzunluğu kodlaması kullanmaktır. Bu teknikle, kürek en az koşuyu içerir. Referans için görüntü başına koşu sayısı (meydan okumada verilen sırayla):

{60, 26, 38, 43, 37}

Bunu golf oynadığım zaman daha fazla açıklama ekleyeceğim.


7

JavaScript ES6, 353 bayt

document.write(`<p style="width:1px;height:1px;box-shadow:${'931a31b31841940a40b40c41951a51b50c50d51e53f52b61c60d60e62f63c73d70e70f71b83c82d83e81a93b92c939a3aa2ba38b39b2ab37c38c29c36d37d28d35e36e27e34f35f26f34g35g3'.replace(/.../g,e=>(p=parseInt)(e[0],17)+`px ${p(e[1],17)}px 0 #${['33EBCB','0E3F36','896727','281E0B'][e[2]]},`)}9px 9px 0 8px #4B5249"`)

Bu , görüntünün pikselli bir sürümünü, bu durumda Minecraft çapasını oluşturmak için CSS3 kutu gölgelerini ağır bir şekilde kötüye kullanır . Aşağıdaki Yığın Snippet'i kolay test için ES5 kullanır ve biraz çözülmez (İyi görmek için yakınlaştırmanız gerekir).

s='931a31b31841940a40b40c41951a51b50c50d51e53f52b61c60d60e62f63c73d70e70f71b83c82d83e81a93b92c939a3aa2ba38b39b2ab37c38c29c36d37d28d35e36e27e34f35f26f34g35g3'.replace(/.../g,function(e){
  return parseInt(e[0],17)+'px '+parseInt(e[1],17)+'px 0 #'+['33EBCB','0E3F36','896727','281E0B'][e[2]]+','
})
document.write('<p style="width:1px;height:1px;box-shadow:'+s+'9px 9px 0 8px #4B5249"')


Bu hex yerine base64 kodlaması kullanılarak kısaltılabilir mi?
lirtosiast

6
En büyük kaynak görüntü 297 bayttır. Bunun üzerinde olmak üzücü :)
JB

@JB Bir sebepten ötürü [kolmogorov-karmaşıklığı];)
NinjaBearMonkey

@ThomasKwa base64 aslında daha uzun yapmıyor mu? (Aslında taban-17 çünkü gsona yaklaştı.)
NinjaBearMonkey

Base64 kodlama Javascript içinde ne kadar pahalı yorumlamak bilmiyorum, ama dize hazır bilgi 2 / 3s hex gibi base64 boyutunda olmalıdır.
lirtosiast

2

Bu bir minecraft sorunu olduğundan, bir komut bloğu çözümü yapacağım: 50 karakter

summon ItemFrame ~1 ~0 ~0 {Item:{id:diamond_axe}}

baltayı gösteren bir öğe çerçevesi oluşturur.


2
Bir görüntü çıkarmanız gerekir .
Deusovi

1
Görüntü, oyunun bir parçası olarak ekranda çıkarılır.
Lucas

1
Perspektif nedeniyle, asla mükemmel bir görüntü olmayacak - sadece 16x16 pikselli olması gerekiyordu.
Deusovi

3
Bunun standart bir boşluk olarak nitelendirildiğini düşünüyorum - görüntüyü harici bir kaynaktan almakla aynı. Bence renkleri olabildiğince yakın olacak şekilde blokları piksel olarak hareket ettirmek uygun olurdu.
Calvin'in Hobileri

1
Bunu bir dil özelliği olarak görüyorum.
Lucas

1

Python 3, 483 bayt

Kılıcı yapmayı seçtim

from PIL import Image as IG, ImageColor as IC
s=IG.new('RGB',(16,16))
w='#6b6727'
b='#4b5249'
d='#33ebcb'
a='#0e3f36'
n='#281e0b'
t=b*13+a*3+b*12+a+d*2+a+b*11+a+d*3+a+b*10+a+d*3+a+b+b*9+a+d*3+a+b*2+b*8+a+d*3+a+b*3+b*2+a*2+b*3+a+d*3+a+b*4+b*2+a+d+a+b+a+d*3+a+b*5+b*3+a+d+a+d*3+a+b*6+b*3+a+d+a+d*2+a+b*7+b*4+a+d+a*2+b*8+b*3+n+w+a+d*2+a+b*7+b*2+n+w+n+b+a*2+d+a+b*6+a*2+w+n+b*4+a*2+b*6+a+d+a+b*13+a*3+b*13
s.putdata([IC.getrgb(t[i:i+7]) for i in range(0,len(t),7)])
s.save('s.png','PNG')

İşte çıktı: resim açıklamasını buraya girin

Her renk için bir dize oluşturdum ve onaltılık sayıların bir dizesini almak için onları birleştirdim. Sonra bu dizeyi bir görüntüye dönüştürmek için python görüntü kütüphanesini kullandım.


1

Minecraft 18w11a (.mcfunction), 757 bayt

fill ~ ~ ~ ~15 ~ ~15 ice
fill ~13 ~ ~13 ~7 ~ ~11 cyan_wool
fill ~12 ~ ~14 ~10 ~ ~8 cyan_wool
fill ~12 ~ ~13 ~10 ~ ~11 diamond_block
fill ~11 ~ ~12 ~9 ~ ~10 diamond_block
fill ~10 ~ ~11 ~8 ~ ~9 diamond_block
fill ~3 ~ ~4 ~1 ~ ~2 dirt
setblock ~3 ~ ~4 oak_planks
setblock ~2 ~ ~3 oak_planks
clone ~3 ~ ~4 ~1 ~ ~2 ~4 ~ ~5
setblock ~4 ~ ~5 oak_planks
setblock ~4 ~ ~7 ice
setblock ~6 ~ ~5 ice
clone ~6 ~ ~5 ~4 ~ ~7 ~7 ~ ~8
setblock ~9 ~ ~10 diamond_block
setblock ~4 ~ ~4 dirt
setblock ~3 ~ ~5 dirt
setblock ~7 ~ ~7 dirt
setblock ~6 ~ ~8 dirt
setblock ~1 ~ ~2 ice
fill ~12 ~ ~9 ~12 ~ ~8 ice
setblock ~11 ~ ~8 ice
fill ~8 ~ ~13 ~7 ~ ~13 ice
setblock ~7 ~ ~12 ice
fill ~ ~ ~ ~15 ~ ~15 light_gray_concrete replace ice
fill ~ ~ ~ ~9 ~ ~10 dark_oak_bark replace dirt

Tabii ki birisi soruya Minecraft ile cevap vermek zorunda kaldı. Cevabı bir veri paketinin içine yerleştirin ve ile çalıştırın /function <packname>:<filename>. Kürek + X ve + Z yönünde size göre çizilir. Renkler yanlış ama bunu bir dil sınırlaması olarak sayacağım;)

Ama kürek aslında ahşap ve elmas yapılmış !!!!

Çıktı

shoveled



oh hey, bu harika!
quat
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.