मुझे वास्तव में यकीन नहीं है कि "भूलभुलैया" सही शब्द है। मूल रूप से उपयोगकर्ता एकल में शुरू Room
करते हैं जिसमें 4 दरवाजे होते हैं (एन, एस, ई, और डब्ल्यू)। वे किसी भी दिशा में जा सकते हैं, और प्रत्येक बाद के कमरे में 1 से 4 द्वार वाले कहीं भी एक और कमरा होता है जो अन्य कमरों में जाते हैं।
"भूलभुलैया" को आकार में असीमित माना जाता है, और जैसे ही आप कमरे में बढ़ते हैं। सीमित संख्या में Rooms
उपलब्ध है, हालांकि उपलब्ध संख्या गतिशील है और बदल सकती है।
मेरी समस्या यह है कि, मैं इस प्रकार के पैटर्न के लिए सर्वश्रेष्ठ डेटा संरचना के बारे में निश्चित नहीं हूं
मैंने पहली बार Room
वस्तुओं के एक [X] [X] सरणी का उपयोग करने के बारे में सोचा था , लेकिन मैं वास्तव में इससे बचना चाहूंगा क्योंकि यह बात किसी भी दिशा में बढ़ने वाली है, और केवल "विज़िट किए गए" कमरों का निर्माण किया जाना चाहिए।
दूसरी सोच यह थी कि प्रत्येक Room
वर्ग में Room
एन, एस, ई और डब्ल्यू के लिए 4 लिंक किए गए गुण हैं, और सिर्फ पिछले से लिंक है Room
, लेकिन इसके साथ समस्या यह है कि मुझे नहीं पता कि उपयोगकर्ता कमरे में जाता है या नहीं एक बगल का कमरा पहले से ही "निर्मित" है
उदाहरण के लिए,
--- --- ---------- | | | | 5 4 शुरू करो | | | | --- --- --- --- --- --- ---------- --- --- | | | | | | | १ २ ३ | | | | | | --- --- --- --- ----------
यदि उपयोगकर्ता स्टार्ट> 1> 2> 3> 4> 5 से चलता है, तो Room
# 5 को यह जानना होगा कि डब्ल्यू में शुरुआती कमरा है, एस कमरा # 2 है और इस मामले में उपलब्ध नहीं होना चाहिए, और एन या तो एक हो सकता है नया Room
या एक दीवार (कुछ भी नहीं)।
शायद मुझे सरणी और लिंक किए गए कमरों के मिश्रण की आवश्यकता है, या शायद मैं बस इसे गलत तरीके से देख रहा हूं।
क्या इस प्रकार के "भूलभुलैया" के लिए डेटा संरचना के निर्माण का एक बेहतर तरीका है? या क्या मैं अपनी वर्तमान विचार प्रक्रिया के साथ सही रास्ते पर हूँ, और मुझे जानकारी के कुछ टुकड़े याद आ रहे हैं?
(यदि आप रुचि रखते हैं, तो परियोजना एक गेम है जो मुंचकिन क्वेस्ट के समान है )