{"id":679302,"student_id":10,"content":"var x = 0; //挖洞機的 X 座標\nvar y = 0; //挖洞機的 Y 座標\nvar width = 20; //格子大小\n\nforever(loop);\n\n// 遊戲主迴圈\nfunction loop () {\n\n // 繪製挖洞機\n pen.fillColor = 'red';\n pen.drawRect(x*width + 1, y*width + 1, width - 2, width - 2);\n\n var arr = [];\n if (maze[x + 1][y].color == 'white') {\n arr.push('right');\n }\n if (maze[x - 1][y].color == 'white') {\n arr.push('left');\n }\n if (maze[x][y + 1].color == 'white') {\n arr.push('down');\n }\n if (maze[x][y - 1].color == 'white') {\n arr.push('up');\n }\n print(arr.length, 10, 10, 'blue', 30);\n var rand = Math.floor(Math.random()*arr.length);\n var next = arr[rand];\n\n maze[x][y].color = 'lightblue'; //挖洞機挖過的地方塗上淡藍色\n\n if (next == 'up') {\n maze[x][y].up = true;\n y -= 1;\n maze[x][y].down = true;\n }\n else if (next == 'down') {\n maze[x][y].down = true;\n y += 1;\n maze[x][y].up = true;\n }\n else if (next == 'left') {\n maze[x][y].left = true;\n x -= 1;\n maze[x][y].right = true;\n }\n else if (next == 'right') {\n maze[x][y].right = true;\n x += 1;\n maze[x][y].left = true;\n } else {\n maze[x][y].color = 'yellow'; //挖洞機倒退的地方塗上黃色\n\n if (maze[x][y - 1].color == 'lightblue' \u0026\u0026 maze[x][y].up) {\n y -= 1;\n }\n else if (maze[x][y + 1].color == 'lightblue' \u0026\u0026 maze[x][y].down) {\n y += 1;\n }\n else if (maze[x - 1][y].color == 'lightblue' \u0026\u0026 maze[x][y].left) {\n x -= 1;\n }\n else if (maze[x + 1][y].color == 'lightblue' \u0026\u0026 maze[x][y].right) {\n x += 1;\n }\n }\n}","created_at":"2024-01-15T23:12:21.116+08:00","updated_at":"2024-01-15T23:12:41.289+08:00","name":"迷宮產生器 - 開始後用滑鼠點擊舞台以啟用按鍵,重整畫面即可重新遊戲。 副本","language":"javascript","screenshot":{"url":"/uploads/project/screenshot/679302/00de1c09597f866052bae1059909b61a.jpg"},"parent_id":157105,"plugin":"var maze = [];\nvar width = 20;\nvar row = 640/width;\nvar col = 480/width;\n\nfor (var x = -1; x \u003c row + 1; x++) {\n maze[x] = [];\n for (var y = -1; y \u003c col + 1; y++) {\n var color = x == -1 || y == -1 || x == row || y == col ? 'black' : 'white';\n maze[x][y] = {\n color: color,\n up: false,\n right: false,\n down: false,\n left: false\n };\n }\n}\n\nforever(function() {\n for (var cx = 0; cx \u003c row; cx++) {\n for (var cy = 0; cy \u003c col; cy++) {\n \n var cell = maze[cx][cy];\n pen.size = 0.001;\n pen.fillColor = cell.color;\n pen.drawRect(cx*width, cy*width, width, width);\n \n pen.size = 1;\n var x = cx*width;\n var y = cy*width;\n if (!cell.up) pen.drawLine(x, y, x + width, y);\n if (!cell.right) pen.drawLine(x + width, y, x + width, y + width);\n if (!cell.down) pen.drawLine(x, y + width, x + width, y + width);\n if (!cell.left) pen.drawLine(x, y + width, x, y);\n }\n }\n});\n","description":null,"note":null,"status":"public","like_student_ids":[],"is_featured":false,"views":296,"hashid":"5j3sje55m","is_content_changed":false,"review_status":"unsubmitted","submitted_at":null,"reviewed_at":null,"advise":null,"is_deleted":false}
[]
Orange Apple Learning Platform
My Projects
View Project Page
Export
Remix
Import
Delete
Download Android APP (APK)
Screenshot
繁中
简中
English
日本語
1:1:1
1:1
Full Width
Scan the QRCode below with your phone to install
Or you can
download APK
to this computer
Scan the QRCode below with your phone to install
Or you can
download APK
to this computer