« マーフィーの法則? | トップページ | 文章を書くこと、プログラムを組むこと »

2008年7月23日 (水)いつかキングになりたい・・・

おはようございます。本日の当番、プログラマーのM.Oです。

すっかり暑くなって、液状化です。
そんな私がお送りする、今日のネタは「状態と遷移」です。

いつもどおりな私。夏バテでぷるぷるしてる私。寝苦しくて目の焦点があっていない私。微ハイテンションで頭が変にとんがってる私。色んな状態の私がいるけれど、ゲームにも色んな状態があります。

 
例えば、次のような簡単なメニューがあったとします。

・各項目はすべてフォントを使った文字列で表現される。
・メニューが始まるときは、各項目の文字列が浮き上がってくる。
・メニューが終わるときは、各項目の文字列が薄れて消えていく。
・各項目の文字列は選択時は若干大きく、非選択時は通常の大きさで表示される。
・選択項目が決定されると文字列が明滅する。
・上下ボタンが押されると、選択項目が変更される。
・決定ボタンが押されると、選択項目が決定され、メニューが終了する。
・キャンセルボタンが押されると、メニューが終了する。
・メニューの項目は一つのみ選択されている状態となる。

 
この時、とり得る状態を書いてみます。

●メニューの各項目の文字列(ニューゲーム、コンテニュー、オプション等)
A.状態なし(メニュー画面に移行してきた瞬間)
B.表示移行待ち状態
C.選択されていない状態
D.選択演出状態
E.選択されている状態
F.非選択演出状態
G.決定演出状態
H.非表示移行待ち状態
I.非表示状態

●メニュー全体
0.状態なし(メニュー画面に移行してきた瞬間)
1.表示物の表示移行待ち状態
2.ユーザ入力待機状態
3.選択演出状態
4.決定演出状態
5.表示物の非表示移行待ち状態
6.非表示状態

これだと、メニュー全体と各項目で同じ状態があり、あれ?と思うかもしれませんが、メニュー全体の状態を元に、一括処理できるから各項目の状態いらないんじゃない?って判断すると、後々面倒なことが起こりえます。

「一斉に浮き出てきてるのを、上から順番にしてくれない?」とか。各項目ごとに制御する必要があるので、個別で状態を管理できる方が分かりやすいです。

 
次に状態がどのように遷移するか書いてみます。

  遷移元(遷移条件)               →遷移先

●メニューの各項目の文字列

A.状態なし(メニューから遷移) →B.表示移行待ち状態
B.表示移行待ち状態(表示完了) →C.選択されていない状態
C.選択されていない状態(選択された) →D.選択演出状態
            (キャンセルされた) →H.非表示移行待ち状態
D.選択演出状態(演出が完了) →E.選択されている状態
E.選択されている状態(別項目が選択) →F.非選択演出状態
           (決定された) →G.決定演出状態
           (キャンセルされた) →H.非表示移行待ち状態
F.非選択演出状態(非選択演出が完了) →C.選択されていない状態
G.決定演出状態(決定演出が完了) →H.非表示移行待ち状態
H.非表示移行待ち状態(非表示完了) →I.非表示状態

●メニュー全体

0.状態なし(メニューに遷移してきた) →1.表示物の表示移行待ち状態へ
1.表示物の表示移行待ち状態(全項目の状態がC) →2.ユーザ入力待機状態<
2.ユーザ入力待機状態(上下ボタンが押された) →3.選択演出状態
           (決定ボタンが押された) →4.選択決定演出状態
           (キャンセルボタンが押された) →5.表示物の非表示移行待ち状態
3.選択演出状態(全項目の状態がE) →2.ユーザ入力待機状態
4.選択決定演出状態(表示決定演出が終わった) →5.表示物の非表示移行待ち状態
5.表示物の非表示移行待ち状態(全項目の状態がI) →6.非表示状態
6.非表示状態 →次の画面

このように、状態がどう遷移するか挙げていけば、考えやすくなります。

 
しかし、いくらさまざまな条件を考えても、スライミィな私ではキングスライミィには状態遷移しねぇぇ。

follow us in feedly
result = encodeURIComponent( "http://www.accessgames-blog.com/blog/2008/07/post_05be.html" );document.write( "result = " , result );&media=https%3A%2F%2Ffarm8.staticflickr.com%2F7027%2F6851755809_df5b2051c9_z.jpg&description=Next%20stop%3A%20Pinterest">

| | コメント (0) | トラックバック (0)

« マーフィーの法則? | トップページ | 文章を書くこと、プログラムを組むこと »

プログラマー」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: いつかキングになりたい・・・:

« マーフィーの法則? | トップページ | 文章を書くこと、プログラムを組むこと »