
أداة توليد المتاهة التي ستدهشك!

amazeme هو مولد متاهة قائم على الطرفية والمشاهد المنفذ في Python باستخدام مكتبة curses . تتيح هذه الأداة للمستخدمين تصور المتاهات مباشرة في المحطة ، وتخصيص المظهر مع خيارات مختلفة ، وحتى توفير خوارزميات توليد المتاهة الخاصة بهم.
لتثبيت amazeme ، تحتاج إلى تثبيت Python 3 و pip .
يمكنك بعد ذلك تثبيت amazeme عبر PIP باستخدام الأمر التالي:
pip install amazemeيمكنك أيضًا تثبيته عبر pipx :
pipx install amazeme بعد التثبيت ، يمكنك تشغيل amazeme من المحطة مع خيارات مختلفة لتخصيص شاشة المتاهة.
لعرض متاهة مع إعدادات افتراضية:
amazeme -c ، --wall-color : اضبط لون الجدران. يمكنك استخدام أسماء الألوان (على سبيل المثال ، red ، blue ) أو Riseger Color. استخدم -1 للمقدمة الطرفية الافتراضية.
-b ، --bg-color : اضبط لون الخلفية. استخدم أسماء الألوان أو رموز الألوان الصحيح. استخدام -1 لخلفية الطرفية الافتراضية.
--solid-mode : تمكين الوضع الصلب لمضاعفة الأحرف المستخدمة للجدران والمسافات.
--wall : حدد سلسلة الجدران (على سبيل المثال ، # ، █ ، >< ). الإعدادات الافتراضية إلى ███ .
--space : حدد حرف المسافات (على سبيل المثال ، . ، ). الإعدادات الافتراضية إلى مساحة واحدة.
--shuffle : خلط بشكل عشوائي أحرف الجدار والفضاء أثناء التقديم.
--live : تمكين التحديثات المباشرة لعرض المتاهة. سوف المتاهة تحديث باستمرار.
--rate : Framerate لتحديث المتاهة. يعمل فقط مع --live .
--source : وفر المسار إلى ملف .py يحتوي على وظيفة مخصصة generate_maze(width, height) . هذا يتيح لك استخدام خوارزمية توليد المتاهة الخاصة بك.
عرض متاهة مع جدران حمراء وخلفية سوداء:
amazeme -c red -b blackاستخدم أحرفًا مخصصة للجدران والمسافات ذات الوضع الصلب:
amazeme --wall " ### " --space " . " --solid-modeتمكين التحديثات الحية وخلط 123 حرفًا:
amazeme --live --shuffle --wall " 123 " استخدم خوارزمية جيل متاهة مخصصة من custom_maze.py :
amazeme --source /path/to/custom_maze.py لتوفير خوارزمية توليد المتاهة الخاصة بك ، قم بإنشاء ملف Python مع دالة generate_maze(width, height) . يجب أن تُرجع هذه الوظيفة قائمة ثنائية الأبعاد (قائمة القوائم) حيث يكون كل عنصر 0 للمسافات و 1 للجدران.
مثال على ملف جيل متاهة مخصص ( custom_maze.py ):
def generate_maze ( width , height ):
""" My incredible maze generation function """
return [[ 1 if ( x + y ) % 2 == 0 else 0 for x in range ( width )] for y in range ( height )] هناك أيضًا مجموعة من المولدات المختلفة في مجلد generators في مستودع GitHub للمشروع.
لا تتردد في المساهمة وإضافة المولدات الخاصة بك!
المساهمات مرحب بها! إذا كانت لديك اقتراحات أو تحسينات ، فيرجى توتر المستودع وتقديم طلب سحب.
git checkout -b feature/YourFeature ).git commit -am 'Add some feature' ).git push origin feature/YourFeature ).تم ترخيص هذا المشروع بموجب ترخيص معهد ماساتشوستس للتكنولوجيا - راجع ملف الترخيص للحصول على التفاصيل.
مصنوع من ❤ بواسطة Zabojeb