Passengerユニットの処理方法はちょいとお待ちください。多少技術的な問題が残っておりますので。
赤字表記をやめたりされてますが、もうこれだけいろんなことを表現しようとしだすと、色を使う表記をしてしまうほうが楽では無いでしょうか?いろんなデザインを考えるのも、白黒よりも、カラーのほうが簡単ですもんね。
うん。まったくその通り!しかし・・・ちょっと言い訳しますと・・
赤字表記は結構見やすくてよかったと思うのですが、廃止したワケは二つあります。
1.だってコレ、タイプライターで打ち出したような文書でしょ?だったら赤い文字なんてタイプできないでしょ。
2.マクロの処理速度を考えると、どうもフォントの色を変更する処理は遅いような気がする・・・気のせいかな??
という、いずれも弱い理由です。
まず1については、フォントを変更した時点で、すでにタイプ文書じゃなくなってますね。でも〜見やすさ最優先なら白背景に黒文字MSゴシックで罫線引いて、ユニットデータは背景色と文字色で区別するとかの方が格段に見易さは向上します。でもおおおおおおお・・・・・・・・・1940年代の報告書なんだよおおおお
実は赤文字廃止の直接的な理由は2の方で、マクロの実行テスト経過を見ると、赤文字変換のところでもたついていたのは事実で、打ち消し線だけにすると処理がスムーズになりました。ま、この辺は私のコードの書き方も関係するのでなんともいえませんが。
ま、いっそのことOOBだけは、雰囲気なんか無視して、みやすさや利便性を最優先するってのは一つの考え方ですね。で・・・・赤文字って復活したほうが良い?
dugong wrote:上物の、鬼畜プレイデータを送付しました。
ご確認ください。究極のマゾプレイでした。
あぁ、心が痛い
はいはい。確かに受け取りました。普通は、人間プレイヤーがAI相手にCD負けすることはまず無いので、7ターンもの間ひたすらやられ続けるのはさぞ辛かったろうと拝察いたします。ナムナム・・
しかし、そのおかげで、無事、目的のブツを見つけることができました。
Surrender関連のデータは以下のとおりです。
Code: Select all
セクション37
0F列−現ターン(降伏した場合は常に"51(h)"が立つ)
3C0列−完全に経過したターン数("現ターン-1"になる)
3C1列−Side0の降伏フラグ=01、Side1の降伏フラグ=02
まず、スコア画面で(Surrender) の表示が出るフラグは3C1列です。つまり、ここだけ変更すればスコア画面での表示は操作できます。
ただし、降伏した場合は現ターンを示す0F列も変化し、必ず「51(h)」になるようです。おそらく途中終了を意味するフラグなのでしょう。Morale Broken で途中終了した場合なんかにもこの値が立つような予感・・・。
3C0列の値は、完全に経過したターン数を示し、例えば現在7ターン目だとすると、値は6になります。ターン終了ボタンを押すと増えていくようです。この値は降伏時にも変化しません。降伏したターンはここの値+1で把握できそうです。
ここで挙げたほかにも、もちろん勝敗判定なども変更されます。で、例えば、現在遂行中のゲームを途中でSide0側の降伏終了とする場合は、次のような操作が必要になります。
・3C1列を01に書き換える
・0F列を51にする(しなくても問題ないみたいだけど)
・70〜71をFEFF、72〜73列を0200にする(勝敗判定)
・07列を09にする(スコア画面を出すため。ゲーム途中は03になっている)
というわけで、dugongさんのマゾプレイのおかげで、降伏関連データはたぶん全て把握できたと思います。ありがとうございました。
・・・・で、次は Morale Broken関連のデータを取りたいのですが・・・・Sideは問いません。敵をボコボコにしてMorale Brokenにしても良いし、再びマゾプレイに徹してもかまいません。また、おそらくゲーム途中でもMorale Brokenフラグが立つはずなので、ゲーム終了時のデータである必要もありません(まあ、できれば終了時の方がいいけど)。
データ取得に際して重要な点は、比較可能なデータがあることです。理想的には、同一シナリオ、同一陣営、同一ターンでMorale Brokenが発生した場合と発生していない場合のセーブデータが欲しいのです。
まあ、細部はおまかせいたします。ちなみに、Morale Brokenが発生する条件は、下のリンクをご参照ください。↓
http://headquarters.s4.xrea.com/spwaw/know/vict.html
あ、それと全然急ぎませんので、心技体が充実している時にでもよろしくおねがいいたします。