…題名までそのままになっちまったなぁ。…あのコンパイル失敗後、翌日は某大○験という用事があったため、○験前日には下見を兼ねて出かけようということになった。
道案内で父親同伴という事態だったがけっこう楽しめたぞ。○験会場は神田。なのであの周りの本屋見回ったり。…実際寄ったの一件だけだけど。
で、○験は二科目、よって昼過ぎには終了する。だからって秋葉行ったりね。
だけどな、神田の本屋でプログラムの本買ってたために予算なく秋葉で買い物できず。
アア、寂しげ。
さて、前回のコンパイル失敗だがBCCの起動時に設定しなければならないスイッチを設定していなかったところにあるらしい。
○験に出かける前にネットで調べていたところ、
”bcc32 −W (ファイル名)”(全部半角だよ)
上記のようにWスイッチを付けてWinのGUIプログラムを作るよー、と宣言しなければいけないようである。
…ツー事はWスイッチを付けなければmainを探さなきゃ気がすまんのか?>bcc
ついでに日本でBCBやデルファイを発売していたインプライズはボーランド株式会社に変わったらしい。そこでBCCのアップデーターも発見。5.51になっていた。
実験の結果であるが、
unsigned int =42126
time(0)=981902478
となった。
ちなみにこの結果はコンパイルしたプログラムを一秒以上の時間をおいて起動するごとに値が変わる(はず)。
この結果から計算するに、
longの値/65536の余りがunsigned intになるらしい。
ツー事は…僕が考えているタロットプログラムは、秒単位を日単位に変更するから、65536日周期でパターンが繰り返されることになるらしい。
時にこのようなプログラムで使用される乱数という物は本来は疑似乱数というらしい。つまりは完全な乱数にはならないようなのだ。だから初期化なんて作業が必要になる。
だが、初期化時の引数がunsiguned intの値しか取らないということになると、やっぱり周期は存在してしまうことになる。
まあ65536日=179.55…年ということだからまあ気になることはないと思うけどね。
カード選択ルーチンもちょっと修正。だがまだ思案中なので書かない。
修正後の実験プログラム、ソースはここ。(ソースも一部書き変わってるよ)
注意しておくがおまけで付けてあるバッチ(拡張子がbatのファイル)は僕のパソコンの環境に設定してある。多分他の所では使えないかも知れない。
今日は補追なので短くまとめる。じゃーねー!