سؤال

أنا أعمل على بسيطة متعددة في المباراة التي 2-4 لاعبين توضع في فصل entrypoints في متاهة و تحتاج للوصول إلى نقطة الهدف.توليد متاهة في العامة من السهل جدا, ولكن في هذه الحالة الهدف من اللعبة هو للوصول الى الهدف قبل أي شخص آخر وأنا لا أريد الجيل الخوارزمية بشكل كبير لصالح لاعب واحد على الآخرين.

لذا أنا أبحث عن متاهة خوارزمية توليد أين الطريق الأمثل لكل لاعب من startpoint أن الهدف ليس أكثر من 10% مزيد من الخطوات من متوسط المسار.هذه الطريقة اللاعبين على أكثر أو أقل على قدم المساواة الملعب.يمكن لأي شخص أن التفكير في مثل هذه الخوارزمية ؟

(لدي فكرة واحدة كما هو عليه ، ولكن ليس مدروسة و يبدو الآن أقل من المستوى الأمثل -- أنا ما بعد أنها إجابة.)

هل كانت مفيدة؟

المحلول

بديل freespace الجواب سيكون لتوليد عشوائية المتاهة ، ثم تعيين كل خلية قيمة تمثل عدد من التحركات للوصول الى نهاية المتاهة (يمكنك القيام به على حد سواء في وقت واحد إذا كان عليك أن تقرر أن كنت بدأت في 'النهاية').ثم اختيار المسافة (ربما أعلى واحد مع n من النقاط في تلك المسافة؟) ووضع اللاعبين في الساحات مع تلك القيمة.

نصائح أخرى

ماذا عن تحديد أول موقف اللاعبين و الهدف متساوية طول الطريق و بعد ذلك بناء متاهة احترام تعريف مسارات ؟ إذا كان مسارات لا تتقاطع هذه يجب أن تعمل بسهولة ، أفترض

وأود أن هذا النهج من خلال وضع هدف كل لاعب هو نقطة دخول ، ثم توليد مسارات مماثلة طول كل منها إلى هدف.ثم أود أن البدء في إضافة كاذبة الفروع على طول هذه المسارات ، والحرص على تجنب ربط اللاعب الآخر مسارات ، أو وجود فرع بالاتصال مرة أخرى على المسار.لذلك أساسا كل فرع طريق مسدود.

هذه الطريقة تضمن مسارات متشابهة في الطول.ومع ذلك لن تسمح للاعبين التفاعل مع بعضها البعض.ومع ذلك يمكنك وضع هذا في خلال خلق الروابط بين فروع مثل فرع نقاط الدخول في أي مسار على نفس المسافة من الهدف.و على هذا الفرع يمكنك تتفرع أكثر المسدودة للمتعة والربح :-)

أسهل حل أنا يمكن أن تصل إلى تولد عشوائيا كامل متاهة مثل العادية ، ثم اختيار عشوائيا نقطة الهدف و لاعب startpoints.حالما يتم ذلك, حساب أقصر طريق من كل startpoint إلى الهدف.العثور على متوسط والبدء 'تجانس' (إزالة/نقل الحواجز-لا أعرف كيف سيكون هذا العمل) المسارات التي هي أعلى بكثير من ذلك ، حتى كل من المسارات داخل السليم الهامش.وبالإضافة إلى ذلك ، قد يكون من الممكن أن تأخذ تلك التي هي أقل بكثير من متوسط وإدراج حواجز إضافية.

اختيار نقطة الخروج في مكان ما في الوسط

بدء الخاص بك ن مسارات من هناك ، إضافة 1 إلى كل مسار في كل حلقة ، حتى أنهم طالما كنت تريد لها أن تكون.

هناك جهاز N نقطة بداية و كلهم نفس الطول.

إضافة فروع أخرى خارج الخطوط ، حتى المتاهة هو الكامل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top