DxLibのGetRand関数を使って-5から5までランダムな値を取得したいです
しかし、入門書などには0~xでの求め方などは書いてありますが、(-x)~xこういう数の求め方は書いてありませんでした
今考えているのは、0~5までの値を取得し、ランダムで符号を変えるというやり方です
しかし処理がうだうだと長くあまりスマートではありません
他に何かいいやり方はないでしょうか?
よろしくお願いします
-5から5の範囲のランダムな数を取得したい
Re: -5から5の範囲のランダムな数を取得したい
int random1 = GetRand(10) - 5;
で得られますよ。
で得られますよ。
Re: -5から5の範囲のランダムな数を取得したい
0~10の範囲の乱数を求めて、5を引く、という方法もあると思います。COFE さんが書きました:DxLibのGetRand関数を使って-5から5までランダムな値を取得したいです
しかし、入門書などには0~xでの求め方などは書いてありますが、(-x)~xこういう数の求め方は書いてありませんでした
きれいな方法かどうかは存じませんけれど。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。
Re: -5から5の範囲のランダムな数を取得したい
汎用性を求めるならば、こういう関数を書いてみる手もあると思います。
動作確認はしてませんけれど。
動作確認はしてませんけれど。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。
Re: -5から5の範囲のランダムな数を取得したい
この発想はなかった……
boxさんh2so5さんありがとうございました
boxさんの作ってくれた関数を早速使います
boxさんh2so5さんありがとうございました
boxさんの作ってくれた関数を早速使います
- Dixq (管理人)
- 管理人
- 記事: 1662
- 登録日時: 14年前
- 住所: 北海道札幌市
- 連絡を取る:
Re: -5から5の範囲のランダムな数を取得したい
特定の範囲の乱数を出すって、ゲーム作ってると最初に思う疑問ですよね。
ところで、float型の乱数もこの先必要になってくるとおもいますがそんな時の為に
float GetRandF( float val ){
return (float)GetRand(1000000)/1000000.f*val;
}
こんな関数も用意しておくと良いかと思います。
汎用的に使えそうな関数群を自分でまとめておいて、簡易ライブラリ化しておくと便利ですよ。
ところで、float型の乱数もこの先必要になってくるとおもいますがそんな時の為に
float GetRandF( float val ){
return (float)GetRand(1000000)/1000000.f*val;
}
こんな関数も用意しておくと良いかと思います。
汎用的に使えそうな関数群を自分でまとめておいて、簡易ライブラリ化しておくと便利ですよ。
- tk-xleader
- 記事: 158
- 登録日時: 14年前
- 連絡を取る:
Re: -5から5の範囲のランダムな数を取得したい
>Dixqさん
今日作っててちょうど小数はどうしようか悩んでいたところでした、ありがとうございます
ライブラリを自分で作ってみるのも面白そうですね、またやってみます
>tkmakwins15さん
前の質問覚えてくださってたんですか!
リンクを見ましたがやっぱり私の頭では一回で内容を知るのは無理でしたw
何度も読んで理解します
ありがとうございました
今日作っててちょうど小数はどうしようか悩んでいたところでした、ありがとうございます
ライブラリを自分で作ってみるのも面白そうですね、またやってみます
>tkmakwins15さん
前の質問覚えてくださってたんですか!
リンクを見ましたがやっぱり私の頭では一回で内容を知るのは無理でしたw
何度も読んで理解します
ありがとうございました