2
เส้นทางสุ่มท่อประปา
เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้เวลาในสามจำนวนเต็มความกว้างw, ความสูงและนับขั้นตอนh sคุณจะได้รับการวาดภาพที่ไม่ใช่ตัวเองตัดสุ่มเดิน sก้าวยาว ๆ บน5*wโดย5*hพิกเซลภาพที่ทุก ๆ 5 5 เซลล์พิกเซลเป็นทั้งว่างเปล่า (สีเบจบริสุทธิ์) หรือหนึ่งในสิบสองเหล่านี้ง่าย "ท่อ": ภาพด้านบนถูกขยายเพื่อแสดงรายละเอียด นี่คือขนาดท่อจริง: (เส้นสีเทาเป็นเพียงการแยกประเภทท่อ) การเดินแบบสุ่มจะเป็นเส้นทางไปป์แบบต่อเนื่องเดี่ยวที่เริ่มต้นที่จุดปลายท่อหนึ่ง (หนึ่งในสี่ประเภทท่อด้านล่าง) และสิ้นสุดที่จุดปลายท่ออื่น เริ่มต้นด้วยการเว้นว่างwตามhกริดและสุ่มเลือกเซลล์หนึ่งเซลล์เพื่อเป็นจุดเริ่มต้น จากนั้นสุ่มเลือกหนึ่งในสี่ทิศทางเพื่อเริ่มต้นและวาดจุดปลายท่อที่เกี่ยวข้อง เซลล์เริ่มต้นนี้ทำเครื่องหมายขั้นตอนแรกในการเดินของคุณและทุกครั้งที่คุณวาดเซลล์ใหม่หรือเขียนทับเซลล์ที่มีอยู่เดิมจะนับเป็นขั้นตอนอื่น ทีนี้, ซ้ำ ๆ , เลือกสุ่มไปทางขวา, ซ้าย, หรือตรง, วาดเซลล์ท่อที่เหมาะสมหากทิศทางที่เลือกนั้นถูกต้อง. ย้อนกลับและเลือกใหม่หากทิศทางไม่ถูกต้องจนกว่าsเส้นทางขั้นตอนทั้งหมดจะเกิดขึ้น เส้นทางควรลงท้ายด้วยจุดปลายท่อซึ่งอาจอยู่ที่ใดก็ได้บนกริดขึ้นอยู่กับเส้นทางที่ใช้ มันสำคัญมากที่จะต้องทราบว่ามีเพียงเซลล์ท่อตรงสองเส้นเท่านั้นที่สามารถเขียนทับได้และเซลล์ท่อตรงที่มีทิศทางตรงข้ามเท่านั้นผลลัพธ์ที่ได้คือเซลล์แยก มิฉะนั้นจะต้องวางท่อทั้งหมดไว้ในเซลล์ว่าง เมื่อวาดทางแยกส่วนหนึ่งของเส้นทางที่อยู่ถัดจากเซลล์เริ่มต้นจะถูกวาดไว้ด้านบน มันขึ้นอยู่กับคุณหรือไม่ว่ากริดนั้นมีเงื่อนไขขอบเขตเป็นระยะ (PBC) หรือไม่เช่นว่าท่อที่ออกด้านหนึ่งของกริดจะออกมาในอีกด้านหนึ่งหรือไม่ หากไม่มี PBC ขอบเขตของกริดจะนับว่าเป็นสิ่งกีดขวางที่คุณสามารถวิ่งเข้าไปในท่อได้ กรณีพิเศษ เมื่อsเป็น 0 ไม่มีท่อควรจะวาดและผลผลิตที่ควรจะเป็นที่ว่างเปล่า5*wโดย5*hภาพ (เช่นสีเบจทั้งหมด) เมื่อsคือ 1 ท่อต้นขั้วเดียว (ขนาดจริง: …