{"id":52890,"student_id":10,"content":"{\"html\":\"\u003c!DOCTYPE html\u003e\\n\u003chtml\u003e\\n\u003chead\u003e\\n \u003ctitle\u003eDocument\u003c/title\u003e\\n \u003clink rel=\\\"stylesheet\\\" href=\\\"https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css\\\"\u003e\\n\u003c/head\u003e\\n\u003cbody class=\\\"p-4\\\"\u003e\\n \u003cp\u003e\u003c/p\u003e\\n \u003cspan class=\\\"pb-4 align-center\\\"\u003e\\n \u003cbutton class=\\\"btn btn-primary\\\" onclick=\\\"yes();ask();\\\"\u003e是\u003c/button\u003e\\n \u003cbutton class=\\\"btn btn-danger\\\" onclick=\\\"no();ask();\\\"\u003e不是\u003c/button\u003e\\n \u003cbutton class=\\\"btn btn-secondary\\\" onclick=\\\"unknow();ask();\\\"\u003e不知道\u003c/button\u003e\\n \u003c/span\u003e \\n\u003c/body\u003e\\n\u003c/html\u003e\",\"css\":\"body {\\n width: 100vw;\\n height: 100vh;\\n}\\n\\n.right span, .left span {\\n display: inline-block;\\n max-width: 75%;\\n padding: 8px;\\n border-radius: 20px;\\n font-size: .9rem;\\n border-radius: .9rem;\\n}\\n\\n.right {\\n text-align: right;\\n}\\n\\n.right span {\\n color: #fff;\\n background-color: rgb(59, 114, 241);\\n}\\n\\n.left span {\\n color: #555;\\n background-color: rgb(210, 210, 210);\\n}\\n\\n\",\"js\":\"var tagsData = [\\\"戴眼鏡\\\", \\\"結婚\\\", \\\"男性\\\", \\\"藝人\\\", \\\"政治人物\\\", \\\"網紅\\\"]\\nvar database = {\\n \\\"柯文哲\\\": {\\n has: [\\\"戴眼鏡\\\", \\\"結婚\\\", \\\"男性\\\", \\\"政治人物\\\"],\\n not: [\\\"藝人\\\"]\\n },\\n \\\"周杰倫\\\": {\\n has: [\\\"結婚\\\", \\\"男性\\\", \\\"藝人\\\"],\\n not: [\\\"戴眼鏡\\\", \\\"政治人物\\\"]\\n },\\n \\\"小玉\\\": {\\n has: [\\\"網紅\\\", \\\"男性\\\"],\\n not: [\\\"戴眼鏡\\\", \\\"政治人物\\\", \\\"結婚\\\"]\\n }\\n}\\n\\nvar data; // 儲存名人的資料\\nvar tags; // 儲存名人擁有的屬性\\nvar Q; // 儲存當前問題的內容\\nvar log // 儲存問答的紀錄,當猜不出來時新增到 database 中\\n\\nfunction start () {\\n say('現在請你在心中想一個台灣的名人,讓我問幾個是/不是的問題就能猜出你在想誰!', 'left');\\n data = JSON.parse(JSON.stringify(database)); // 複製 database 資料到 data 變數中\\n tags = JSON.parse(JSON.stringify(tagsData)); // 複製 tagsData 資料到 tags 變數中\\n log = { has: [], not: [] }\\n ask();\\n}\\n\\n// 執行 ask 函式使機器人問出一個 是/不是 的問題\\nfunction ask () {\\n\\n var best;\\n var bestScore = 0;\\n var total = Object.keys(data).length;\\n\\n for (var i = 0; i \u003c tags.length; i++) {\\n var has = 0;\\n var not = 0;\\n for (var name in data) {\\n if (data[name].has.includes(tags[i])) has++;\\n if (data[name].not.includes(tags[i])) not++;\\n }\\n \\n // 計算問題期望可以排除的人數\\n var score = has*not*2/total;\\n\\n if (score \u003e bestScore) {\\n bestScore = score;\\n best = tags[i];\\n }\\n }\\n \\n // // 將問過的問題從 tags 中移除\\n // var idx = tags.indexOf(best);\\n // tags.splice(idx, 1);\\n\\n if (best !== undefined) {\\n Q = best;\\n } else { // 如果沒有合適的問題就開始猜人名\\n Q = Object.keys(data)[0];\\n if (Q == undefined) {\\n var name = prompt('對不起,我猜不出來! 可以跟我說出他的名字嗎?');\\n var tag = prompt('可以跟我說一個他的特徵嗎?');\\n tagsData.push(tag);\\n log.has.push(tag);\\n database[name] = log; // 新增一筆名人的資料到資料庫\\n say(`我記住了,再來一局!`, 'left');\\n return start();\\n }\\n }\\n\\n say(`請問他是${Q}嗎?`, 'left');\\n}\\n\\n// 點擊「是」按鈕會觸發執行 no 函式\\nfunction yes () {\\n for (var name in data) {\\n if (data[name].not.includes(Q)) delete data[name];\\n }\\n if (data[Q]) {\\n say('我真是太厲害了~ 再來一局!', 'right');\\n return start();\\n }\\n log.has.push(Q);\\n say('是', 'right');\\n}\\n\\n// 點擊「不是」按鈕會觸發執行 no 函式\\nfunction no () {\\n for (var name in data) {\\n if (data[name].has.includes(Q)) delete data[name];\\n }\\n delete data[Q];\\n log.not.push(Q);\\n say('不是', 'right');\\n}\\n\\n// 點擊「不知道」按鈕會觸發執行 unknow 函式\\nfunction unknow () {\\n delete data[Q];\\n say('不知道', 'right');\\n}\\n\\nsay('你好,我是讀心人工智能機器人!', 'left')\\nstart();\"}","created_at":"2019-01-04T15:42:39.106+08:00","updated_at":"2019-10-28T08:31:21.990+08:00","name":"20Q","language":"web","screenshot":{"url":"/uploads/project/screenshot/52890/4d3345a38be7e34e4462b48bd09e5745.jpg"},"parent_id":3,"plugin":"function say (text, style) {\n var p = document.getElementsByTagName('p')[0];\n p.innerHTML += `\n \u003cp class=\"${style || 'right'}\"\u003e\n \u003cspan\u003e${text}\u003c/span\u003e\n \u003c/p\u003e\n `\n window.scrollTo(0,document.body.scrollHeight);\n}\n\n\n","description":null,"note":null,"status":"public","like_student_ids":[],"is_featured":false,"views":478,"hashid":"gk4s53zr","is_content_changed":false,"review_status":"unsubmitted","submitted_at":null,"reviewed_at":null,"advise":null,"is_deleted":false}
[{"id":942066,"file_name":"koding.png","project_id":52890,"asset_id":103489,"created_at":"2019-01-04T15:42:39.122+08:00","updated_at":"2019-01-04T15:42:39.122+08:00"}]
Orange Apple Learning Platform
My Projects
View Project Page
Export
Remix
Import
Delete
Download Android APP (APK)
Screenshot
Open Web Site
繁中
简中
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