Vì sao Minecraft báo "Too Expensive!" — và thứ tự dùng đe để tránh nó
Hình phạt thao tác trước đó tăng gấp đôi mỗi lần bạn dùng đe. Đây là quy tắc đằng sau nó, và cách sắp xếp thứ tự ghép để một bộ phù phép đầy đủ không bao giờ chạm mức trần 40 cấp.
Mỗi lần ghép trên đe đều đóng một bộ đếm ẩn lên vật phẩm gọi là hình phạt thao tác trước đó (prior work penalty). Nó bắt đầu từ 0, thành 1 sau lần ghép đầu tiên, rồi 3, 7, 15, 31 — mỗi lần nhân đôi rồi cộng thêm một. Hình phạt đó được cộng nguyên vẹn vào chi phí cấp độ, nên một thanh kiếm tốn 5 cấp vào thứ Hai sẽ tốn 35 cấp vào thứ Sáu.
Java bản gốc từ chối mọi lần ghép có giá trên 39 cấp bằng Too Expensive!. Vậy mục tiêu không bao giờ là "làm cho mỗi bước thật rẻ" — mà là giữ cho cây ghép nông.
Quy tắc thực sự quan trọng
Ghép hai vật phẩm tính cả hai hình phạt của chúng thành cấp độ, và kết quả nhận giá trị lớn hơn trong hai, nhân đôi rồi cộng một. Hai quyển sách mới (hình phạt 0) ghép thành một quyển sách cho ra quyển sách có hình phạt 1. Ghép nó vào một thanh kiếm mới thì bạn trả 1 đó cộng thêm tiền phù phép, và thanh kiếm ra đời với hình phạt 3.
Vậy con đường rẻ nhất là một cây nhị phân cân bằng, không phải một chuỗi:
bad sword + book1 + book2 + book3 + book4 (penalty 1, 3, 7, 15 …)
good (book1+book2) + (book3+book4) -> sword (penalty stays low on both sides)
Trình tự thực tế cho một công cụ phù phép đầy đủ
- Ghép các quyển sách thành từng cặp trước khi chúng chạm vào công cụ.
- Ghép các cặp đó thành hai "siêu sách".
- Ghép hai quyển đó thành một.
- Áp quyển sách duy nhất đó lên công cụ mới, chưa từng qua đe.
Đó vẫn là bốn lần ghép như chuỗi, nhưng hình phạt vẫn thấp ở cả hai phía và bản thân công cụ chỉ bị phạt đúng một lần.
Những chỗ thứ tự vẫn cắn
- Sửa chữa cũng tốn một lần ghép. Có Tu sửa trên công cụ từ sớm nghĩa là mọi lần sửa chữa đều miễn phí, nhưng sửa chữa trước khi có Tu sửa đều làm tăng hình phạt.
- Đổi tên tốn một cấp. Đổi tên riêng lẻ không làm tăng hình phạt và không bao giờ
Too Expensive!(nó bị giới hạn ở 39), nên hãy đổi tên ở một bước riêng thay vì làm trong một lần ghép đắt đỏ. - Bedrock khác biệt. Bedrock giới hạn hiển thị ở
Too Expensive!theo cách khác và cho phép một số lần ghép mà Java từ chối; phép tính ở trên là của Java Edition.
Thay vì làm việc này trên giấy, hãy nhập vật phẩm và các phù phép vào Máy tính phù phép — nó tìm các thứ tự ghép và trả về cách rẻ nhất, kèm chi phí cấp độ chính xác ở từng bước.