今日から必死で1から全て学んでゲーム作成します
■ このスレッドは過去ログ倉庫に格納されています
0001松田 ◆cobo4pcvHY
03/02/06 21:28ID:+Sp/g0d7言語の難しさから逃げていては駄目だ!お前はゲームを作りたいのだろ!?
という悟りを開き、今日からプログラム言語を覚え、そして
プログラムツールで作ります!今持ってるものは・・・。
6才年下の弟の持ってる技術(厨2)の教科書。
アクティブベーシック。(vectorより入手)
・・・作れるのだろうか!?もちろん古本屋で買いあさってくるが
(作れ次第、いずれうpします・・・。いつまでかか(ry))
0387名前は開発中のものです。
03/02/26 21:14ID:W1hnCPp7具体的には10進数表記して下3桁を切り捨てた値になります。
rand()で返ってくる値はRAND_MAX以下の正の整数で、デフォルト値は処理系依存が、
32,767のことが多いです。
つまり、rand()/1000 は、0〜32 の値をとることになります。
rand() % 1000 は、rand()の値を1000で割ったときの余りになります。
つまり0〜999の値を取ることになります。
で、あなたのプログラムが rand()%1000 で動かなくなる理由ですが、
0388名前は開発中のものです。
03/02/26 21:15ID:W1hnCPp72つめ(b方式のwhileループ)の yyy=(za+((zb-za) /5)) あたりを例に考えてみてください。
たとえば xxx の値が6であると、za=4,zb=8 の時点で
yyy = (za+((zb-za) /5)) = 4 となり、
永遠にza=に4を代入し続けることになります。
この問題から、あなたのプログラムには
「b方式では特定の数値を当てることが出来ない」という不具合があることを示しています。
rand()/1000でうまくいき、rand()%1000でうまくいかないのは、
偶然デフォルトの状態でrand()を呼び出すと発生するものだったというだけのことです。
srand()を行っていないため再現性があったのです。
■ このスレッドは過去ログ倉庫に格納されています