- ベストアンサー
画像をランダムに表示して名前を入力するクイズソフトの作り方
- 自分で撮った画像やネットでダウンロードした画像をランダムに表示して、その名前を入力させるクイズソフトを制作する方法について教えてください。
- 画像はカテゴリ別に分類して、選択したカテゴリ内からランダムに表示できるようにしたいです。また、新しい画像の追加やクイズの編集が簡単に行える仕組みも欲しいです。
- また、不正解した問題の復習モードも必要です。Windows XPで開発環境はVisual C++ 2008 Express EditionとTurbo C++を使用しています。プログラミング知識はPHPがありますが、Windows APIやクライアントのプログラミングは初めてです。アドバイスをお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。以下参考程度に。 >>OSはWindows XPで、開発環境はVisual C++ 2008 Express EditionとTurbo C++をインストールしています。 VC++2008を使用しましょう。 >>自分で撮った画像やネットでダウンロードした画像をランダムに表示して、 BitBlt()辺りの描写関数は必須になる筈です。其の外デバイスコンテキスト、ビットマップハンドル等も使用する事になるでしょう。 画像フォーマットは、BMPに統一した方が楽ですが、JPG等が混ざり込むのであるならば、SetDIBits()で読み取れます。 「画像をランダムに~」は後述します。 「Device Context Functions」 http://msdn.microsoft.com/en-us/library/ms533259(VS.85).aspx 「Bitmap Functions」 http://msdn.microsoft.com/en-us/library/ms532343(VS.85).aspx >>その名前を入力させ、正解不正解を知らせるクイズソフトを制作したいのですが、どのような関数を使えばいいのでしょうか? 入力受付はエディットボックスコントロール辺りでしょうか。 此れ以上にゲーム的な入力機能を求めてしまうと、大変厄介な事になります。 「エディットボックスコントロール入力の監視」 http://msdn.microsoft.com/en-us/library/bb761676(VS.85).aspx >>画像は大まかなカテゴリ別に分類して、選択した分類の中からランダムに表示したり出来るようにしたいです。 >>また新しい画像の追加やクイズの編集も、手軽に(たとえば植物カテゴリならエクスプローラの植物フォルダに画像を追加して、ファイルネームがそのまま正解になるみたいな)出来るようにしたいです。 フォルダ構造を真っ先に考えた方が良いかもしれません。 アプリスタート時に各フォルダを監査して、見つかったファイルを問題集テーブルの中に入れて行くのが手っ取り早そうです。 「ランダムに表示~」ですが、問題集テーブルの条件に有った場所から、ランダムで抽出して、出題用テーブルとして集合させた方が楽そうです。 出題用テーブルをゲーム進行の処理にエントリさせれば、出題用テーブルが例え何のカテゴリであっても良い訳です。 そして、そう言った一連の手間を緩和してくれるのはSTLです。 「FindNextFile() ファイルの検索」 http://msdn.microsoft.com/ja-jp/library/cc429242.aspx 「STLPort」 http://www.google.co.jp/search?hl=ja&q=STLPort&lr= >>不正解したものだけを出題する復習モードなんかも必要です。 モード選択やカテゴリ選択はボタンコントロール等が手っ取り早そうです。 押したら、問題集テーブルから条件に見合った部分をランダムで抽出して、出題用テーブルを作成します。一つ上の項目で述べた通りです。 「ボタンコントロール押下の監視」 http://msdn.microsoft.com/en-us/library/bb761825(VS.85).aspx >>WindowsのAPIとかクライアントのプログラミングは全くわかりません。 ウィンドウ版「Hello World」なるサンプルプログラムを何処かから引っ張って来て、暫くいじり倒して見るのが良いでしょう。 ウィンドウを開くサンプルプログラムならば、あちらこちらに沢山アップロードされています。参考になる筈です。
その他の回答 (2)
- hidebun
- ベストアンサー率50% (92/181)
んー、画像表示やら何やらは置いといて、とりあえず、テキストのアプリで、 出題、回答入力、正解・不正解の判定、結果の保存・表示程度が できるようになりましょう。 その上で、出題方式の機能拡張(画像の提示・復習モードの追加)を行いましょう。 いきなり何もしらないレベルから表記のアプリを作るのは敷居が高いでしょう。
- arain
- ベストアンサー率27% (292/1049)
これって丸投げと同じ内容なんだけど。 「○○ということをやりたいけど、△△とするために使用する関数がわからない」 ならともかく、 「○○ということをやりたいから関数教えて」 じゃ、丸投げでしょ? >どのような関数を使えばいいのでしょうか? 機能を実現するのに必要な機能を持った関数。 少なくとも、漠然として物ではなく、どのようなものを作るか「設計」すれば自然に必要な機能がわかるので、それに対してならいくらでも回答できる。 >プログラミング知識は、PHPで一応自分で考えているWEBページや簡単なスクリプトを制作できるかな、というレベルです。 >WindowsのAPIとかクライアントのプログラミングは全くわかりません。 なら、まずはCの勉強からだね。
お礼
まさにズバリの回答でありがたいです。どうもありがとうございました。