ScenarioModで特別に利用するための数学系関数がいくつか存在する。
double round《二分の一吸着化》(double value)
void カスタム::On_プレイヤ担当ターン《メイン画面》() { double ret1 = round《二分の一吸着化》(1.77); デバッグ出力 << ret1 << endl; double ret2 = round《二分の一吸着化》(1.51); デバッグ出力 << ret2 << endl; double ret3 = round《二分の一吸着化》(-1.33); デバッグ出力 << ret3 << endl; }
2.0 1.5 -1.5
2D位置型
2Dベクトル型
これらは一般的な、vec2D、vector2D などと称されるような、各種言語でのライブラリと同じようなものであり、
ScenarioModで使いそうな範囲での「簡易版」と言える。
特別な関数として、ベクトルの方向を東西南北といった言葉に変換するための
string Get_8方位文字列(2Dベクトル型 v)
string Get_4方位文字列(2Dベクトル型 v)
といった関数が存在する。
城と城の位置関係や、戦争画面でのユニットとユニットの位置関係など、ベクトルの方向を言葉に直せるのは、
武将にセリフを言われる際に、便利に機能するだろう。
void カスタム::On_プレイヤ担当ターン《メイン画面》() { 城グリッド位置型 pos1 = Get_城グリッド位置(城配列番号::春日山城); 城グリッド位置型 pos2 = Get_城グリッド位置(城配列番号::小田原城); // 春日山 → 小田原へのベクトル 城グリッドベクトル型 v城 = pos2 - pos1; 2Dベクトル型 v汎(v城.X, v城.Y); // 城グリッドベクトル型から、汎用計算が可能な2Dベクトル型へ string str方向 = Get_8方位文字列(v汎); デバッグ出力 << str方向 << endl; }
3D位置型
3Dベクトル型
これらは一般的な、vec3D、vector3D などと称されるような、各種言語でのライブラリと同じようなものであり、
ScenarioModで使いそうな範囲での「簡易版」と言える。
ScenarioModでは、「3D効果音再生」関連で出てくる程度であるため、そちらを参照のこと。
「2D位置情報型」に関する主な所は以上となります。 詳しくは「2D位置情報型.h」「3D位置情報型.h」「補助ライブラリ.h」などを参照してください。