Newer
Older
rails-otp-try / CPM-program / app / views / quiz / quiz-4.html
@ItoRino ItoRino on 27 Dec 4 KB add
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="CPM-program">
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=DotGothic16&family=Noto+Sans+JP&display=swap" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css?family=Corben:700" rel="stylesheet">
    <link rel="shortcut icon" href="../img/hataraku.png">
    <link rel ="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/css/all.min.css">
    <link rel="stylesheet" href="https://unpkg.com/ress/dist/ress.min.css">
    <title>CPM-program</title>
    <style>
        main{
    margin-left: 100px;
    margin-right: 100px;
    margin-top: 50px;
    margin-bottom: 50px;
    height: 100vh;
}
    </style>
</head>
<body>
    <main>  
        <h1 class="page-title">Rubyクイズ①</h1>   
    </div>
        <div class="blackboard-box">
            <div class="quiz-text question" id="text_q"></div>
            <div class="chalk1"></div>
            <div class="chalk2"></div>
            </div>
        <div class="select-area">
            <h2 class="quiz-title">1~3のどれかをクリックしてね</h2>
            <div class="quiz-text select" id="text_s"></div>
        </div>
        <div class="answer-area">
            <h2 class="quiz-title">あなたの答えは</h2>
            <div class="quiz-text" id="text_a"></div>
        </div>
    </main>
    <footer id="footer">
        <small>&copy; 2022 プチ論研究-伊藤理乃</small>
    </footer>
    <script>
        //初期設定
q_sel = 3; //選択肢の数
q_max = 3; //出題数



setReady();

//初期設定
function setReady() {
count = 0; //問題番号
ansers = new Array(); //解答記録
seikai = 0; // ++++++

//問題と解答
qa = new Array();
qa[0] = ["「==」の意味は?","左側と右側が等しい","左側が右側よりも小さい","左側が右側以下",1];
qa[1] = ["CSVの構造の説明で正しいのはどれか?","フィールドをフィールドごとにカンマで区切り1レコードを一行に納めたテキストファイル形式","()内の文字列を出力して、最後に改行が追加される","列の要素を小さい順に並べ替えた結果を返す",1];
qa[2] = ["「reverse」の処理方法は?","配列の末尾に要素を追加する","繰り返しの構造を作る","配列の要素の順序を逆にした配列を返す",3];
qa[3] = ["「<」の意味は?","左側が右側以下","左側が右側よりも小さい","左側よりも大きい",2];
qa[4] = ["「soat」の処理方法は?","配列や範囲などの複数の間を順に変数に代入する","繰り返し処理をスキップして次のループに移る","配列の要素を小さい順に並べ変えた結果を返す",3];
qa[5] = ["「<=」の意味は?","左側が右側以下","左側よりも大きい","左側が右側以上",1];
qa[6] = ["「push」の処理方法は?","配列の長さ(要素の数)を返す","配列の松尾に要素を追加","配列の先頭の要素を取り除きその値を返す",2];

//最初の問題
quiz();
}

//問題表示
function quiz() {
var s, n;
//問題
md = Math.floor(Math.random() * qa.length); //乱数
document.getElementById("text_q").innerHTML = (count + 1) + "問目:" + qa[md][0];
//選択肢
s = "";
for (n=1;n<=q_sel;n++) {
if (qa[md][n] != "") {
s += "【<a href='javascript:anser(" + n + ")'>" + n + ":" + qa[md][n] + "</a>】";
}
}
document.getElementById("text_s").innerHTML = s;
// qa.splice(md,1); // ------------------
}

//解答表示
function anser(num) {
var s;
s = (count + 1) + "問目:";
//答え合わせ
if (num == qa[md][q_sel + 1]) {
//正解
ansers[count] = "○";
seikai ++; // ++++++
} else {
ansers[count] = "×";
}
s += ansers[count] + qa[md][num];
document.getElementById("text_a").innerHTML = s;

qa.splice(md,1); console.log(qa); // ++++++++++
//次の問題を表示
count++;
if (count < q_max) {
quiz();
} else {
//終了
s = "<table border='2'><caption>成績発表</caption>";
//1行目
s += "<tr><th>問題</th>";
for (n=0;n<q_max;n++) {
s += "<th>" + (n+1) + "</th>";
}
s += "</tr>";
//2行目
s += "<tr><th>成績</th>";
for (n=0;n<q_max;n++) {
s += "<td>" + ansers[n] + "</td>";
}
s += "</tr>";
s += "</table>";
s += "<br>成績は、" + seikai + "点です"; // +++++++

document.getElementById("text_q").innerHTML = s;
//次の選択肢
s = "【<a href='javascript:history.back()'>前のページに戻る</a>】";
s += "【<a href='javascript:setReady()'>次のランダム問題に進む</a>】";
document.getElementById("text_s").innerHTML = s;
}
}
    </script>
</body>
</html>