यह प्रिंट अ भूलभुलैया प्रश्न का अनुसरण है । यदि आपको यह सवाल पसंद है, तो कृपया अधिक भूलभुलैया पीढ़ी के एल्गोरिदम जोड़ें;)।
इस कार्य के लिए आपको एक खिलाड़ी के लिए एक गेम इंजन को लागू करना होगा, जिसे एक भूलभुलैया में खजाना ढूंढना होगा और कालकोठरी से बाहर निकलना होगा।
इंजन मानक इनपुट से भूलभुलैया को पढ़ने के बाद शुरू होता है, .जिसमें कमांड लाइन में तर्क के रूप में दी गई एक (डॉट) फ़ाइल वाली लाइन होती है। अगले खिलाड़ी @को मानचित्र पर एक यादृच्छिक स्थान पर रखा जाता है। तब इंजन मानक io के माध्यम से खिलाड़ी के साथ बातचीत करना शुरू करता है:
से आदेश इंजन खिलाड़ी के लिए :
continue: खेल समाप्त नहीं हुआ। आसपास मुद्रित कर रहे हैं एक द्वारा पीछा किया.। खिलाड़ी@चरित्र द्वारा दर्शाया जाता है। बोने की कोशिकाओं का प्रतिनिधित्व किया जाता है?।finished: खेल समाप्त। चरणों की संख्या मुद्रित होती है और खेल बंद हो जाता है।
से आदेश खिलाड़ी इंजन के लिए :
north: खिलाड़ी ऊपर ले जाता है।south: खिलाड़ी नीचे ले जाता है।west: खिलाड़ी को छोड़ दिया।east: खिलाड़ी को सही स्थानांतरित करें।
खिलाड़ी से किसी भी अमान्य कमांड (जैसे दीवार को मारना) को अनदेखा किया जाता है, लेकिन फिर भी उसे गिना जाता है। आप अपनी पसंद के अनुसार परिवेश को परिभाषित करने के लिए स्वतंत्र हैं।
- सबसे छोटे कोड के लिए अंक ।
- जटिल परिवेश के लिए अंक (जैसे बड़े क्षेत्रों को प्रिंट करते हैं और उन कोशिकाओं को प्रतिस्थापित करते हैं जो दिखाई नहीं देते हैं
?)। - कोड के लिए कोई अंक जो io प्रारूप का सम्मान नहीं करता है
उदाहरण :
इस उदाहरण में परिवेश को बीच में खिलाड़ी के साथ 3x3 सेल के रूप में परिभाषित किया गया है।
$ cat maze
+-+-+
|#|
| |
+---+
$ python engine.py maze
|#
@
---
.
east
|#|
@|
--+
.
north
+-+
|@|
|
.
south
|#|
@|
--+
.
west
|#
@
---
.
west
|
|@
+--
.
north
+-+
@|
|
.
west
finished
7