{"id":31646,"student_id":10,"content":"var grid = game(32, 24); // 初始化地圖\nwhen('keyup', 'space', grid.pause); // 空白鍵開始、暫停\n\nfunction update () {\n var newGrid = [];\n for (var x = 0; x \u003c 32; x++) {\n newGrid[x] = [];\n for (var y = 0; y \u003c 24; y++) {\n var c = calc(x, y);\n // print(c, x*20, y*20, 'red'); // 實作一、二\n if (grid[x][y] \u0026\u0026 c \u003c 2) newGrid[x][y] = false;\n if (grid[x][y] \u0026\u0026 c \u003e 3) newGrid[x][y] = false;\n if (grid[x][y] \u0026\u0026 c == 2) newGrid[x][y] = true;\n if (c == 3) newGrid[x][y] = true;\n }\n }\n\n // 實作五\n for (var x = 0; x \u003c 32; x++) {\n for (var y = 0; y \u003c 24; y++) {\n grid[x][y] = newGrid[x][y];\n }\n }\n}\n\n// 實作二\nfunction calc (x, y) {\n var count = 0;\n if (grid[x-1][y-1]) count++;\n if (grid[x-0][y-1]) count++;\n if (grid[x+1][y-1]) count++;\n if (grid[x-1][y+0]) count++;\n if (grid[x+1][y+0]) count++;\n if (grid[x-1][y+1]) count++;\n if (grid[x-0][y+1]) count++;\n if (grid[x+1][y+1]) count++;\n return count;\n}","created_at":"2018-06-14T22:33:11.140+08:00","updated_at":"2020-07-16T10:21:50.265+08:00","name":"生命遊戲","language":"javascript","screenshot":{"url":"/uploads/project/screenshot/31646/8a8c0edd0fa735d5937403878f78578e.jpg"},"parent_id":2,"plugin":"// 為了讓 print 正常在 update 中順利印出數字\n\n\n// stopRendering();\nGame.set({\n autoRendering: false,\n})\n\nvar game = function (w, h) {\n \n var grid = {}\n var width = 640/w;\n var height = 480/h;\n var run = false; // 開始 or 暫停\n\n for (var x=-1; x \u003c w+1; x++) {\n grid[x] = {};\n for (var y=-1; y \u003c h+1; y++) {\n grid[x][y] = false;\n }\n }\n \n var clock = 0;\n forever(function() {\n clock++;\n if (clock % 20 != 0) return; // 每秒更新 3 次\n\n for (var x = 0; x \u003c w; x++) {\n for (var y = 0; y \u003c h; y++) {\n pen.size = 1;\n pen.fillColor = grid[x][y] ? 'black': 'white';\n pen.drawRect(x*width, y*height, width, height);\n }\n }\n\n if (run) update();\n });\n\n when(\"click\", function() {\n var x = Math.floor(cursor.x/(640/w));\n var y = Math.floor(cursor.y/(480/h));\n grid[x][y] = !grid[x][y];\n });\n\n grid.pause = function () {\n run = !run;\n };\n\n return grid;\n}","description":null,"note":null,"status":"public","like_student_ids":[],"is_featured":false,"views":567,"hashid":"d5msn2jm","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