เล่นเครื่องมือ Minecraft ที่คุณชื่นชอบ


20

ในMinecraftที่พื้นผิวของรายการเริ่มต้นทุกคนที่เรียบง่ายพอสมควร 16 × 16 พิกเซลซึ่งทำให้พวกเขาดูเหมือนจะเหมาะสำหรับการเล่นกอล์ฟ

พื้นผิวด้านล่างจะง่ายในห้า "แก่น" เครื่องมือเพชรใน Minecraft: pickaxe , จอบ , ขวาน , ดาบและจอบ

รูปภาพที่แสดงมีขนาดใหญ่ขึ้นเพื่อแสดงรายละเอียด คลิกที่ภาพเพื่อดูขนาด 16 × 16 พิกเซลที่ถูกต้อง

pickaxe พลั่ว ขวาน ดาบ จอบ

เพื่อให้การเล่นกอล์ฟง่ายขึ้นฉันได้ดัดแปลงแต่ละสีจากต้นฉบับเพื่อใช้สี RGB 24 บิตแบบเดียวกันห้าสีเท่านั้น:

  • R=75 G=82 B=73 สำหรับพื้นหลัง
  • R=51 G=235 B=203 สำหรับหัวเครื่องมือเพชร
  • R=14 G=63 B=54 สำหรับโครงร่างเพชร
  • R=137 G=103 B=39 สำหรับแกนมือจับไม้
  • R=40 G=30 B=11 สำหรับโครงร่างด้ามไม้

เลือกเครื่องมือที่คุณชื่นชอบจากห้าและเขียนโปรแกรมที่ง่าย 16 × 16 พิกเซลเนื้อใน lossless ทั่วไปรูปแบบภาพ TrueColor ใด ๆ ผลของมัน (เช่นbpm, png, ppmฯลฯ )

ตัวอย่างเช่นถ้าคุณเลือกขวานคุณจะต้องเขียนโปรแกรมที่แสดงผลภาพนี้: ขวาน

ไม่ควรป้อนข้อมูลใด ๆ และไม่จำเป็นต้องมีการเชื่อมต่อเว็บ ภาพสามารถส่งออกเป็นไฟล์ที่มีชื่อที่คุณเลือกหรือข้อมูลไฟล์ภาพดิบสามารถส่งออกไปยัง stdout หรือคุณสามารถแสดงภาพ

คุณจะต้องเลือกหนึ่งในห้าภาพเท่านั้น โปรแกรมที่ส่งออกหนึ่งในห้าภาพในจำนวนไบต์ที่น้อยที่สุดนั้นเป็นผู้ชนะ

คุณสามารถเขียนโปรแกรมสำหรับภาพมากกว่าหนึ่งภาพ แต่มีเพียงโปรแกรมที่มีจำนวนไบต์ต่ำสุดเท่านั้นที่นับรวมคะแนนของคุณ หากมีการเสมอกันโพสต์โหวตสูงสุดจะเป็นผู้ชนะ


หากคุณสนุกกับPPCGและเล่น Minecraft ฉันขอเชิญคุณเข้าร่วมเซิร์ฟเวอร์ Minecraft รุ่นทดลองของเรา เพียงแค่ถามในห้องสนทนาเฉพาะ


5
"ขยายเพื่อแสดงรายละเอียด" ฉันนึกถึงกล่องซีเรียลเท่านั้น
Alex A.

ฉันคิดว่าอาจมีปัญหาเรื่องการบีบอัดหรือคุณมีความผิดพลาดบางอย่างในสี Mathematica อ้างว่ามีการใช้ห้าสี (อย่างน้อยสำหรับพลั่ว):[[76 82 73] [26 63 54] [106 234 204] [39 30 13] [133 102 45]]
Martin Ender


@ MartinBüttnerคุณแน่ใจเหรอ? ฉันดาวน์โหลดภาพพลั่วอีกครั้งและทำให้แน่ใจว่า 5 สีถูกต้อง ฉันยังทำให้แน่ใจว่ามี 5 สีอย่างแน่นอน imgur อาจบีบอัดภาพที่ขยายใหญ่ แต่ไม่ใช่ภาพที่คุณควรใช้
งานอดิเรกของ Calvin

@ Calvin'sHobbies อนุญาตให้ป้อนข้อมูลหรือไม่
Kritixi Lithos

คำตอบ:


6

CJam, 119 ไบต์

ฉันเลือกจอบ

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

ทดสอบที่นี่

โปรแกรมนี้พิมพ์ไฟล์ PPM ไปที่ STDOUT

ฉันใช้สคริปต์นี้เพื่อช่วยในการเข้ารหัสภาพ (นี่เป็นส่วนใหญ่สำหรับตัวฉันเองถ้าฉันจำเป็นต้องใช้ซ้ำในภายหลัง)

แนวคิดพื้นฐานคือการคลายภาพตามแนวต้านจากนั้นใช้การเข้ารหัสความยาว ด้วยเทคนิคนี้พลั่วมีการวิ่งน้อยที่สุด สำหรับการอ้างอิงจำนวนการวิ่งต่อภาพ (ตามลำดับที่กำหนดในการท้าทาย) คือ:

{60, 26, 38, 43, 37}

ฉันจะเพิ่มคำอธิบายเพิ่มเติมเมื่อฉันเล่นกอล์ฟนี้เสร็จแล้ว


7

JavaScript ES6, 353 ไบต์

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"`)

สิ่งนี้เป็นการละเมิด CSS -box box เงาอย่างมากในการสร้างภาพที่เป็นแบบพิกเซลในกรณีนี้ Minecraft จอบ Stack Snippet ด้านล่างใช้ ES5 เพื่อการทดสอบที่ง่ายและค่อนข้าง ungolfed (คุณจะต้องซูมเข้าเพื่อดูให้ดี)

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"')


สิ่งนี้จะสั้นลงได้โดยใช้การเข้ารหัส base64 แทน hex หรือไม่
lirtosiast

6
รูปแหล่งใหญ่ที่สุดคือ 297 ไบต์ Kinda เศร้าจะเป็นมากกว่าที่ :)
JB

@JB มันคือ [kolmogorov-complex] ด้วยเหตุผล;)
NinjaBearMonkey

@ThomasKwa ไม่ได้ทำให้ base64 ยาวนานขึ้นจริง ๆ หรือ (จริง ๆ แล้วเป็นฐาน -17 เพราะgใกล้ถึงจุดสิ้นสุดแล้ว)
NinjaBearMonkey

ฉันไม่ทราบว่าการเข้ารหัส base64 แบบตีความแพงใน Javascript แต่สตริงตัวอักษรควรมีขนาด 2 / 3rds ใน base64 เหมือนกับเลขฐานสิบหก
lirtosiast

2

เนื่องจากนี่เป็นปัญหาของ minecraft ฉันจะทำการแก้ปัญหา block command: 50 ตัวอักษร

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

สร้างเฟรมรายการที่แสดงขวาน


2
คุณจำเป็นต้องออกภาพ
Deusovi

1
ภาพจะถูกส่งออกบนหน้าจอเป็นส่วนหนึ่งของเกม
ลูคัส

1
เนื่องจากมุมมองมันจะไม่เป็นภาพที่สมบูรณ์แบบ - มันควรจะเป็น pixelart ด้วยเช่นกันเพียง 16x16
Deusovi

3
ฉันคิดว่าสิ่งนี้มีคุณสมบัติเป็นช่องโหว่มาตรฐาน - เช่นเดียวกับการรับภาพจากแหล่งภายนอก ฉันคิดว่ามันคงไม่เป็นไรถ้าจะอัญเชิญบล็อกให้ทำหน้าที่เป็นพิกเซลโดยให้สีใกล้เคียงที่สุด
งานอดิเรกของ Calvin

1
ฉันนับว่านี่เป็นคุณสมบัติภาษา
ลูคัส

1

Python 3, 483 ไบต์

ฉันเลือกที่จะทำดาบ

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')

นี่คือผลลัพธ์: ป้อนคำอธิบายรูปภาพที่นี่

ฉันสร้างสตริงสำหรับแต่ละสีและรวมเข้าด้วยกันเพื่อรับสตริงเลขฐานสิบหก จากนั้นฉันใช้ไลบรารีรูปภาพหลามเพื่อแปลงสตริงนั้นเป็นรูปภาพ


1

Minecraft 18w11a (.mcfunction), 757 ไบต์

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

แน่นอนว่าต้องมีคนตอบคำถามด้วย Minecraft สถานที่ภายในคำตอบของ datapack /function <packname>:<filename>และการทำงานกับ พลั่วถูกดึงให้สัมพันธ์กับคุณในทิศทาง + X และ + Z สีผิด แต่ฉันจะถือว่าเป็นข้อ จำกัด ทางภาษา)

แต่จอบนั้นทำมาจากไม้และเพชร !!!!

เอาท์พุต

โกย



เฮ้มันเยี่ยมมาก!
คอท
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.