丸め Rounding
英語版 CrawlWiki の記事「Rounding」(0.33 向け、2025-11-09 版)の翻訳です。原文の著者は編集履歴をご覧ください。
この記事は 0.33 の時点の内容で、最新の 0.34 とは違うところがあるかもしれません。
Crawl では何種類かの丸め(rounding)が使われている。
- 常に切り上げ: 数値を切り上げる。
- 常に切り捨て: 数値を切り捨て、小数点以下を無視する。C++ はもともと数値を切り捨てるので、コードにほかの指定がなければ切り捨てになる。
- 四捨五入: 0.5 以上なら切り上げ、そうでなければ切り捨てる。範囲など、ランダムにするのが難しい数値に使われることがある。
- 重みつきの丸め(重みつきで丸める): 数値をふつうは小数第2位まで持っておき、小数部分をパーセントにした値を切り上げになる確率にする。はっきりした境目ができるのを避けるためによく使われていて、たとえば呪文のダメージ、盾による動きにくさ、行動にかかる時間、AC/EV はどれも重みつきの丸めを使う。
変更履歴
おおむね、バージョンが進むにつれてランダムな丸めを使うものがどんどん増えてきた。たとえば AC と EV は、0.32 まではランダムに丸められていなかった。