Đây là phần tiếp theo của In một câu hỏi mê cung . Nếu bạn thích câu hỏi này, vui lòng thêm nhiều thuật toán tạo mê cung;).
Đối với nhiệm vụ này, bạn sẽ phải triển khai một công cụ trò chơi cho một người chơi phải tìm kho báu trong mê cung và thoát khỏi ngục tối.
Công cụ bắt đầu bằng cách đọc mê cung từ đầu vào tiêu chuẩn theo sau là một dòng chứa một tệp được đưa ra làm đối số trong dòng lệnh. Tiếp theo người chơi .
(dấu chấm)@
được đặt ở một vị trí ngẫu nhiên trên bản đồ. Sau đó, công cụ bắt đầu tương tác với người chơi thông qua io tiêu chuẩn:
Các lệnh từ động cơ đến trình phát :
continue
: Trò chơi chưa kết thúc. Môi trường xung quanh được in theo sau a.
. Người chơi được đại diện bởi@
nhân vật. Các tế bào không quan sát được đại diện bởi?
.finished
: Trò chơi kết thúc. Số lượng các bước được in và trò chơi dừng lại.
Các lệnh từ người chơi đến động cơ :
north
: Di chuyển người chơi lên.south
: Di chuyển người chơi xuống.west
: Di chuyển người chơi sang trái.east
: Di chuyển người chơi ngay.
Bất kỳ lệnh không hợp lệ nào (chẳng hạn như đập vào tường) từ người chơi đều bị bỏ qua, nhưng vẫn được tính. Bạn có thể tự do xác định môi trường xung quanh theo ý thích của bạn.
- Điểm cho mã ngắn nhất.
- Điểm cho môi trường xung quanh phức tạp (ví dụ: in các vùng lớn và thay thế các ô không thể nhìn thấy bằng
?
). - Không có điểm nào cho mã không tôn trọng định dạng io
Ví dụ :
Trong ví dụ này, môi trường xung quanh được định nghĩa là ô 3x3 với trình phát ở giữa.
$ cat maze
+-+-+
|#|
| |
+---+
$ python engine.py maze
|#
@
---
.
east
|#|
@|
--+
.
north
+-+
|@|
|
.
south
|#|
@|
--+
.
west
|#
@
---
.
west
|
|@
+--
.
north
+-+
@|
|
.
west
finished
7