メルマガ:あゆしゃのC言語プログラミング
タイトル:あゆしゃのC言語プログラミング(Vol.519) UMLの状態遷移図でGIBS 3  2004/11/10


/*========================================================*/
    <<<あゆしゃのC言語プログラミング>>>
/*========================================================*/
 第519回 UMLの状態遷移図でGIBS 3
 発行    2004年11月10日(水曜日)
 発行数   約2600

{magclick}
/*========================================================*/
 はじめに ( 決り文句 )
/*========================================================*/
・このメールマガジンは、主にまぐまぐさんから発行しています。
・ジャンルは、マルチメディアのプログラム、C言語です。
・横60文字で作成し、インデントは大抵半角スペース4つです。
・ここで扱うプログラムは、C言語と半光年以内のものです。
・登録解除は、メルマガのホームページでお願いします。
・過去ログはバックナンバー(下欄参照)を活用して下さい。
・内容は私が感じたもので、最新の技術も、へたれもあります。
・わかりやすさを優先させる為、たまに嘘があるかもしれません。
・セキュリティ突破のため、暗号化された単語があります。

/*========================================================*/
 ご挨拶
/*========================================================*/

 こんにちは。あゆしゃです。

 インターネットシムシティを極めたと(勝手に思い)満足した
あゆしゃは、

 ふと、PS2 のハードディスクが気にかかりました。

 延べ3万円を投じた割には、バイハザにしか使っていません。

 ドdラrクエがハードディスク対応ならうれしいですが、そうとは
わかりませんし、少し残念です。

 そこで、手持ちにあるソフトでハードディスクに対応している
物を探したところ、

FF-X
FF-X-International
起k動d戦士ガgンnダム 連邦VSジzオoン DX

 この3本だけでした。

 たしかに、DXのロードは結構遅いですので、インストールすると
快適かもしれません。

 しかし私は、FF-XIを始めました。

★ですが、元から速いので、余り恩恵が良くわかりません。

 FF-X2は対応していないのですが、十分に早いから不要、という
ことなのでしょうか。

{magclick}
/*========================================================*/
 今回のお題  << UMLの状態遷移図でGIBS 3 >>
/*========================================================*/

 戦略移動処理は、以下のように行う予定です。

(注:1ラウンド=1戦術ターン)

○ラウンド1
 艦船が耐久25%未満か資源12%未満を検出
 状態がNORMALからMOVEに遷移
 移動先に移動元を設定
 ログ「×××が移動を開始。」

○ラウンド2
 状態がOUTに遷移
 ログ「×××が×××を離脱中。」

○ラウンド3
 状態がINに遷移
 移動元を現在のマップ番号で更新する
 現在のマップ番号を0とする
 ログ「×××が×××を離脱。」

○ラウンド4
 状態がMOVEからNORMALに遷移
 現在のマップ番号を移動先で更新する
 ログ「×××が×××に進入。」

 戦術フェイズは全部で5ラウンドなので、戦略移動だけで全部
使ってしまいます。

 しかしこれは、非常に重要です。

 原作をプレイしたことのある方は、進入技やロックをご存知で
しょうが、

 対人プレイでそれをやられてはゲームになりません。

 裏技を可能にしている原因は、戦略移動が一瞬で終わるから
です。

 終わらないようにしてしまいましょう。

 戦略移動が一瞬で終わらないことにより、進入したら勝ちの
進入技やロックを防止できることになります。

 逆に袋叩きに会うでしょう。

 撤退などは華麗に慎重に行うべき、という感じが望ましいです。

/*========================================================*/

 艦船以外のユニットは、親(指令艦)の移動にくっついていき
ます。

○ラウンド1の艦船の後
 OUTのユニットが指令艦のMOVE状態を検出、RETURNに遷移
 ログ「×××が帰還命令を受信。」

○ラウンド2の艦船の後
 RETURNのユニットが帰還、INに遷移
 ログ「×××が×××に帰還。」

○ラウンド3の艦船の後
 INのユニットが指令艦のMOVE状態を検出、MOVEに遷移

○ラウンド4の艦船の後
 MOVEのユニットが指令艦のマップ番号を自分にコピー
 指令艦のMOVE状態終了を検出、INに遷移

 指令艦の移動に時間をかけさせるのは、それに付属するユニット
たちがそれに従う時間を与えるためでもあります。

 この時間によって、移動処理が発動したときに「自分を
指令艦とするユニットをループする」みたいな処理を行わなくて
すむようになる、はずです。

 戦闘中のユニットが突然隣のエリアに飛ぶ、というバグのような
現象が起きることもない、はずです。

/*========================================================*/

 また、マップ番号が切り替わる瞬間、戦術フェイズが終わると
艦船とユニットの間でマップ番号が途切れている状態で
戦略フェイズとなり、ユーザに惨めな状態をさらすことに
なります。

 そこで、艦船のラウンド3の処理は、遅くともラウンド3以前に
発生しないと困ります。

 よって状態遷移図では、OUTの状態で自分自身の状態にループを
はり、「ラウンド4以降ならOUTの状態で待機」としています。

{magclick}
/*========================================================*/
 さいごに
/*========================================================*/

 今後の予定です。あくまでも予定です。

 大型計算機「LC」の仕上げとシェアウェア登録

 グラフィックエディッタ「あいすドロワ」の作成
 ファイル比較ツール「あいすでふ」の作成
 C言語解析ツール「しーますた」の作成

{magclick}
/*========================================================*/
 次回予告
/*========================================================*/

 次回は11月12日(金曜日)に、第520回をお送りします。
 お題は「UMLの状態遷移図でGIBS 4」

 おまちかね、実際に作成した Perl プログラムを提示します。

 お楽しみに!

/*========================================================*/
 最後の決り文句
/*========================================================*/
 このメールマガジンは、まぐまぐさんから発行しています。
 このメールマガジンを解除したい場合は、まぐまぐさんをご利用
ください。このメルマガのまぐまぐアイディーは最後にあります。
 このメールマガジンには広告が挿入されていますか?
 このメールマガジンの内容に文面の引用はありませんか?
 めーらっくすの場合はめーらっくすの利用方に従ってください。
 このメールマガジンの内容の、転用、流用、宣伝、リンク、
来週は女湯か なんて大歓迎です。

{magclick}
/*========================================================*/
 
/*========================================================*/

発行者 あゆしゃ

ホームページ::あゆしゃの世界
http://ayusya.hp.infoseek.co.jp/

ご意見・ご感想・ご質問メール
mailto:ayusya@flamenco.plala.or.jp

まぐまぐ::アイディー
0000020674

まぐまぐ::登録と解除
http://www.mag2.com/m/0000020674.htm

まぐまぐ::バックナンバー
http://jazz.tegami.com/backnumber/frame.cgi?id=0000020674

めーらっくす::アイディー
MM3E1AEE285AB4F

めーらっくす::登録と解除
http://www.mailux.com/mm_dsp.php?mm_id=MM3E1AEE285AB4F 

めーらっくす::バックナンバー★最近のものならこちらが便利★
http://www.mailux.com/mm_bno_list.php?mm_id=MM3E1AEE285AB4F

ブラウザの閉じるボタンで閉じてください。