数学関数ScenarioModで特別に利用するための数学系関数がいくつか存在する。 数値が「0.5単位の目盛り」であると仮定して、そこへと数値を丸める関数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 2次元座標・2次元ベクトル2D位置型 2Dベクトル型 これらは一般的な、vec2D、vector2D などと称されるような、各種言語でのライブラリと同じようなものであり、 特別な関数として、ベクトルの方向を東西南北といった言葉に変換するための 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; } 3次元座標・3次元ベクトル3D位置型 3Dベクトル型 これらは一般的な、vec3D、vector3D などと称されるような、各種言語でのライブラリと同じようなものであり、 ScenarioModでは、「3D効果音再生」関連で出てくる程度であるため、そちらを参照のこと。 より詳細を知るには...「2D位置情報型」に関する主な所は以上となります。 詳しくは「2D位置情報型.h」「3D位置情報型.h」「補助ライブラリ.h」などを参照してください。 |