「ゲームプログラミング/RPG」の版間の差分
削除された内容 追加された内容
→戦闘中のアルゴリズム: 実際には、戦闘に参加している自陣営パーティのキャラが、必ずしもID順に並んでいるとは限りませんので、そのために復号する処理が必要です。 |
編集の要約なし |
||
1,123 行
:1→13,
:2 → 7
のような、並び替え番号から登録ID番号への、復号の処理がさらに必要
そのため、復号処理中に扱っている対象が敵か味方かを記録しておくフラグ記憶用の配列が必要になります(下記コードでは PorEflag 配列。Party or Enemy のフラグ(flag)という意味)。あらかじめ、その配列もグローバル変数などとして用意しておく必要があります。
<syntaxhighlight lang="C">
1,138 ⟶ 1,137行目:
if (junjoHairetu[temp] <= partyNinzu - 1) {
PorEflag[temp] = 1; // 味方ならフラグ1にセット
}
1,144 ⟶ 1,142行目:
if (junjoHairetu[temp] > partyNinzu - 1) {
PorEflag[temp] = 2; // 敵ならフラグ2にセット
}
}
</syntaxhighlight>
なお、復号は、並び替え処理側の関数でなくとも、その関数(並び替え処理関数)の呼び出し側関数(「並び替え処理関数」とは別の関数)でも可能です。呼び出し側の関数の都合によって復号のコードは違うので、復号のコードの具体例の詳細については省略します。
|