คำถามติดแท็ก random

อัลกอริทึมหรือวิธีการในการผลิตเหตุการณ์หรือพฤติกรรมที่สุ่มในลักษณะ

3
ลดจำนวนขอบของกราฟทำให้เชื่อมต่อ
ฉันกำลังออกแบบเกมที่มีคุกใต้ดินที่สร้างแบบสุ่ม ฉันต้องการดูสิ่งนี้เป็นกราฟที่เชื่อมต่อและไม่มีทิศทางซึ่งโหนดเป็นห้องและขอบเป็นประตูหรือทางเดิน จากนั้นฉันเลือกโหนด "ด้าน" เป็นทางเข้าดันเจี้ยนฉันคำนวณระยะทางระหว่างทางเข้านี้และโหนดอื่น ๆ ทั้งหมดและตัดสินใจว่าหนึ่งในโหนดที่ไกลที่สุดคือ "เป้าหมาย" ของดันเจี้ยน (ที่ตั้งของสมบัติเจ้านาย เจ้าหญิง ฯลฯ ) ฉันเห็น 2 วิธีในการสร้างภูมิประเทศของดันเจี้ยนสุดท้าย: สร้างกราฟสุ่มครั้งแรกจากนั้นลองเติมโลก 2d ด้วยห้องพักในสถานที่สุ่มโดยคำนึงถึงการเชื่อมต่อที่ขอบ ฉันคิดว่านี่อาจเป็นเรื่องยากเพราะการสร้างห้องอาจ "ล็อค" พยายามที่จะติดตั้งห้องในที่ที่เป็นไปไม่ได้ สร้างห้องแรกโดยวางแบบสุ่มในตำแหน่งที่ต้องการจากนั้นจับคู่ผลลัพธ์กับโหนดและขอบ ฉันตัดสินใจที่จะลองสิ่งนี้ ความคิดของฉันประกอบด้วย: ก่อนอื่นให้สร้างห้องขนาดใหญ่ที่มีห้องใต้ดินทั้งหมด วางผนังด้านในห้องใหญ่ที่ตำแหน่งสุ่มแบ่งห้องใหญ่เป็นห้องเล็ก 2 ห้องที่แตกต่างกัน จากนั้นฉันก็แบ่งห้องแต่ละห้องออกเป็น 2 จนกว่าจะมีขนาดเล็กเกินไปหรือจำนวนห้องทั้งหมดถึงจำนวนสูงสุด (หรือเงื่อนไขอื่น ๆ ) ห้องใหม่แต่ละห้องเป็นโหนด เมื่อเสร็จแล้วฉันจะตรวจสอบแต่ละห้องและค้นหาห้องอื่นที่อยู่ติดกันโดยทำเครื่องหมาย 2 โหนดว่าเชื่อมต่อกันด้วยขอบ ด้วยวิธีนี้ฉันจึงมั่นใจได้ว่าห้องพักทุกห้องมีตำแหน่งที่เป็นไปได้ในโลก 2D และแมปอย่างถูกต้องโดยกราฟที่เชื่อมต่อ ปัญหาของฉันคือมีประตูและทางเดินเชื่อมต่อห้องมากเกินไป ดังนั้นฉันต้องการอัลกอริทึมที่ลดจำนวนขอบของกราฟที่ไม่ได้เชื่อมต่อที่ไม่ได้เชื่อมต่อแต่ให้เชื่อมต่อกับมัน (โหนดทั้งหมดสามารถเข้าถึงได้) ในตอนท้าย

4
ฉันจะทำให้การค้นหาเส้นทาง NPC ดูน่าเชื่อถือได้อย่างไร
มีวิธี "ทางวิชาการ" ในการให้ NPC เดินแบบสุ่มบนแผนที่ แต่มีการทำ comportment ที่น่าเชื่อถือหรือไม่? สถานการณ์ที่ชัดเจนคือยามติดอาวุธที่เดินไปรอบ ๆ ห้องใต้ดินเพื่อรักษาความปลอดภัย มันค่อนข้างง่ายในการตั้งค่าเส้นทาง "เชื่อ" สิ่งที่ฉันกำลังมองหาคือวิธีจำลองฝูงชนในเมืองเล็ก ๆ ที่จริงแล้ว ฉันจะทำให้การเคลื่อนไหวของพวกเขาดูเหมือนพวกเขาไม่ใช่หุ่นยนต์ที่ไม่มีจุดมุ่งหมาย

8
ทางออกที่ดีที่สุดสำหรับ "ระดับสตริง"?
ฉันมีเกมที่สร้างแผนที่ระดับสุ่มในช่วงเริ่มต้นของระดับ ฉันต้องการใช้วิธีการบันทึกและโหลดระดับ ฉันคิดว่าบางที XML อาจเป็นตัวเลือกที่ดีสำหรับการบันทึกตัวแปรทั้งหมดจากนั้นมันจะง่ายสำหรับฉันที่จะสร้างสิ่งที่สามารถแยกวิเคราะห์ XML นั้นและสร้างระดับที่แน่นอน แต่ XML อาจเกินความต้องการของฉัน ฉันจำได้ในตอนกลางวันด้วย Sega console ที่ไม่มีความสามารถในการบันทึกเกมของคุณ (ฉันคิดว่าเกม Worms ทำเช่นนั้น) พวกเขาจะให้ตัวละครที่คุณสามารถเขียนลงไปได้ หากคุณต่อยสตริงนั้นในภายหลังมันจะโหลดในระดับที่แน่นอน "ระดับสตริง" จะเป็นตัวเลือกที่ดีหรือไม่? มันจะเป็นการแปลง "base60" บ้างไหม? ฉันจะใช้สิ่งนี้ได้อย่างไร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.