{"id":30979,"student_id":2591,"content":"forever(function() {\n var spaceLeft = 0;\n for (let y = H-1; y \u003e= 0; y--) {\n for (let x = W-1; x \u003e= 0; x--) {\n if (game == 1) {\n if (grid[x][y] === 0) {\n for (var i = 0; i \u003c 8; i++) {\n if (x+search[i][0] \u003c W \u0026\u0026 x+search[i][0] \u003e= 0 \u0026\u0026 y+search[i][1] \u003c H \u0026\u0026 y+search[i][1] \u003e= 0 \u0026\u0026 grid[x+search[i][0]][y+search[i][1]] != 20) {\n check(x+search[i][0], y+search[i][1]);\n }\n }\n }\n if (grid[x][y] \u003c 9 \u0026\u0026 grid[x][y] \u003e= 0) {} else {\n spaceLeft++;\n }\n if (grid[x][y] !== 0 \u0026\u0026 grid[x][y] != 10 \u0026\u0026 grid[x][y] != 100 \u0026\u0026 grid[x][y] != 20 \u0026\u0026 grid[x][y] != 120) {\n print(grid[x][y], x*40 + 16, y*40 + 16, \"black\", 12);\n pen.fillColor = \"gray\";\n pen.drawRect(x*40, y*40, 40, 40);\n } else if (grid[x][y] === 0) {\n pen.fillColor = \"gray\";\n pen.drawRect(x*40, y*40, 40, 40);\n } else if (grid[x][y] == 20 || grid[x][y] == 120) {\n pen.fillColor = \"white\";\n pen.drawRect(x*40, y*40, 40, 40);\n pen.fillColor = \"blue\";\n pen.drawCircle(x*40 + 20, y*40 + 20, 10);\n } else {\n pen.fillColor = \"white\";\n pen.drawRect(x*40, y*40, 40, 40);\n }\n } else if (game == 2) {\n print(\"Game Over\");\n if (grid[x][y] == 100) {\n pen.fillColor = \"red\";\n pen.drawRect(x*40, y*40, 40, 40);\n } else if (grid[x][y] == 120) {\n pen.fillColor = \"red\";\n pen.drawRect(x*40, y*40, 40, 40);\n pen.fillColor = \"blue\";\n pen.drawCircle(x*40 + 20, y*40 + 20, 10);\n } else if (grid[x][y] == 20) {\n pen.fillColor = \"blue\";\n pen.drawCircle(x*40 + 20, y*40 + 20, 10);\n } else {\n pen.fillColor = \"white\";\n pen.drawRect(x*40, y*40, 40, 40);\n }\n } else if (game == 3) {\n print(\"Congratulations\");\n if (grid[x][y] == 100) {\n grid[x][y] = 120;\n } else if (grid[x][y] == 120) {\n pen.fillColor = \"red\";\n pen.drawRect(x*40, y*40, 40, 40);\n pen.fillColor = \"blue\";\n pen.drawCircle(x*40 + 20, y*40 + 20, 10);\n } else {\n pen.fillColor = \"white\";\n pen.drawRect(x*40, y*40, 40, 40);\n }\n }\n }\n }\n if (spaceLeft == bomb) {\n game = 3;\n }\n});\n\nwhen(\"mousedown\", function() {\n x = Math.floor(cursor.x/40);\n y = Math.floor(cursor.y/40);\n if (cursor.left) {\n if (grid[x][y] != 20 \u0026\u0026 grid[x][y] != 120) {\n check(x, y);\n }\n } else {\n mark(x, y);\n }\n});\n\nfunction mark (x, y) {\n if (grid[x][y] == 10) {\n grid[x][y] = 20;\n } else if (grid[x][y] == 20) {\n grid[x][y] = 10;\n } else if (grid[x][y] == 100) {\n grid[x][y] = 120;\n } else if (grid[x][y] == 120) {\n grid[x][y] = 100;\n }\n}\n\nfunction check (x , y) {\n if (grid[x][y] == 100) {\n game = 2;\n return;\n }\n var count = 0;\n if (grid[x][y] == 100) {\n return;\n }\n for (var i = 0; i \u003c 8; i++) {\n if (x+search[i][0] \u003c W \u0026\u0026 x+search[i][0] \u003e= 0 \u0026\u0026 y+search[i][1] \u003c H \u0026\u0026 y+search[i][1] \u003e= 0) {\n if (grid[x+search[i][0]][y+search[i][1]] == 100 || grid[x+search[i][0]][y+search[i][1]] == 120) {\n count++;\n }\n }\n }\n grid[x][y] = count;\n}","created_at":"2018-06-08T11:11:05.204+08:00","updated_at":"2019-11-07T07:03:02.018+08:00","name":"踩地雷","language":"javascript","screenshot":{"url":"https://cdn2.koding.school/uploads/project/screenshot/30979/a13857b90fe2ebdd2a172fa2915fde69.jpg"},"parent_id":2,"plugin":"var W = 16;\nvar H = 12;\nvar pen = pen;\nvar grid = [];\nvar bomb = 30;\nvar search = [[0, -1], [1, -1], [1, 0], [1, 1], [0, 1], [-1, 1], [-1, 0], [-1, -1]];\nvar game = 1;\nvar bombs = [];\nvar places = [];\nfor (var x = 0; x \u003c W; x++) {\n grid[x] = [];\n for (var y = 0; y \u003c H; y++) {\n grid[x][y] = 10;\n }\n}\nfor (var i = 0; i \u003c bomb; i++) {\n var x = Math.floor(Math.random() * W);\n var y = Math.floor(Math.random() * H);\n if(grid[x][y] != 100){\n grid[x][y] = 100;\n }else{\n i--;\n }\n bombs.push([x, y]);\n}\n\nwhen(\"mousedown\", function() {\n for (var x = 0; x \u003c W; x++) {\n for (var y = 0; y \u003c H; y++) {\n places = [];\n var marks = [];\n for (var i = 0; i \u003c 8; i++) {\n if (x+search[i][0] \u003c W \u0026\u0026 x+search[i][0] \u003e= 0 \u0026\u0026 y+search[i][1] \u003c H \u0026\u0026 y+search[i][1] \u003e= 0) {\n if (grid[x+search[i][0]][y+search[i][1]] == 100 || grid[x+search[i][0]][y+search[i][1]] == 10) {\n places.push([x+search[i][0],y+search[i][1]]);\n }\n if (grid[x+search[i][0]][y+search[i][1]] == 120 || grid[x+search[i][0]][y+search[i][1]] == 20) {\n marks.push([x+search[i][0],y+search[i][1]]);\n }\n }\n }\n if(marks.length == grid[x][y] \u0026\u0026 grid[x][y] !== 0){\n for(var k = 0 ; k \u003c places.length; k++){\n check(places[k][0] , places[k][1]);\n }\n }\n if(places.length + marks.length == grid[x][y] \u0026\u0026 grid[x][y] !== 0){\n for(var j = 0 ; j \u003c places.length; j++){\n mark(places[j][0] , places[j][1]);\n console.info(places[j][0] , places[j][1]);\n }\n }\n }\n }\n});","description":null,"note":null,"status":"public","like_student_ids":[],"is_featured":false,"views":144,"hashid":"9ygs5gzr","is_content_changed":false,"review_status":"unsubmitted","submitted_at":null,"reviewed_at":null,"advise":null,"is_deleted":false}
[{"id":578566,"file_name":"0.png","project_id":30979,"asset_id":6,"created_at":"2018-06-08T11:11:05.212+08:00","updated_at":"2018-06-08T11:11:05.212+08:00"},{"id":578567,"file_name":"1.svg","project_id":30979,"asset_id":7,"created_at":"2018-06-08T11:11:05.216+08:00","updated_at":"2018-06-08T11:11:05.216+08:00"},{"id":578568,"file_name":"2.png","project_id":30979,"asset_id":8,"created_at":"2018-06-08T11:11:05.218+08:00","updated_at":"2018-06-08T11:11:05.218+08:00"},{"id":578569,"file_name":"0.wav","project_id":30979,"asset_id":9,"created_at":"2018-06-08T11:11:05.219+08:00","updated_at":"2018-06-08T11:11:05.219+08:00"},{"id":578570,"file_name":"1.wav","project_id":30979,"asset_id":10,"created_at":"2018-06-08T11:11:05.221+08:00","updated_at":"2018-06-08T11:11:05.221+08:00"}]
橘蘋學習平台
我的作品
檢視專案頁
匯出
複製
匯入
刪除
下載 Android APP (APK)
截圖
繁中
简中
English
日本語
1:1:1
1:1
全寬
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦