我有一個迷宮繪圖功能,因爲我不喜歡。目前,它的工作方式是取一箇中點,然後找到它上下左右的位置並將它們放入數組中。然後檢查它們是否在迷宮網格之外,並將它們從數組中移除。然後檢查是否有任何已經被訪問過(這將是一個迷宮函數,但現在它只是繪製一條長虛線的擺動線)並從數組中刪除。JavaScript迷宮代碼失敗
然後,如果沒有選項,則退出或返回,否則將繪製彩色正方形並再次運行該函數。
You can see it here,目前我有網格很小擴增2個問題我越來越:
它往往認爲,負座標確定。這使我想到的東西是非常錯誤的線:
if(options[i][0]<0 || options[i][1]<0 || options[i][0]>size-1 || options[i][1]>size-1){ // ... let us know that you're removing them... console.log("splicing: out of bounds "+options[i][0]+","+options[i][1]); // ... then remove them options.splice(i, 1);
也常不能發現一個正方形已經被訪問,並寫了它們,這讓我覺得這條線不能按預期:
if(options.length > 0){
如果你火起來的控制檯存在大量輸出,解釋一些正在發生的事情,如果它似乎工作好,剛打刷新了幾次,它會出錯 - 特別是如果它早期在右上角結束。
我當前的代碼是在這裏:http://djave.co.uk/hosted/maze/js/script.js但如果它可以幫助也有一切在http://djave.co.uk/hosted/maze/maze.zip
一個zip文件,如果你要我澄清那些僅僅發表評論。
NB此刻它應該跳過一個正方形,所以它不會是一條連續的線。
Ahhhh ......這很有道理!謝謝你的幫助。 – Djave
另一種選擇是在for循環周圍交換以便從結尾開始並向後計數 - for(i = options.length-1; i> = 0; i - ){ – Djave