「神山まるごと高専雑学クイズ」 src on ES-Jam
10問出題されます。何問当てられる!?
課題として提出されたコードは、繰り返しを使わず、条件分岐のif文と変数のみで作られていましたが、繰り返しを使った方法の質問があったので、改良したものが上記です。
「順次繰り返し文 - Wirth」
Wirthにおける繰り返しは、変数で数える順次繰り返し、前条件繰り返し、後条件繰り返しの3パターン。今回は、順次繰り返しのfor文を使って実装しています。
<script type="module" src="https://code4fukui.github.io/Wirth/web.js"></script> <script type="text/wirth"> function bg, show from "https://js.sabae.cc/egadv.js" quiz <- [ ["神山まるごと高専の食堂の名前は「丸ごと食堂」である", "NO"], ["神山まるごと高専の校長である五十棲さんは「いそぷり」と呼ぶことを認めている", "NO"], ["神山まるごと高専がある「神領」の読み方は「じんりょう」である", "YES"], ["神山まるごと高専の事務局長は松坂さんである", "YES"], ["神山まるごと高専にはまだ4,5年生用の寮がない", "YES"], ["神山まるごと高専は他の高専と同じように男女比が4:1である", "NO"], ["神山まるごと高専の寮には大浴場がある", "NO"], ["神山まるごと高専の奨学金は株の運用益を使っている", "YES"], ["神山まるごと高専に入るとChatGPTの有料版が使える", "YES"], ["神山まるごと高専には部活がある", "NO"], ] b <- 0 for i <- 0 to quiz.length - 1 bg() a <- show((i + 1) + ". " + quiz[i][0], "YES", "NO") s <- "次の問題へ進む" if i = quiz.length - 1 s <- "結果発表へ進む" endif if a = quiz[i][1] show("正解!!おめでとう!!", s) b <- b + 1 else show("残念...", s) endif next bg(1968) show("結果は...") show(b + "問正解でした!!") </script>
(RUN on ES-Jam)
下記のポイントを踏まえてプログラムを読んでみましょう。
- 配列が0から始まること
- 配列の中に配列を入れられること
- 配列変数の後ろに「.length」を付けることで長さが分かること
ただ、繰り返しを使わず作っても全然OK!
面倒だなっと感じた時に便利にする方法があるってことだけ押さえておきましょう。