{"id":737246,"student_id":1806,"content":"{\"html\":\"\u003c!DOCTYPE html\u003e\\n\u003chtml\u003e\\n\u003chead\u003e\\n \u003ctitle\u003eDocument\u003c/title\u003e\\n \u003cscript src=\\\"https://code.jquery.com/jquery-3.5.1.min.js\\\"\u003e\u003c/script\u003e\\n\u003c/head\u003e\\n\u003cbody\u003e\\n \u003ch1\u003e1A2B 推理遊戲\u003c/h1\u003e\\n \u003ctextarea id=\\\"textarea\\\" disabled autocomplete=\\\"off\\\" autocorrect=\\\"off\\\" autocapitalize=\\\"off\\\" spellcheck=\\\"false\\\"\u003e\\n========== 遊戲規則說明 ==========\\n\\n密碼是由 4 個不同的數字組成\\n每次猜完,電腦會返回 A、B 兩個數字結果\\nA 表示數字猜對 且 位置正確\\nB 表示數字猜對 但 位置錯誤\\n \u003c/textarea\u003e\\n \u003cbr/\u003e\\n \u003cbutton id=\\\"start\\\" class=\\\"green\\\"\u003e開始新的遊戲\u003c/button\u003e\\n \u003cbutton id=\\\"guess\\\" class=\\\"yellow\\\"\u003e猜密碼\u003c/button\u003e\\n \u003cbutton id=\\\"crack\\\" class=\\\"red\\\"\u003e自動破解\u003c/button\u003e\\n\u003c/body\u003e\\n\u003c/html\u003e\",\"css\":\"body {\\n text-align: center;\\n background-color: #25313e;\\n font-family: Arial;\\n}\\n\\nh1 {\\n color: #607489;\\n margin: 20px;\\n}\\n\\ntextarea {\\n width: 350px;\\n height: 350px;\\n padding: 15px;\\n border: 1px solid #aaa;\\n border-radius: 3px;\\n color: #ccc;\\n box-shadow: 0 0.25rem 0.5rem #12181e;\\n background-color: #191919;\\n text-align: center;\\n font-size: 16px;\\n line-height: 20px;\\n font-family: Monospace;\\n}\\n\\nbutton {\\n padding: 10px;\\n color: #eee;\\n margin: 10px 5px;\\n border: 1px solid #aaa;\\n border-radius: 3px;\\n box-shadow: 0 0.25rem 0.5rem #12181e;\\n font-size: 1rem;\\n cursor: pointer;\\n}\\n\\nbutton.red {\\n background-color: #fc4048;\\n}\\n\\nbutton.yellow {\\n background-color: #fd9409;\\n}\\n\\nbutton.green {\\n background-color: #1fc3b2;\\n}\",\"js\":\"$('#start').click(start); //開始遊戲\\r\\n$('#guess').click(function () {\\r\\n var str = prompt('輸入四位不重複數字');\\r\\n guess(str); //將輸入的數字丟進遊戲去猜\\r\\n});\\r\\n$('#crack').click(crack); //破解遊戲\\r\\n\\r\\nvar answer = undefined; //存放解答\\r\\nvar count = 0; //紀錄猜的字數\\r\\n\\r\\nstart(); //預設開始遊戲\\r\\n// 開始新的一局遊戲\\r\\nfunction start () {\\r\\n $('#textarea').append('\\\\n========== 開始新的遊戲 ==========\\\\n\\\\n');\\r\\n count = 0; //歸零紀錄猜的次數\\r\\n var list = getList();\\r\\n var rand = Math.floor(Math.random() * list.length);\\r\\n answer = list[rand];\\r\\n console.log(answer);\\r\\n}\\r\\n// 傳入四位數字的字串 str 並將結果顯示到畫面上\\r\\nfunction guess (str) {\\r\\n var result = diff(str, answer);\\r\\n count++;\\r\\n $('#textarea').append(`${count} 猜${str} A:${result.a} B:${result.b}\\\\n`);\\r\\n if (result.a == 4) {\\r\\n $('#textarea').append(\\\"\\\\n猜對了!\\\\n\\\");\\r\\n }\\r\\n return result;\\r\\n}\\r\\n// 取得所有可能的答案的組合\\r\\nfunction getList () {\\r\\n var list = [];\\r\\n for (var i = 123; i \u003c 9877; i++) {\\r\\n var t = i.toString();\\r\\n if (t.length \u003c 4) {\\r\\n t = \\\"0\\\" + t;\\r\\n }\\r\\n if (t[0] != t[1] \u0026\u0026 t[0] != t[2] \u0026\u0026 t[0] != t[3] \u0026\u0026\\r\\n t[1] != t[2] \u0026\u0026 t[1] != t[3] \u0026\u0026 t[2] != t[3]) {\\r\\n list.push(t);\\r\\n }\\r\\n }\\r\\n return list;\\r\\n}\\r\\n// 比較 s1, s2 並返回一帶有 a,b 資訊個物件來表示結果\\r\\n// a 表示位置一樣且數字一樣\\r\\n// b 表示數字有出現,但位置不一樣\\r\\nfunction diff (s1, s2) {\\r\\n var a = 0;\\r\\n var b = 0;\\r\\n for (var i = 0; i \u003c 4; i++) {\\r\\n //計算a\\r\\n if (s1[i] == s2[i]) {\\r\\n a += 1; //a++;\\r\\n }\\r\\n //計算b\\r\\n var idx = s2.indexOf(s1[i]);\\r\\n if (idx != -1 \u0026\u0026 idx != i) {\\r\\n b += 1; //b++;\\r\\n }\\r\\n }\\r\\n return {a: a, b: b};\\r\\n}\\r\\n// 用程式自動破解 1A2B 遊戲\\r\\nfunction crack () {\\r\\n var list = getList();\\r\\n for (var i = 0; i \u003c 5040; i++) {\\r\\n var g = list.pop();\\r\\n var result = guess(g);\\r\\n\\r\\n if (result.a == 4) break;\\r\\n\\r\\n for (var j = 0; j \u003c list.length; j++) {\\r\\n var result2 = diff(list[j],g);\\r\\n\\r\\n if (result.a != result2.a || result.b != result2.b) {\\r\\n list.splice(j,1);\\r\\n j--;\\r\\n }\\r\\n }\\r\\n }\\r\\n}\"}","created_at":"2024-04-27T10:22:09.275+08:00","updated_at":"2024-06-15T13:23:58.267+08:00","name":"破解 1A2B 推理遊戲(預設版) 副本","language":"web","screenshot":{"url":"https://cdn9.koding.school/uploads/project/screenshot/737246/a510b8772357328c2c84af3a60d69991.jpg"},"parent_id":160544,"plugin":"","description":null,"note":null,"status":"public","like_student_ids":[],"is_featured":false,"views":112,"hashid":"882sng9rz","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
到這台電腦