質問: クイズゲームのフォームについて こんばんは。vb初心者です。 vb6.0を用いてのクイズゲームを作成することになりました。 フォームの内容は以下のようなものです。 ・問題文(ラベルorテキストボックス) ・ヒントの動画(mciコントロール) ・四択選択肢(オプションボタン) ・正解不正解(ピクチャボックス) ・解説(ラベルorテキストボックス) これを20問作るのですが、フォームを20個作らずに各コントロールの中身だけを変化させていきたいのですが、どのようなプログラムになるのか検討がつきません。 そこで、大まかなプログラムの流れだけでもいいので教えて欲しいです。 また、クイズ作成において参考になるhpがあれば教えて下さい。宜しくお願いします。
回答: 20個フォームをつくるなんてやめて~(笑) クイズは問題数分の配列を用意すればいいです。問題文と答えは dim aestion(20) as string dim kotae(20) as integer ついでに回答者の結果を格納する配列も用意しましょう。 dim kekka(20) as integer とりあえず処理の中心は上記3つの配列です。 コードの先頭において、どこでも参照できるようにした方が楽です。 問題文はファイルから読み込む方が汎用性があっていいですが、 初心者だと大変なので、とりあえずはform_loadに書いてしまいましょう。 20問は毎回固定になります。 慣れたらquestionとkotaeの配列を100に増やすとかしてもいいです。 問題文は最初100題書いておいて、20題だけ出題することもできます。 選択肢はオプションボタンとありますが、これは要らない。 最初から4つのボタンを用意して、 それを押下させた方が操作性もいいしコードも楽になります。 何問目の問題かを制御するカウンターもコードの先頭に宣言しましょう。 dim nanmonme as integer これら変数をコードの先頭におくと便利なのは、 vbがイベント駆動型で処理がイベントにまたがってしまうからです。 どこのsub にもfunctionにも属さないコードの先頭におけば フォームを閉じるまで変数の値はずっと保持されています。 mciコントロールは最後の最後。 とりあえず20問最後まで動くインタフェースを作ってからの話ですね。