{"id":49317,"student_id":1407,"content":"// 三個等級 level 1 ~ 3\nlevel = prompt(\"選擇你想要的背包和商品數目(阿拉伯數字1~3)\")\nif (level == 1) {\n level1()\n} else if (level == 2) {\n level2()\n} else if (level == 3) {\n level3()\n}\nfunction level1() {\n var num\n\n var best = 0\n var bestvalue = 0\n\n for (var i = 0; i \u003c 32; i++) {\n var value = 0\n var weight = 0\n num = i.toString(2)\n while (num.length \u003c 5) {\n num = \"0\"+num\n }\n for (var x = 0; x \u003c 5; x++) {\n if (num[x] == 1) {\n value += shells[x].value\n weight += shells[x].weight\n }\n\n }\n\n if (weight \u003c 1000 \u0026\u0026 value \u003e bestvalue) {\n best = num\n bestvalue = value\n\n }\n }\n for (var i = 0; i \u003c 5; i++) {\n if (best[i] == 1) {\n take(shells[i])\n }\n }\n}\nfunction level2() {\n var best;\n var bestvw = 0\n for (var i = 0; i \u003c 1024; i++) {\n var num = i.toString(2)\n var v = 0\n var w = 0\n\n while (num.length \u003c 10) {\n num = '0' + num\n }\n for (var j = 0; j \u003c 10; j++) {\n if (num[j] == '1') {\n v += shells[j].value\n w += shells[j].weight\n if (v \u003e bestvw \u0026\u0026 w \u003c= 2000) {\n bestvw = v\n best = num\n }\n }\n\n }\n\n }\n for (var f = 0; f \u003c 10; f++) {\n if (best[f] == '1') {\n take(shells[f])\n }\n }\n console.log(best)\n console.log(bestvw)\n}\nfunction level3() {\n var best;\n var bestvw = 0\n for (var i = 0; i \u003c 65536; i++) {\n var num = i.toString(2)\n var v = 0\n var w = 0\n\n while (num.length \u003c 15) {\n num = '0' + num\n }\n for (var j = 0; j \u003c 15; j++) {\n if (num[j] == '1') {\n v += shells[j].value\n w += shells[j].weight\n if (v \u003e bestvw \u0026\u0026 w \u003c= 3000) {\n bestvw = v\n best = num\n };\n }\n\n }\n\n }\n for (var r = 0; r \u003c 15; r++) {\n if (best[r] == '1') {\n take(shells[r])\n }\n };\n console.log(best);\n console.log(bestvw);\n}","created_at":"2018-11-17T16:44:46.269+08:00","updated_at":"2019-11-09T04:21:00.308+08:00","name":"背包問題 副本","language":"javascript","screenshot":{"url":"https://cdn8.koding.school/uploads/project/screenshot/49317/7aa40d598af67d3a153d4faf917ba4cf.jpg"},"parent_id":34006,"plugin":"setBackdrop(\"#222\");\n\nvar level = 1;\n\nvar env = (function () {\n\n var shells = [\n createSprite('shell_0.png'),\n createSprite('shell_1.png'),\n createSprite('shell_2.png'),\n createSprite('shell_3.png'),\n createSprite('shell_4.png'),\n createSprite('shell_5.png'),\n createSprite('shell_6.png'),\n createSprite('shell_7.png'),\n createSprite('shell_8.png'),\n createSprite('shell_z.png'),\n createSprite('shell_10.png'),\n createSprite('shell_11.png'),\n createSprite('shell_12.png'),\n createSprite('shell_13.png'),\n createSprite('shell_2.png'),\n ];\n \n var bag = [];\n\n var values = [150, 220, 220, 290, 425, 475, 470, 615, 610, 720, 990, 850, 900, 950, 1200];\n var weight = [100, 210, 230, 330, 390, 470, 450, 610, 595, 710, 800, 890, 900, 900, 1250];\n \n var limit = [0, 1000, 2000, 3000];\n\n shells.forEach((s, idx) =\u003e {\n s.scale = 0.3;\n s.opacity = 0.5;\n s.x = 106 + 106*(idx%5);\n s.y = 120 + 120*(Math.floor(idx/5))\n s.value = values[idx];\n s.weight = weight[idx];\n \n s.on('click', function () {\n this.enlarge = true;\n var idx = bag.indexOf(this);\n if (idx != -1) bag.splice(idx, 1);\n else bag.push(this);\n });\n });\n \n forever(function(){\n \n if (level == 1) {\n while (shells.length \u003e 5) shells.pop().destroy();\n }\n else if (level == 2) {\n while (shells.length \u003e 10) shells.pop().destroy();\n }\n else if (level == 3) {\n \n } else {\n level = 1;\n }\n \n shells.forEach(function (s) {\n if(s.touched(cursor)) {\n if (cursor.isDown) s.scale = 0.35;\n else s.scale = 0.3;\n s.opacity = 1;\n print(`價格 ${s.value} 元`, cursor.x - 40, cursor.y + 20, 'white');\n print(`重量 ${s.weight} 公斤`, cursor.x - 40, cursor.y + 40, 'white');\n } else {\n s.opacity = .5;\n }\n });\n \n var w = 0;\n var v = 0;\n bag.forEach(function (s) {\n w += s.weight;\n v += s.value;\n s.opacity = 1;\n });\n print(`上限 ${limit[level]}`, 80, 30, 'white', 25);\n print(`重量: ${w}`, 240, 30, w \u003c limit[level] ? 'white': 'orange', 25);\n print(`價格: ${v}`, 400, 30, 'white', 25);\n });\n \n return {\n shells: shells,\n bag: bag,\n take: bag.push.bind(bag)\n }\n})();\n\nvar shells = env.shells;\nvar take = env.take;\n","description":null,"note":null,"status":"public","like_student_ids":[],"is_featured":false,"views":237,"hashid":"yeys5y9m","is_content_changed":false,"review_status":"unsubmitted","submitted_at":null,"reviewed_at":null,"advise":null,"is_deleted":false}
[{"id":884386,"file_name":"shell_0.png","project_id":49317,"asset_id":75050,"created_at":"2018-11-17T16:44:46.280+08:00","updated_at":"2018-11-17T16:44:46.280+08:00"},{"id":884387,"file_name":"shell_5.png","project_id":49317,"asset_id":75049,"created_at":"2018-11-17T16:44:46.282+08:00","updated_at":"2018-11-17T16:44:46.282+08:00"},{"id":884388,"file_name":"shell_7.png","project_id":49317,"asset_id":75048,"created_at":"2018-11-17T16:44:46.284+08:00","updated_at":"2018-11-17T16:44:46.284+08:00"},{"id":884389,"file_name":"shell_8.png","project_id":49317,"asset_id":75047,"created_at":"2018-11-17T16:44:46.286+08:00","updated_at":"2018-11-17T16:44:46.286+08:00"},{"id":884390,"file_name":"shell_z.png","project_id":49317,"asset_id":75046,"created_at":"2018-11-17T16:44:46.288+08:00","updated_at":"2018-11-17T16:44:46.288+08:00"},{"id":884391,"file_name":"shell_1.png","project_id":49317,"asset_id":75045,"created_at":"2018-11-17T16:44:46.289+08:00","updated_at":"2018-11-17T16:44:46.289+08:00"},{"id":884392,"file_name":"shell_2.png","project_id":49317,"asset_id":75044,"created_at":"2018-11-17T16:44:46.291+08:00","updated_at":"2018-11-17T16:44:46.291+08:00"},{"id":884393,"file_name":"shell_4.png","project_id":49317,"asset_id":75043,"created_at":"2018-11-17T16:44:46.293+08:00","updated_at":"2018-11-17T16:44:46.293+08:00"},{"id":884394,"file_name":"shell_3.png","project_id":49317,"asset_id":75042,"created_at":"2018-11-17T16:44:46.295+08:00","updated_at":"2018-11-17T16:44:46.295+08:00"},{"id":884395,"file_name":"shell_13.png","project_id":49317,"asset_id":75041,"created_at":"2018-11-17T16:44:46.297+08:00","updated_at":"2018-11-17T16:44:46.297+08:00"},{"id":884396,"file_name":"shell_6.png","project_id":49317,"asset_id":75040,"created_at":"2018-11-17T16:44:46.299+08:00","updated_at":"2018-11-17T16:44:46.299+08:00"},{"id":884397,"file_name":"shell_12.png","project_id":49317,"asset_id":75039,"created_at":"2018-11-17T16:44:46.300+08:00","updated_at":"2018-11-17T16:44:46.300+08:00"},{"id":884398,"file_name":"shell_11.png","project_id":49317,"asset_id":75038,"created_at":"2018-11-17T16:44:46.302+08:00","updated_at":"2018-11-17T16:44:46.302+08:00"},{"id":884399,"file_name":"shell_10.png","project_id":49317,"asset_id":75037,"created_at":"2018-11-17T16:44:46.304+08:00","updated_at":"2018-11-17T16:44:46.304+08:00"}]
橘蘋學習平台
橘蘋學習平台
我的作品
檢視專案頁
匯出
複製
匯入
刪除
下載 Android APP (APK)
截圖
1:1:1
1:1
full
幫助
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦