なでしこWEB > マニュアル > ゲーム製作編
なでしこ
ゲーム製作編〜クイズゲーム
クイズを作ろう!
次は簡単なクイズゲームを作ろう!今回使う命令は、『ボタン選択』だ。これを使えば、選択肢のボタンを手軽に表示することができるからね!
さっそく作ってみるよ。
「古典『源氏物語』の作者は誰?」を、
「清少納言
平清盛
紫式部
夏目漱石」
ボタン選択
もし、それが「紫式部」ならば
  「当たり!」と言う
違えば
  「はずれ。紫式部でした」と言う
ここまで
実行結果:
なるほど。だいたい分かったよ。
---
「メッセージ」を、
「選択肢1
選択肢2
選択肢3
・・・」のボタン選択。
---
って感じで使うんだね?
そうそう。
それで、ユーザーが選択したボタンのラベルが変数『それ』に戻ってくるんだ。
クイズをデータとプログラムに分けよう!
上のプログラムをどんどんコピーしていけば、適当にクイズが作れるんだけど、それじゃ、いつも同じ順番にクイズが出題されるし、プログラムを書くのが面倒だ。そこで、クイズの出題プログラムと、データファイルの2つにプログラムを分離させよう。
なるほど!そうすれば、いろんな種類のクイズデータを作って、クイズ・漫画編とか、クイズ・推理編とか、データファイルを入れ替えるだけで、違ったシリーズのクイズゲームになると。一石二鳥だね。
データファイルの形式を考える
データファイルの形式は、CSV形式にしよう。
なでしこはCSVファイルの扱いが得意だからね。
じゃぁ、以下のクイズデータを、『クイズデータ.csv』という名前で保存しよう。
クイズデータ.csv
---ここから---

古典『源氏物語』の作者は?,光源氏,紫式部,清少納言,紫式部
鎌倉幕府を開いたのは?,源頼朝,織田信長,弁慶,源頼朝
平安京が作られたのは何年?,710年,794年,1192年,794年
清少納言が書いたのはどれ?,枕草子,古事記,更級日記,枕草子
---ここまで---
このCSVデータは以下の順に並んでいるね。
『問題,選択肢1,選択肢2,選択肢3,答え』
これを問題のプログラムと同じフォルダに保存するよ。
データを読んで出題するプログラム
次に、上のクイズデータを読み込んで出題するプログラムを作ろう。データを読むのは『ファイル名を開く』という命令だ。そして、読み込んだCSVファイルの順番をでたらめにシャッフルするのが『配列シャッフル』だ。あとは『繰り返す』命令で繰り返し問題を出題するという仕組みだ。
#クイズゲーム
#−−−−−−−−−−
「クイズデータ.csv」を開く。
データはそれ。
#問題の順番をシャッフルする
データを配列シャッフル。
問題数はデータの要素数。
#問題数だけ繰り返す
番号を0から問題数-1まで繰り返す
  #問題を取り出す
  問題はデータ¥番号,0
  選択1はデータ¥番号,1
  選択2はデータ¥番号,2
  選択3はデータ¥番号,3
  答えはデータ¥番号,4
  #出題
  問題を「{選択1}{改行}{選択2}{改行}{選択3}」でボタン選択。
  もし、それが答えならば
    「当たり」と言う
  違えば
    「ハズレ。答えは{答え}」と言う
  ここまで
配列変数について自信がないという人は、基礎編の配列変数二次元配列変数に戻ってこれををマスターしよう。

次のページ→アドベンチャーゲーム
前のページ←サイコロを作ろう
なでしこWEB > マニュアル > ゲーム製作編