2 ডি ধাঁধা তৈরির জন্য অ্যালগরিদম [বন্ধ]


27

সাধারণ 2 ডি ধাঁধাঁটি তৈরি করতে আপনি অতীতে কি অ্যালগরিদম ব্যবহার করেছেন?

উত্তর:


21

মেজেস তৈরির বিভিন্ন উপায় রয়েছে। তাদের এবং তাদের বর্ণনার একটি বিশাল তালিকা এখানে রয়েছে: http://www.astrolog.org/labyrnth/algrithm.htm

আমি মনে করি আমি "পারফেক্ট" এর অধীনে বর্ণিত একটি ব্যবহার করেছি।


খুব সুন্দর সংস্থান, ঠিক আমি যা খুঁজছিলাম।
jdeseno

সেই সাইটটি ভালবাসুন, বহু বছর আগে এটি ব্যবহৃত হয়েছিল।
zanlok

8

আমি কৃসকালের অ্যালগোরিদম যে শক্তভাবে ক্ষতস্থানীয় মাইজ তৈরি করেছে তাকে আমি পছন্দ করি।

ক্রাস্টকলের অ্যালগোরিদমের মানক বর্ণনাটি অনুপযুক্ত যে এটি গ্রাফের মধ্যে অবস্থান গ্রুপগুলি থেকে অবস্থানগুলি পৃথক করতে ব্যর্থ হয়েছে, যখন ডেটাস্ট্রাক্টর পছন্দ সম্পর্কে কোনও শ্লেষের উপর নির্ভর করে, বর্ণনাকে অস্পষ্ট করে যা নভোবাসীদের বিভ্রান্ত করে। অতএব আমি কৃষ্শালের টেমোনোলজি প্রত্যাখ্যান করি।

আমি নিম্নলিখিত পদ ব্যবহার করব:

  • চিত্রলেখ
    • গোলকধাঁধা নিজেই।
  • নোড
    • গোলকধাঁধা একটি অবস্থান। বর্গাকার গোলকধাঁধায় এটি একটি বর্গাকার ঘর cell
  • প্রান্ত
    • দুটি নোডের মধ্যে সংযোগ। বর্গাকার গোলকধাঁধায় এটি একটি 1-দৈর্ঘ্যের বার।
  • ট্রি গ্রুপ
    • নোডের একটি সেট, যা খালি থাকতে পারে, গাছ হিসাবে সাজানো

এবং সেগুলি থেকে আমরা পাই:

  1. গ্রাফ ট্রি গ্রুপের জন্য একটি গ্রুপ জিটিজি তৈরি করুন , যেখানে গাছের গ্রুপ রয়েছে
  2. পূরণ GTG এক গাছ গ্রুপ আপনার ধাঁধা প্রতিটি অবস্থানের জন্য এক নোড ধারণকারী, সঙ্গে
  3. একটি প্রান্ত সেট তৈরি করুন E
  4. আপনার গোলকধাঁধার প্রতিটি বৈধ প্রান্ত দিয়ে বসান
  5. জিটিজিতে একাধিক গ্রুপ রয়েছে এবং খালি নেই:
  6. একটি র্যান্ডম প্রান্ত বাছুন Re থেকে
  7. এন্ড পয়েন্ট সনাক্ত P1 এবং P2 এর RE
  8. E থেকে আরই সরান
  9. P1 এবং p2 কোন গ্রুপের ( যথাক্রমে পি 1 জি এবং পি 2 জি ) অন্তর্ভুক্ত তা পরীক্ষা করুন।
  10. তাহলে p1g এবং p2g ভিন্ন বৃক্ষ গ্রুপ যোগদান p1g এবং p2gP1 -> P2 , এবং অন্যান্য এক গাছের গোষ্ঠীর সকল মালিকানা পুনর্লিখন, এইভাবে গাছ যোগদান।
  11. 5 ধাপে ফিরে যান।
  12. আপনার যদি কোনও কিনারা না থেকে থাকে তবে একাধিক গাছ থাকলে হয় গ্রাফটি সংযুক্ত থাকে না বা একটি বাগ রয়েছে।
  13. আপনার যদি কেবল একটি গাছ থাকে তবে আপনার সম্পূর্ণ নো-লুপ গোলকধাঁধা রয়েছে।

1
আমাদের একটি জিইউআই প্রকল্প ছিল এবং আমাদের জিইউআইতে একটি এলোমেলো 2D গোলকধাঁধা তৈরি করতে হয়েছিল। ঠিক এটিই আমি এটি করেছি এবং কখনই বুঝতে পারি নি আমি কৃস্কালস লোল ব্যবহার করছি। আমি অবশ্যই বুঝতে পেরেছিলাম যে আমি একটি গ্রাফ ব্যবহার করেছি।
ব্রায়ান হ্যারিংটন

1

গোলকধাঁধা উত্সাহে উইকিপিডিয়ায় একটি দুর্দান্ত সংস্থান রয়েছে । আমি দুর্দান্ত ফলাফল সহ এলোমেলোভাবে প্রাইমস অ্যালগরিদম ব্যবহার করেছি । বিভাগের অ্যালগরিদমটি আকর্ষণীয় দেখায় তবে আমি কখনও এটি ব্যবহার করি নি।

এখানে কর্মক্ষেত্রে উইকিপিডিয়া উদাহরণ রয়েছে im

উইকিপিডিয়া এর চিত্র


1

একটি সহজ উপায় উত্তর দেয়াল এবং পশ্চিম দেয়ালের একটি তালিকা তৈরি করা, তারপরে সেগুলি অনুমতি দিন। প্রতিটি ঘরে একটি নম্বর দিন। তারপরে তালিকার একটি দেয়াল উড়িয়ে দিন, যতক্ষণ না দুটি কক্ষে একই নম্বর না থাকে, তারপরে একই সংখ্যার সাথে অন্য সমস্ত কক্ষে একটি সংখ্যার একটি প্রচার করুন। দেয়াল শেষ না হওয়া পর্যন্ত চালিয়ে যান। এটি আয়তক্ষেত্রাকার ম্যাজেস বা সত্যিকার অর্থে অন্য কোনও ধাঁধা জন্য কাজ করে যেখানে আপনি "সম্ভাব্য সংযুক্ত ঘর" এর একটি তালিকা দিতে পারেন। এছাড়াও, এটি প্রোগ্রামের জন্য বেশ সোজা।


1

আমি রোগুয়েলাইক বিকাশে ব্যবহৃত কিছু অ্যালগরিদমগুলিও একবার দেখে নিই। রোগ বেসিনে একটি ভাল সূচনা সংস্থান আছে


1

যদিও এখানে ভাল রান রয়েছে: https : //j Journal.stuffwithstuff.com/2014/12/21/rooms-and-mazes/

বেসিক পদক্ষেপগুলি ছিল:

  • জায়গা কক্ষ
  • ধাঁধা দিয়ে খালি জায়গা পূরণ করুন
  • গোলকধাঁধার সাথে রুমগুলি সংযুক্ত করুন
  • মৃত প্রান্তগুলি খোদাই

কোডটি এখানে: https://github.com/munificent/hauberk/blob/db360d9efa714efb6d937c31953ef849c7394a39/lib/src/content/dungeon.dart


0

আপনি জিজ্ঞাসা করেছিলেন আমি কোনটি ব্যবহার করেছি তাই আমি তার উত্তরটি নিশ্চিত করে দেব। আমি রুটবিয়ার গেমসে আমার ধাঁধা খেলায় রিকার্সিভ ব্যাকট্র্যাকার অ্যালগরিদম ব্যবহার করেছি ।

এটি প্রমাণ যে আমি অ্যালগরিদম ব্যবহার করেছি, দয়া করে এটিকে আমার কাজের বিজ্ঞাপন হিসাবে দেখবেন না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.