上次我們做出了二元樹迷宮的遊戲。
但...你發現了?
我們只需要往下、往右走就能到達終點!
這實在有點蠢。讓我們改進這個問題吧!
以上篇遊戲為基礎
我們使用另一種迷宮產生方法做出隨機生成
的迷宮遊戲
預覽:
大致上流程長這樣
接下來就為大家一一介紹副程式
在最上面新增這兩個方塊
剩下的與上篇文章一樣
隨機生成並繪製路徑
通過隨機取數的方式來決定路徑的方向
1 向左 / 2 向右 / 3 向上 / 4 向下
且經過判斷後才執行繪製路徑
如果該方向為邊界,就重新取數
剩下的2、3、4都是相同邏輯
路徑生成有機會走到四周都沒有空白的地方
這個時候就要讓它找出原本的路徑返回,尋找可以繼續生成路徑的地方
此為左邊的判斷程式
剩下的 右/上/下 判斷方式相同
經過go_backwards的摧殘後
地圖上會殘留許多黃色方塊
如此圖:
因此我們需要將黃色方塊換回道路
判斷目前判斷格是否四周沒有地方可以生成路徑
回傳成立或不成立
因為條件太長,所以截圖注重於判斷往左邊可否生成
剩下的往右/上/下判斷 (與上面清晰的部分相同)
因為地圖的大小是15x15
因此邊界位於直欄0或15及橫排0或15的地方
我們只要將想要判斷的直欄或橫列放進這個副程式
便可以知道判斷格是否超出範圍
判斷地圖是否完成
並回傳成立或不成立