• ベストアンサー

C++Builder

卒業研究で昨日からC++Builderを使うようになったのですが、まったくわかりません。 「慣れれば普通にプログラム作るより簡単だ」と教官はいいいますが… それで昨日課題が出ました。 C++Builderでサイコロを作成し、クリックすれば数字が変わる用にしろ との事。 ずっとやってるのですが…ランダムに数字を表示するのってどうゆうの使うんですか? …もぅ初歩的な質問ですいません… 穴があったら入りたい…

質問者が選んだベストアンサー

  • ベストアンサー
  • take_four
  • ベストアンサー率100% (3/3)
回答No.3

私もC++ Builderを最近少し触る機会がありましたので、その経験から少し。 (もともとはVisual C++を使ってましたので、初めてBuilderを見たときは  使いにくそうだと思いました。) 私が使用したのはBorland C++Builder Ver.5です。 まず表示は単にサイコロを表示するだけなので、 [ファイル]-[新規作成]のタブのなかから[プロジェクト]を選択し、 アプリケーションウィザードで適当な雛型を作ればいけるでしょう。 主な質問はランダム数値についてのようですので、これはBuilderとか関係なく ANSI-Cの標準関数であるsrandとrand関数を使用して乱数を発生させれば 良いと思います。 例えばstdlib.hとtime.hをインクルードしておいて、 #include <stdlib.h> #include <time.h> srand((unsigned)time(NULL)); のように乱数を時刻で初期化しておけば、毎回実行するたびに発生する 乱数値を変えることが出来ます。 その後rand関数を使って ransuu=(rand()/(RAND_MAX/6))+1; //+1で0~5を1~6に変更 のようにして、1~6の乱数を発生させ、それに対応した1~6のビットマップ画像 を表示するなり、その数の円を書く(BuilderではEllipse関数で描画可能) なりすれば良いと思います。 BuilderではFORMと呼ばれるウィンドウを親として、文字入力のボックスや ウィンドウ、ボタンなどの子供となるツールがあらかじめ用意されていますので、 オブジェクトインスペクタという画面上で対応する親もしくは子を選択し、 イベントタブでマウスクリックのイベントを拾えば、クリックによって 異なる反応をさせることができます。 私の場合あまりヘルプを熟読せずに使ってたのですが、イベントをダブルクリック したらそれに対応する関数が自動的に追加されたりして、結構直感的に 何とかなりました。 Builderではウィンドウ(FORM)を流れ作業で作成できますので、なれれば 一からウィンドウを構築するより、はるかに労力を省けますよ。

parin
質問者

お礼

1ヶ月も前の質問の御礼を今ごろ申し訳ございません(涙) なんとか乗り切りましたがもう限界です・・・ はぁぁぁぁ・・・ ありがとうございました

その他の回答 (2)

  • kokucho81
  • ベストアンサー率61% (157/255)
回答No.2

parinさんの初心者度(?)がどの程度かわからないので、 とりあえず、超初心者と想定して… #include <ctime.h> #include <stdlib.h> srand(time(0)); int x = rand(); // これで、xは乱数です。 あとは、表示系は、C++Builderのラベルコンポーネントや、その他、 とにかく表示できるものを使用することになりますね。 ボタンコンポーネントと、ラベルコンポーネントをフレームに「ポチッとな」 と配置して、ボタンのアクションの「OnClick()」メソッド(かな?)を作り(ダブルクリックとかすると自動的に作成される) その作られた関数の中に、上記の2行を書きます。(ヘッダファイルは上の方に入れといてくださいね) そして、さらに、その関数に、発生した乱数をラベルの文字列に反映させる行も必要ですね。 多分 label1->text = x; とかいう感じになるでしょう。(正確でもなんでもなく、雰囲気的に…) まぁ、学習課題っちゅうことなので、あとは自分でやりなされ。

parin
質問者

お礼

1ヶ月も前の質問の御礼を今ごろ申し訳ございません。 じつはもう情報工学科に入って5年目なんですけどね(笑) パリンにプログラム作成はむりですね(涙) では、ありがとうございました

noname#9414
noname#9414
回答No.1

ランダムに数字を表示って・・・ C++Builderに限らず、ANSI-Cでも持っているはず。 そのままsrand関数などを使用すれば問題はないと 思いますが・・・ 表示面に関しては、ヘルプをご確認ください。 ではでは☆

parin
質問者

お礼

1ヶ月も前の質問の御礼を今ごろ申し訳ございません。 なんとかプログラムもできて・・・ パリンにプログラム作成は無理だとわかりました。