{"id":11135,"student_id":97,"content":"setBackdrop(\"#ffffff\");\n\nvar map = [\n [1,1,1,1,1,1,1,1,1,1,1,1,1],\n [1,0,1,0,0,0,0,0,0,1,0,0,1],\n [1,0,1,0,1,1,1,1,0,1,1,0,1],\n [1,0,0,0,0,0,0,1,0,0,0,0,1],\n [1,1,1,1,1,1,1,0,0,1,1,0,1],\n [1,0,0,1,0,0,0,0,1,0,1,0,1],\n [1,0,1,1,0,1,1,1,0,0,0,1,1],\n [1,0,0,0,0,0,0,0,0,1,0,9,1],\n [1,1,1,1,1,1,1,1,1,1,1,1,1]\n]\n\n\npen.size = 3;\npen.color = \"gray\";\nvar padding = 1; // Unit: blockSize\nvar blockSize = 480/(map.length + padding*2);\n\nvar mouse = {\n x:1,\n y:1,\n move:function( direction ){\n if(direction == null){\n direction = {x:0,y:0}\n }\n\n this.x += direction.x;\n this.y += direction.y;\n switch( map[this.y][this.x] ){\n case 0 :\n map[this.y][this.x] = 2;\n break;\n case 9:\n return true;\n default :\n this.x -= direction.x;\n this.y -= direction.y;\n return false;\n }\n\n if( this.move({x:1,y:0}) ||\n this.move({x:0,y:1}) ||\n this.move({x:-1,y:0}) ||\n this.move({x:0,y:-1}) \n ){\n return true;\n }else{\n map[this.y][this.x] = 0;\n this.x -= direction.x;\n this.y -= direction.y;\n return false;\n }\n }\n};\n\n\nforever(function(){\n updateScreen();\n});\n\nfunction updateScreen(){\n for(var y=0 ; y\u003cmap.length ; y++){\n for(var x=0 ; x\u003c(map[y]).length ; x++){\n if(map[y][x] == 1){\n pen.fillColor = \"black\";\n }else if(map[y][x] == 2){\n pen.fillColor = \"pink\";\n }else if(map[y][x] == 8){\n pen.fillColor = \"green\";\n }else if(map[y][x] == 9){\n pen.fillColor = \"orange\";\n }else{\n pen.fillColor = \"white\";\n }\n pen.drawRect(blockSize*(x+1),+blockSize*(y+1), blockSize,blockSize);\n }\n }\n\n // reset btn\n drawButton(0,0,3*blockSize,blockSize,\"red\",\"Reset\",\"black\");\n\n // start btn\n drawButton(3*blockSize,0,3*blockSize,blockSize,\"green\",\"Start\",\"black\");\n \n // mouse\n pen.fillColor = \"gray\";\n var mousePosX = blockSize*(mouse.x+1.5);\n var mousePoxY = blockSize*(mouse.y+1.5);\n var mouseSize = blockSize/2*0.6;\n pen.drawCircle(mousePosX,mousePoxY,mouseSize);\n}\n\nfunction drawButton(x,y,XSize,YSize,color,text,textColor){\n pen.fillColor = color;\n print(text,x,y,textColor,YSize)\n pen.drawRect(x,y,XSize,YSize);\n}\n\nwhen(\"click\", function(){\n\n var cursorPosX = Math.floor(cursor.x / blockSize)-padding;\n var cursorPosY = Math.floor(cursor.y / blockSize)-padding;\n if( 0 \u003c= cursorPosY \u0026\u0026 cursorPosY \u003c map.length \u0026\u0026\n 0 \u003c= cursorPosX \u0026\u0026 cursorPosX \u003c map[0].length )\n {\n if( cursor.right ){\n map[cursorPosY][cursorPosX] = 9;\n }else{\n if( map[cursorPosY][cursorPosX] == 1 ){\n map[cursorPosY][cursorPosX] = 0;\n } else{\n map[cursorPosY][cursorPosX] = 1;\n }\n }\n }else{\n if(cursor.y \u003c blockSize){\n if( cursor.x \u003c blockSize*3){\n // reset btn\n mouse.x = 1;\n mouse.y = 1;\n for(var y=0 ; y\u003cmap.length ; y++){\n for(var x=0 ; x\u003c(map[y]).length ; x++){\n if(map[y][x] == 2){\n map[y][x] = 0;\n }\n }\n }\n }else if(cursor.y \u003c blockSize*6){\n // start btn\n if( mouse.move() ){\n console.log(\"success\");\n }else{\n console.log(\"fail\");\n }\n }\n }\n }\n});\n\n","created_at":"2017-03-01T20:52:04.729+08:00","updated_at":"2019-11-23T13:27:50.701+08:00","name":"老鼠走迷宮v1.1","language":"javascript","screenshot":{"url":"https://cdn6.koding.school/uploads/project/screenshot/11135/2ccffac0a774f8d477365a80ecdd983e.jpg"},"parent_id":11106,"plugin":"","description":"點擊畫面中的格子可以修改地圖\n點擊Reset 可以清除走過的痕跡\n點擊Start 可以讓 老鼠開始走迷宮","note":null,"status":"public","like_student_ids":[178],"is_featured":false,"views":465,"hashid":"gk4sk855","is_content_changed":false,"review_status":"unsubmitted","submitted_at":null,"reviewed_at":null,"advise":null,"is_deleted":false}
[]
橘蘋學習平台
我的作品
檢視專案頁
匯出
複製
匯入
刪除
下載 Android APP (APK)
截圖
繁中
简中
English
日本語
1:1:1
1:1
全寬
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦