私はOpenGLでパックマンゲームを作っています。私は2つの異なる番号0または1を生成する必要があります。これは、自分のパックマンの方向性に責任があります。 。rand()とsrand()関数opengl visual cpp
rand()関数を使って数値を生成すると、ある数値に対して75%のランダム性を、もう一方の数値にはランダム性を25%生成することができますか?
は私が作る場合:
n = rand() % 3;
それは2つの異なる番号を取得します。 問題は、作り方が分からないランダム性の割合です。私はちりとカウンターでそれを作ることができます。しかし、私はそれを直接rand()関数で行うことができると言われました。私は検索しますが、Googleでは何も具体的に見つけることができませんでした。
'ランド()'非常にランダムではない、とだけ知っているので、大きなバイアスを持っています。 – chris
あなたは時間の75%ともう1つの数字の25%を選択する必要があることを意味しますか? – Mat
chris:ほとんどの 'rand'実装は、ゲームで使うのに十分です。基本的には、いずれの有用な意味においても「大きなバイアス」はありません。いくつかの実装では、 '% 'で範囲を減らすといくらかのバイアスが導入されますが、パックマンのゲームのプレイヤーがこれまでに気づくほどではありません。 –