その1 高速加減算法


通常CWの変数計算は、ステップや、フラグのみを使ったものでした。
これは、変数A+Bの場合、AにBの値を減らしながら、1づつ足して行く
ようなやり方です。
このやり方は、わりとわかりやすく、バグも少ないため、たくさんの人々に
使用されてきました。
しかし、スタートへのリンク等を多用するため、大きな変数だと動きが重くなってしまう
ことがあります。
この処理速度低下に悩まされた技術系作者の方もいると思います。(少なくとも自分はそう)

この速度低下を遅らせるため、私が考案したのがこの高速加減算法です。
(先に考案している方がいたら、連絡ください。記事を修正します)
これは、変数Aをその数に対応したダミーアイテムやスキルに置き換え、
そのダミーアイテムの個数から、変数Bの分だけダミーを減らし、
残ったダミーを再び変数に変換します。
例を挙げると、A=54 B=37
の場合は、「ダミー10」5個、「ダミー1」4こ+「ダミー10」3個、「ダミー1」7こ
です。このままでは、1の位に「ダミー1」が11こあるため、「ダミー1」10こを
「ダミー10」1個に変換します。
あとは、この「ダミー10」9個と、「ダミー1」1個を変数に変換してやればOKです。
減算の場合は、加算を応用すればできます。
加算のものをそのまま使うと、ダミーが足りなくなってしまう事があるため、
引かれる数を変換する場合、A=25 とすると、
「ダミー10」1こ「ダミー1」15個となるように、お釣りのことを考えて変換してやれば
OKです。



サンプル作ろうとしたけど、まだできてません。
一応、システムはうちのシナリオ「GSWW」に組み込んでありますが・・・・
Ads by TOK2