From 569baf9298946ac89a130fb00b3150b9b90c956a Mon Sep 17 00:00:00 2001 From: hirokik-0076 <49140594+hirokik-0076@users.noreply.github.com> Date: Tue, 9 Apr 2019 17:56:57 +0900 Subject: [PATCH 1/6] Create assessment.html --- assessment.html | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 assessment.html diff --git a/assessment.html b/assessment.html new file mode 100644 index 000000000..30d1a2660 --- /dev/null +++ b/assessment.html @@ -0,0 +1,19 @@ + + + + + + あなたのいいところ診断 + + +

あなたのいいところは?

+

診断したい名前を入れて下さい

+ + +
+
+ +
+ + + From 37b0d8fc66638d0671209b8eb2198997a8f9879a Mon Sep 17 00:00:00 2001 From: hirokik-0076 <49140594+hirokik-0076@users.noreply.github.com> Date: Tue, 9 Apr 2019 17:58:29 +0900 Subject: [PATCH 2/6] Create assessment.css --- assessment.css | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 assessment.css diff --git a/assessment.css b/assessment.css new file mode 100644 index 000000000..2b361f09b --- /dev/null +++ b/assessment.css @@ -0,0 +1,17 @@ +body { + background-color: #04A6EB; + color: #FDFFFF; + width: 500px; + margin-right: auto; + margin-left : auto; +} +button { + padding: 5px 20px; + background-color: #337AB7; + color: #FDFFFF; + border-color: #2E6DA4; + border-style: none; +} +input { + height: 20px; +} From baa9754946e92fcc4d3052b61781f9c7460f0d39 Mon Sep 17 00:00:00 2001 From: hirokik-0076 <49140594+hirokik-0076@users.noreply.github.com> Date: Tue, 9 Apr 2019 17:59:16 +0900 Subject: [PATCH 3/6] Create assessment.js --- assessment.js | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 assessment.js diff --git a/assessment.js b/assessment.js new file mode 100644 index 000000000..cbfadf0f3 --- /dev/null +++ b/assessment.js @@ -0,0 +1,102 @@ +(function () { + 'use strict'; + const userNameInput = document.getElementById('user-name'); + const assessmentButton = document.getElementById('assessment'); + const resultDivided = document.getElementById('result-area'); + const tweetDivided = document.getElementById('tweet-area'); + + /** + * 指定した要素の子どもを全て除去する + * @param {HTMLElement} element HTMLの要素 + */ + function removeAllChildren(element) { + while (element.firstChild) { // 子どもの要素があるかぎり削除 + element.removeChild(element.firstChild); + } + } + + assessmentButton.onclick = () => { + const userName = userNameInput.value; + if (userName.length === 0) { // 名前が空の時は処理を終了する + return; + } + + // 診断結果表示エリアの作成 + removeAllChildren(resultDivided); + const header = document.createElement('h3'); + header.innerText = '診断結果'; + resultDivided.appendChild(header); + + const paragraph = document.createElement('p'); + const result = assessment(userName); + paragraph.innerText = result; + resultDivided.appendChild(paragraph); + + // ツイートエリアの作成 + removeAllChildren(tweetDivided); + const anchor = document.createElement('a'); + const hrefValue = 'https://twitter.com/intent/tweet?button_hashtag=%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AE%E3%81%84%E3%81%84%E3%81%A8%E3%81%93%E3%82%8D&text=' + + encodeURIComponent(result); + anchor.setAttribute('href', hrefValue); + anchor.className = 'twitter-hashtag-button'; + anchor.innerText = 'Tweet #%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AE%E3%81%84%E3%81%84%E3%81%A8%E3%81%93%E3%82%8D'; + tweetDivided.appendChild(anchor); + + twttr.widgets.load(); + }; + + userNameInput.onkeydown = (event) => { + if (event.keyCode === 13) { + assessmentButton.onclick(); + } + }; + + const answers = [ + '{userName}のいいところは声です。{userName}の特徴的な声はみなを惹きつけ、心に残ります。', + '{userName}のいいところはまなざしです。{userName}に見つめられた人は、気になって仕方がないでしょう。', + '{userName}のいいところは情熱です。{userName}の情熱に周りの人は感化されます。', + '{userName}のいいところは厳しさです。{userName}の厳しさがものごとをいつも成功に導きます。', + '{userName}のいいところは知識です。博識な{userName}を多くの人が頼りにしています。', + '{userName}のいいところはユニークさです。{userName}だけのその特徴が皆を楽しくさせます。', + '{userName}のいいところは用心深さです。{userName}の洞察に、多くの人が助けられます。', + '{userName}のいいところは見た目です。内側から溢れ出る{userName}の良さに皆が気を惹かれます。', + '{userName}のいいところは決断力です。{userName}がする決断にいつも助けられる人がいます。', + '{userName}のいいところは思いやりです。{userName}に気をかけてもらった多くの人が感謝しています。', + '{userName}のいいところは感受性です。{userName}が感じたことに皆が共感し、わかりあうことができます。', + '{userName}のいいところは節度です。強引すぎない{userName}の考えに皆が感謝しています。', + '{userName}のいいところは好奇心です。新しいことに向かっていく{userName}の心構えが多くの人に魅力的に映ります。', + '{userName}のいいところは気配りです。{userName}の配慮が多くの人を救っています。', + '{userName}のいいところはその全てです。ありのままの{userName}自身がいいところなのです。', + '{userName}のいいところは自制心です。やばいと思ったときにしっかりと衝動を抑えられる{userName}が皆から評価されています。' + ]; + + /** + * 名前の文字列を渡すと診断結果を返す関数 + * @param {string} userName ユーザーの名前 + * @return {string} 診断結果 + */ + function assessment(userName) { + // 全文字のコード番号を取得してそれを足し合わせる + let sumOfcharCode = 0; + for (let i = 0; i < userName.length; i++) { + sumOfcharCode = sumOfcharCode + userName.charCodeAt(i); + } + + // 文字のコード番号の合計を回答の数で割って添字の数値を求める + const index = sumOfcharCode % answers.length; + let result = answers[index]; + + result = result.replace(/{userName}/g, userName); + return result; + } + + // テストコード + console.assert( + assessment('太郎') === '太郎のいいところは決断力です。太郎がする決断にいつも助けられる人がいます。', + '診断結果の文言の特定の部分を名前に置き換える処理が正しくありません。' + ); + console.assert( + assessment('太郎') === assessment('太郎'), + '入力が同じ名前なら同じ診断結果を出力する処理が正しくありません。' + ); +})(); From 67c94b3641694e70f9632413e396a52d9aa11d52 Mon Sep 17 00:00:00 2001 From: hirokik-0076 <49140594+hirokik-0076@users.noreply.github.com> Date: Tue, 9 Apr 2019 18:08:57 +0900 Subject: [PATCH 4/6] =?UTF-8?q?=EF=BC=83=EF=BC=91=E3=81=AB=E5=AF=BE?= =?UTF-8?q?=E3=81=99=E3=82=8B=E5=AF=BE=E5=BF=9C=E3=82=92=E8=A1=8C=E3=81=84?= =?UTF-8?q?=E3=81=BE=E3=81=97=E3=81=9F=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assessment.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/assessment.js b/assessment.js index cbfadf0f3..feef31fb0 100644 --- a/assessment.js +++ b/assessment.js @@ -68,6 +68,22 @@ '{userName}のいいところは気配りです。{userName}の配慮が多くの人を救っています。', '{userName}のいいところはその全てです。ありのままの{userName}自身がいいところなのです。', '{userName}のいいところは自制心です。やばいと思ったときにしっかりと衝動を抑えられる{userName}が皆から評価されています。' + '{userName}のいいところは声です。{userName}の特徴的な声はみなを惹きつけ、心に残ります。', + '{userName}のいいところはまなざしです。{userName}に見つめられた人は、気になって仕方がないでしょう。', + '{userName}のいいところは情熱です。{userName}の情熱に周りの人は感化されます。', + '{userName}のいいところは厳しさです。{userName}の厳しさがものごとをいつも成功に導きます。', + '{userName}のいいところは知識です。博識な{userName}を多くの人が頼りにしています。', + '{userName}のいいところはユニークさです。{userName}だけのその特徴が皆を楽しくさせます。', + '{userName}のいいところは用心深さです。{userName}の洞察に、多くの人が助けられます。', + '{userName}のいいところは見た目です。内側から溢れ出る{userName}の良さに皆が気を惹かれます。', + '{userName}のいいところは決断力です。{userName}がする決断にいつも助けられる人がいます。', + '{userName}のいいところは思いやりです。{userName}に気をかけてもらった多くの人が感謝しています。', + '{userName}のいいところは感受性です。{userName}が感じたことに皆が共感し、わかりあうことができます。', + '{userName}のいいところは節度です。強引すぎない{userName}の考えに皆が感謝しています。', + '{userName}のいいところは好奇心です。新しいことに向かっていく{userName}の心構えが多くの人に魅力的に映ります。', + '{userName}のいいところは気配りです。{userName}の配慮が多くの人を救っています。', + '{userName}のいいところはその全てです。ありのままの{userName}自身がいいところなのです。', + '{userName}のいいところは自制心です。やばいと思ったときにしっかりと衝動を抑えられる{userName}が皆から評価されています。' ]; /** From 9265685a68f1be93aaac6fdcf896be534d30c6ab Mon Sep 17 00:00:00 2001 From: hirokik-0076 <49140594+hirokik-0076@users.noreply.github.com> Date: Tue, 9 Apr 2019 18:24:28 +0900 Subject: [PATCH 5/6] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 49293ca43..5f9b6614d 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,3 @@ # assessment あなたのいいところ診断ゲーム +pullリクエスト From e8f17305cb2729ca29b81dfa195c57fb420f52f8 Mon Sep 17 00:00:00 2001 From: hirokik-0076 <49140594+hirokik-0076@users.noreply.github.com> Date: Tue, 9 Apr 2019 18:24:56 +0900 Subject: [PATCH 6/6] type change --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5f9b6614d..ce967f77f 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ # assessment あなたのいいところ診断ゲーム pullリクエスト +#########