{"id":162257,"student_id":3647,"content":"(\"grass.png\").hideSprite = false; //是否隱藏地形圖片\nvar start = (\"grass.png\")[5][5]; //起點格子\nvar end = (\"grass.png\")[27]; //終點格子\nvar back = (\"grass.png\"); //繪製綠色格子用\nrandomBlock(0.35);\n\nvar player = createSprite('hero.png'); //創造人物\nvar box = createSprite('box.png'); //創造寶箱\nfunction randomBlock(){\n if (Math.random()*100\u003c35) {\n box.x=Math.random()*640;\n box.y=Math.random()*480;\n }\n}\n\n // 0.35 的機率隨機生成障礙物\n //清除終點2格內的障礙物\n\nvar arr = [start]; //存放要探索的格子\n\nforever(loop); //不斷執行遊戲迴圈\n\n// 遊戲迴圈\nfunction loop () {\narr.sort(function(a,b){\n return getDistance(a,end)-getDistance(b,end);\n});\n\n\n if (arr.length \u003e 0) { //判斷還有沒有格子還需要探索\nvar cell=arr.shift();\ncell.color='orange';\nvar x=cell.x;\nvar y=cell.y;\nif (maze[x+1][y].color=='white') {\n maze[x+1][y].color='red';\n maze[x+1][y].from='left';\n arr.push(maze[x+1][y]);\n}\nif (maze[x-1][y].color==\"white\") {\n maze[x-1][y].color=\"red\";\n maze[x-1][y].from='right';\n arr.push(maze[x-1][y]);\n}\nif (maze[x][y-1].color==\"white\") {\n maze[x][y-1].color=\"red\";\n maze[x][y-1].from='down';\n arr.push(maze[x][y-1]);\n}\nif (maze[x][y+1].color==\"white\") {\n maze[x][y+1].color=\"red\";\n maze[x][y+1].from='up';\n arr.push(maze[x][y+1]);\n}\nif (cell==end) {\n arr.length=0;\n back=end;\n}\n\n } else { //如果沒有格子需要探索,就開始繪製路徑\n back.color=\"green\";\n if (back.from==\"up\") {\n back=maze[back.x][back.y-1];\n \n }else if (back.from==\"down\") {\n back=maze[back.x][back.y+1];\n }else if (back.from==\"right\") {\n back=maze[back.x+1][back.y];\n }else if (back.from==\"left\") {\n back=maze[back.x-1][back.y];\n }\n if (back==start) {\n var x=player.x;\n var y=player.y;\n if (maze[x+1][y].color=='green'\u0026\u0026maze[x+1][y].from=='left') {\n player.x+=1;\n }\n if (maze[x-1][y].color=='green'\u0026\u0026maze[x-1][y].from=='right') {\n player.x-=1;\n }if (maze[x][y+1].color=='green'\u0026\u0026maze[x][y+1].from=='up') {\n player.y+=1;\n }if (maze[x][y-1].color=='green'\u0026\u0026maze[x][y-1].from=='down') {\n player.y-=1;\n }\n }\n }\n}\n\n// 計算a, b 兩個格子之間的距離\nfunction getDistance(a, b) {\n return Math.sqrt((a.x - b.x)**2 + (a.y - b.y)**2);\n}","created_at":"2020-07-04T20:14:26.176+08:00","updated_at":"2020-07-11T20:22:37.965+08:00","name":"maze","language":"javascript","screenshot":{"url":"https://cdn6.koding.school/uploads/project/screenshot/162257/89edcce60b8890776f43b51e69f48ea4.jpg"},"parent_id":2,"plugin":"","description":null,"note":null,"status":"public","like_student_ids":[],"is_featured":false,"views":118,"hashid":"zpesn49e","is_content_changed":false,"review_status":"unsubmitted","submitted_at":null,"reviewed_at":null,"advise":null,"is_deleted":false}
[{"id":2823698,"file_name":"hero.png","project_id":162257,"asset_id":65346,"created_at":"2020-07-04T20:20:55.466+08:00","updated_at":"2020-07-04T20:22:28.626+08:00"},{"id":2823700,"file_name":"wall.png","project_id":162257,"asset_id":65345,"created_at":"2020-07-04T20:21:32.308+08:00","updated_at":"2020-07-04T20:22:46.787+08:00"},{"id":2823699,"file_name":"grass.png","project_id":162257,"asset_id":65344,"created_at":"2020-07-04T20:21:15.858+08:00","updated_at":"2020-07-04T20:22:38.321+08:00"},{"id":2823701,"file_name":"box.png","project_id":162257,"asset_id":65347,"created_at":"2020-07-04T20:21:47.689+08:00","updated_at":"2020-07-04T20:22:51.047+08:00"},{"id":2823702,"file_name":"arrow.png","project_id":162257,"asset_id":210885,"created_at":"2020-07-04T20:22:05.701+08:00","updated_at":"2020-07-04T20:22:58.294+08:00"}]
橘蘋學習平台
橘蘋學習平台
我的作品
檢視專案頁
匯出
複製
匯入
刪除
下載 Android APP (APK)
截圖
1:1:1
1:1
full
幫助
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦