(lấy cảm hứng từ một câu hỏi trên Đánh giá mã)
Giả sử hai người đang chơi Hangman , nhưng bạn chỉ tình cờ nghe được trò chơi và muốn rút ra trạng thái hiện tại.
Đưa ra hai từ làm đầu vào, trong đó các từ mỗi trận đấu [A-Z]+
hoặc [a-z]+
(lựa chọn của bạn), xuất trạng thái hiện tại của trò chơi treo cổ dưới dạng nghệ thuật ASCII, theo các quy tắc dưới đây.
- Từ đầu tiên là từ cần đoán và từ thứ hai là các chữ cái đã đoán. Đây có thể được thực hiện như là đầu vào theo thứ tự bất kỳ.
- Từ được đoán được đảm bảo không trống, nhưng các chữ cái đã đoán có thể trống (nghĩa là như là bắt đầu của trò chơi).
- Trò chơi sẽ luôn là một trò chơi treo cổ hợp lệ (nghĩa là các chữ cái được đoán sẽ không bị trùng lặp, các chữ cái sẽ không được đoán trước khi kết thúc trò chơi, bạn sẽ chỉ nhận được các chữ cái làm đầu vào, v.v.).
- Bên dưới bản vẽ hangman phải là từ cần đoán, với
_
vị trí các chữ cái chưa được biết, cách nhau bởi khoảng trắng. Ví dụ, nếu từ cần đoán làBOAT
, thì bên dưới bản vẽ hangman phải là_ _ _ _
. Nếu từ đượcBOAT
vớiA
dự đoán, sau đó bên dưới bản vẽ phải_ _ A _
. - Bên dưới từ cần đoán phải là các chữ cái đã được đoán là không có trong từ. Chúng có thể được sắp xếp theo thứ tự bất kỳ, và có thể được phân tách bằng bất kỳ dấu phân cách không theo thứ tự chữ cái nào, nếu muốn.
Dưới đây là các trạng thái của trò chơi hangman, từ lúc bắt đầu đến khi kết thúc trò chơi. Mỗi lá thư đoán sai tiến bộ nhà nước một. Vì vậy, chữ cái đầu tiên đoán sai làm cho cái đầu O
xuất hiện, cái tiếp theo làm cho cơ thể |
xuất hiện, v.v.
+---+
| |
|
|
|
|
=========
+---+
| |
O |
|
|
|
=========
+---+
| |
O |
| |
|
|
=========
+---+
| |
O |
/| |
|
|
=========
+---+
| |
O |
/|\ |
|
|
=========
+---+
| |
O |
/|\ |
/ |
|
=========
+---+
| |
O |
/|\ |
/ \ |
|
=========
Đầu vào
- Hai chuỗi trong bất kỳ định dạng thuận tiện , với đầu tiên được đảm bảo không trống.
- Bạn có thể lấy đầu vào theo thứ tự (ví dụ: từ để đoán và sau đó đoán các chữ cái hoặc ngược lại). Vui lòng nêu trong trình của bạn thứ tự đầu vào.
Đầu ra
Đại diện nghệ thuật ASCII kết quả của trò chơi hangman đang diễn ra, như được mô tả ở trên, một lần nữa ở bất kỳ định dạng thuận tiện.
Quy tắc
- Các dòng mới hoặc dấu cách hàng đầu hoặc dấu trắng đều là tùy chọn, miễn là bản thân các ký tự xếp hàng chính xác.
- Một chương trình đầy đủ hoặc một chức năng được chấp nhận. Nếu một chức năng, bạn có thể trả lại đầu ra thay vì in nó.
- Nếu có thể, vui lòng bao gồm một liên kết đến một môi trường thử nghiệm trực tuyến để người khác có thể thử mã của bạn!
- Sơ hở tiêu chuẩn bị cấm.
- Đây là môn đánh gôn, vì vậy tất cả các quy tắc chơi gôn thông thường đều được áp dụng và mã ngắn nhất (tính bằng byte) sẽ thắng.
Ví dụ
# 1
BOAT
và ATG
+---+
| |
O |
|
|
|
=========
_ _ A T
G
# 2
ZEPPELIN
và
+---+
| |
|
|
|
|
=========
_ _ _ _ _ _ _ _
# 3
ZEPPELIN
và EATOLINSHR
+---+
| |
O |
/|\ |
/ \ |
|
=========
_ E _ _ E L I N
A T O S H R
#4
RHYTHM
và ABCDE
+---+
| |
O |
/|\ |
/ |
|
=========
_ _ _ _ _ _
EDCBA
# 5
BOAT
và ATOB
+---+
| |
|
|
|
|
=========
B O A T
# 6
AIRPLANE
và AJKEI
+---+
| |
O |
| |
|
|
=========
A I _ _ _ A _ E
KJ