ページ 11

またまたすいません

Posted: 2007年5月02日(水) 22:52
by Lbfuvab
チェスのプログラムでいつも使う関数をまとめて使えるようにするのはどうすればいいのでしょうか?
すいませんが教えてください。

Re:またまたすいません

Posted: 2007年5月02日(水) 22:58
by 管理人
関数を纏めるときは、関数ポインタが便利ですよ。
配列や線形リストなど、アドレスで管理してひとまとまりで扱っていますよね?
そのように、関数にもそれぞれアドレスがあるわけですから、その関数のアドレスを利用して扱って見ます。
ゲームプログラミングの館にそれが詳しく書いてあります。

http://dixq.net/g/#s1

参考にしてみてください^^

Re:またまたすいません

Posted: 2007年5月02日(水) 23:02
by Lbfuvab
すいませんが、あのいちいち新しい修正プログラムを作る際に関数を作り直すって言うのが
めんどくさくて何かのファイルに使う関数をまとめたりは出来ないのでしょうか?

Re:またまたすいません

Posted: 2007年5月02日(水) 23:12
by 管理人
ヘッダファイルにまとめてはいかがでしょうか?
メモ帳でもいいんで、
使う関数をこぴぺしてください。
そして○○.hという名前で保存してください。
コンパイルしているファイルがある場所に保存してください。

プログラムの一番最初に
#include "○○.h"

と書いてください。
そうすることで、関数を違うファイルから読み込めます。
インクルードしたということは、結局そこに書いたのと同じことになります。

Re:またまたすいません

Posted: 2007年5月03日(木) 16:12
by Lbfuvab
有難うございました。
今簡単なテストプログラムを作ったところうまく行きました。

またまたまたすいません

Posted: 2007年5月03日(木) 16:19
by Lbfuvab
何度もすいません。
乱数はどの様にすれば作れるのでしょうか?

Re:またまたまたすいません

Posted: 2007年5月03日(木) 16:55
by box
それほど厳密なものでなければ、標準関数の
・srand()→疑似乱数の種をセットする
・rand() →疑似乱数を発生させる
で作成できます。

(乱数発生に関する参考情報)
メルセンヌ・ツイスタ
ボックス・ミューラー法
(注)以上の参考情報について、私に説明を求められても十分なお答えはできません。

Re:またまたまたすいません

Posted: 2007年5月03日(木) 18:38
by 管理人
乱数にどの程度の質を求めますか?
もし特に良質な乱数でなくていいのなら、
boxさんのおっしゃるとおり、srandで初期化し、randで乱数を取得してください。

使い方の説明としてこの辺がわかりやすいでしょうか。

http://www005.upp.so-net.ne.jp/h-masuda ... and01.html

Re:またまたまたすいません

Posted: 2007年5月04日(金) 00:45
by Lbfuvab
有難うございました。
チェスの自動対戦のプログラムが作りたくて
色々調べたのですが良く分からなくて(初期化が特に
悩んでたのです。