2
อัลกอริทึมสำหรับแผนที่ 2D ขั้นตอนที่มีเส้นทางเชื่อมต่อ
ปัญหาที่จะต้องแก้ไข:สร้างแผนที่ดันเจี้ยน 2D แบบสุ่มสำหรับเกมแบบเรียงต่อกันที่ห้องทั้งหมดเชื่อมต่อกัน ฉันกำลังมองหาวิธีแก้ปัญหาที่ดีกว่าสิ่งที่ฉันมีอยู่ในปัจจุบัน โซลูชันปัจจุบันของฉันคือฉันรันสองอัลกอริธึม ครั้งแรกที่สร้างดันเจี้ยนที่มีห้องพัก ที่สองตรวจสอบให้แน่ใจว่าห้องพักทุกห้องเชื่อมต่อกัน ฉันอยากรู้ว่าการแก้ปัญหาอื่นอาจมีอยู่ เร็วขึ้นและ / หรือง่ายขึ้นเป็นต้นความเร็วไม่ใช่เรื่องที่น่ากังวล แต่ถ้าความเร็วสามารถเพิ่มได้โดยไม่ต้องเสียค่าใช้จ่ายจริงนั่นเป็นเรื่องดี ที่สำคัญกว่านั้นคือฉันและคนอื่น ๆ ที่อ่านอาจเรียนรู้วิธีต่าง ๆ ในการเข้าถึงและแก้ไขปัญหา ด้านล่างคือการใช้งานปัจจุบันของฉัน ขณะนี้ห้องพักไม่มีทางออกหรือออกในทิศทาง 2, 3 หรือ 4 สร้างห้องดันเจี้ยน ตั้งค่า: ตั้งค่าห้องปัจจุบันเป็นห้องซ้ายบน รับประเภทห้องที่ถูกต้องสำหรับห้องพัก (ที่ประเภทห้องที่ถูกต้องเป็นประเภทที่ไม่มีทางออกจากคุกใต้ดินและห้องที่ออกตรงกับทางออกของห้องด้านบนและห้องทางด้านซ้ายเพียงตรวจสอบด้านบนและ เหลือเนื่องจากขั้นตอนที่ 2 ด้านล่าง) วางห้องลงแล้วเลื่อนพิกัด x หนึ่งก้าว หากพิกัด x เกินความกว้างของดันเจี้ยนให้ตั้งค่าพิกัด x เป็น 0 และเลื่อนไปข้างหน้าพิกัด y หนึ่งก้าว หากพิกัด y เกินความสูงของดันเจี้ยนเราก็เสร็จเรียบร้อย ทำซ้ำจาก # 1 ฉันจะตรวจสอบเพื่อดูว่าห้องทั้งหมดเชื่อมต่อกันหรือไม่หากพวกเขาไม่ได้เชื่อมต่อกันทั้งหมดฉันเรียกใช้อัลกอริทึมที่สองว่าในวิธีที่ไม่เซ็กซี่ …