Golf Công cụ Minecraft yêu thích của bạn


20

Trong Minecraft , các kết cấu vật phẩm mặc định đều là những hình ảnh 16 × 16 pixel khá đơn giản, điều này khiến chúng có vẻ lý tưởng để chơi gôn .

Dưới đây là các kết cấu được đơn giản hóa của năm công cụ kim cương "cốt lõi" trong Minecraft: pickaxe , xẻng , rìu , kiếmcuốc .

Các hình ảnh hiển thị được phóng to để hiển thị chi tiết của họ. Nhấp vào hình ảnh để xem phiên bản 16 × 16 pixel có kích thước chính xác.

chọn lọc xẻng rìu thanh kiếm cuốc

Để làm cho việc chơi gôn trở nên dễ dàng hơn, tôi đã sửa đổi từng người trong số họ từ bản gốc để chỉ sử dụng năm màu RGB 24 bit giống nhau:

  • R=75 G=82 B=73 cho nền.
  • R=51 G=235 B=203 cho các đầu công cụ kim cương.
  • R=14 G=63 B=54 cho các phác thảo kim cương.
  • R=137 G=103 B=39 cho lõi tay cầm bằng gỗ.
  • R=40 G=30 B=11 cho các phác thảo tay cầm bằng gỗ.

Chọn công cụ yêu thích của bạn ra trong năm và viết một chương trình mà kết quả đầu ra của nó đơn giản hóa 16 × 16 texture pixel trong bất kỳ định dạng hình ảnh truecolor lossless chung (chẳng hạn như bpm, png, ppm, vv).

Vì vậy, ví dụ, nếu bạn chọn rìu, bạn sẽ viết chương trình xuất ra hình ảnh này: ví dụ rìu

Không có đầu vào nên được thực hiện và không cần kết nối web. Hình ảnh có thể được xuất ra dưới dạng một tệp có tên bạn chọn hoặc dữ liệu tệp hình ảnh thô có thể được xuất ra thiết bị xuất chuẩn hoặc bạn chỉ có thể hiển thị hình ảnh.

Bạn chỉ cần chọn một trong năm hình ảnh. Chương trình xuất ra bất kỳ một trong năm hình ảnh với số byte ít nhất là người chiến thắng.

Bạn có thể viết chương trình cho nhiều hơn một trong số các hình ảnh, nhưng chỉ có chương trình có số byte tối thiểu được tính vào điểm số của bạn. Nếu có hòa, bài được bình chọn cao nhất sẽ thắng.


Nếu bạn thích PPCG và chơi Minecraft, tôi mời bạn tham gia máy chủ Minecraft dùng thử của chúng tôi. Chỉ cần hỏi trong phòng chat chuyên dụng .


5
"Phóng to để hiển thị chi tiết." Tôi chỉ có thể nghĩ về hộp ngũ cốc.
Alex A.

Tôi nghĩ rằng có thể có một số vấn đề nén hoặc bạn có một số lỗi chính tả trong màu sắc. Mathicala tuyên bố, năm màu này được sử dụng (ít nhất là cho xẻng):[[76 82 73] [26 63 54] [106 234 204] [39 30 13] [133 102 45]]
Martin Ender


@ MartinBüttner Bạn có chắc không? Tôi đã tải lại hình ảnh xẻng và đảm bảo rằng 5 màu là chính xác. Tôi cũng đảm bảo có đúng 5 màu. imgur có thể đang nén các hình ảnh được phóng to nhưng đó không phải là những hình ảnh bạn nên sử dụng.
Sở thích của Calvin

@ Calvin'sHob sở thích Được phép nhập liệu?
Kritixi Lithos

Câu trả lời:


6

CJam, 119 byte

Tôi đã chọn xẻng.

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

Kiểm tra nó ở đây.

Chương trình này in một tệp PPM sang STDOUT.

Tôi đã sử dụng kịch bản này để giúp mã hóa hình ảnh. (Điều này chủ yếu là cho bản thân tôi nếu tôi cần sử dụng lại sau.)

Ý tưởng cơ bản là hủy bỏ hình ảnh dọc theo antidiagonals và sau đó sử dụng mã hóa độ dài chạy. Với kỹ thuật này, xẻng chứa ít lần chạy nhất. Để tham khảo số lần chạy trên mỗi hình ảnh (theo thứ tự được đưa ra trong thử thách) là:

{60, 26, 38, 43, 37}

Tôi sẽ thêm lời giải thích khi tôi chơi golf này.


7

JavaScript ES6, 353 byte

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

Điều này lạm dụng rất nhiều bóng hộp CSS3 để tạo ra một phiên bản pixelized của hình ảnh, trong trường hợp này là cuốc Minecraft. Stack Snippet bên dưới sử dụng ES5 để kiểm tra dễ dàng và hơi vô dụng (Bạn sẽ phải phóng to để nhìn rõ).

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


Điều này có thể được rút ngắn bằng cách sử dụng mã hóa base64 thay vì hex?
lirtosiast

6
Hình ảnh nguồn lớn nhất là 297 byte. Thật buồn khi phải vượt qua điều đó :)
JB

@JB Đó là [kolmogorov-độ phức tạp] vì một lý do;)
NinjaBearMonkey

@ThomasKwa Không phải cơ sở64 thực sự làm cho nó dài hơn? (Đó thực sự là căn cứ 17 vì đã ggần kết thúc.)
NinjaBearMonkey

Tôi không biết cách giải thích mã hóa base64 đắt tiền như thế nào trong Javascript, nhưng bản thân chuỗi ký tự phải có kích thước bằng 2/3 kích thước trong base64 như trong hex.
lirtosiast

2

Vì đây là sự cố minecraft, tôi sẽ thực hiện giải pháp khối lệnh: 50 ký tự

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

tạo một khung vật phẩm hiển thị một cái rìu.


2
Bạn cần xuất ra một hình ảnh .
Deusovi

1
Hình ảnh được xuất ra trên màn hình như một phần của trò chơi.
Lucas

1
Do phối cảnh, nó sẽ không bao giờ là một hình ảnh hoàn hảo - nó cũng được cho là pixelart, chỉ 16x16.
Deusovi

3
Tôi nghĩ rằng điều này đủ điều kiện là một lỗ hổng tiêu chuẩn - giống như nhận được hình ảnh từ một nguồn bên ngoài. Tôi nghĩ rằng việc triệu tập các khối để hoạt động như các pixel là ổn, với màu sắc càng gần càng tốt.
Sở thích của Calvin

1
Tôi coi đây là một tính năng ngôn ngữ.
Lucas

1

Python 3, 483 byte

Tôi đã chọn làm thanh kiếm

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

đây là đầu ra: nhập mô tả hình ảnh ở đây

Tôi đã tạo một chuỗi cho mỗi màu và kết hợp chúng để có được một chuỗi các số thập lục phân. Sau đó, tôi đã sử dụng thư viện hình ảnh python để chuyển đổi chuỗi đó thành một hình ảnh.


1

Minecraft 18w11a (.mcfeft), 757 byte

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

Tất nhiên ai đó đã phải trả lời câu hỏi với Minecraft. Đặt câu trả lời bên trong một kho dữ liệu và chạy với/function <packname>:<filename> . Xẻng được vẽ tương đối với bạn theo hướng + X và + Z. Màu sắc sai nhưng tôi sẽ coi đó là giới hạn ngôn ngữ;)

Nhưng cái xẻng thực sự được làm từ gỗ và kim cương !!!!

Đầu ra

Xẻng



oh này, thật tuyệt!
quất
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.