次の2択の質問を4つして診断結果を3種類の中から出すコード
質問1、Javascriptでケーキは好きですか?質問1答え「好き」、「嫌い」 質問2、Javascriptでアイスは好きですか?質問2答え「好き」、「嫌い」 質問3、Javascriptでクッキーは好きですか?質問3答え「好き」、「嫌い」 質問4、Javascriptでチョコレートは好きですか?質問3答え「好き」、「嫌い」 診断結果1「好きが多い場合」、「甘党」 診断結2「好きと嫌いが同数の場合」、「普通党」 診断結果3「嫌いが多い場合」、「甘党じゃない党」
<div id="result"></div>
<script>
function askQuestion(question, positiveAnswer, negativeAnswer) {
const answer = prompt(question + " " + positiveAnswer + " or " + negativeAnswer);
if (answer === null || answer === "" || (answer !== positiveAnswer && answer !== negativeAnswer)) {
alert("無効な入力です。" + positiveAnswer + "か" + negativeAnswer + "で答えてください。");
askQuestion(question, positiveAnswer, negativeAnswer); // もう一度質問を繰り返す
} else {
return answer;
}
}
function showResult(results) {
const resultContainer = document.getElementById("result");
let resultMessage = "診断結果: ";
if (results.positive > results.negative) {
resultMessage += results.positiveLabel;
} else if (results.positive < results.negative) {
resultMessage += results.negativeLabel;
} else {
resultMessage += "普通党";
}
resultContainer.innerHTML = resultMessage;
}
function performDiagnosis() {
const results = {
positive: 0,
negative: 0,
positiveLabel: "甘党",
negativeLabel: "甘党じゃない党"
};
const questions = [
["Javascriptでケーキは好きですか?", "好き", "嫌い"],
["Javascriptでアイスは好きですか?", "好き", "嫌い"],
["Javascriptでクッキーは好きですか?", "好き", "嫌い"],
["Javascriptでチョコレートは好きですか?", "好き", "嫌い"]
];
for (const question of questions) {
const answer = askQuestion(question[0], question[1], question[2]);
if (answer === "好き") {
results.positive++;
} else {
results.negative++;
}
}
showResult(results);
}
performDiagnosis(); // 診断を実行
</script>
ディスカッション
コメント一覧
まだ、コメントがありません