2

Windows 8 ストアのターンバイターン ゲーム アプリケーション (XAML / C#) を設計する際のガイダンスを探しています。

各ターン、AI はいくつかのタスクを実行し、プレイヤーはいくつかのタスクを実行します。これは、ステート マシン/固定ワークフローとして扱うことができます。

ゲーム ループを使用する [1] か、ユーザー入力によってトリガーされるステート マシンで各状態を作成して追跡する [2] ことが考えられます。

[1]:
where(true)
{
    BeginTurn();
    AiDoSomething1();
    await PlayerInput1();

    AiDoSomething2();
    await PlayerInput2();
    EndTurn();
}

[2]:
void PlayerInput1()
{
    lock(_lock)
    {
        if(State == State.State1)
        {
            State = State.State2;
            AiDoSomething2();
        }
    }
}

void PlayerInput2()
{
    lock(_lock)
    {
        if(State == State.State2)
        {
           State = State.State1;
           EndTurn(); BeginTurn();
           AiDoSomething1();
        }
    }
}

XAML/C# を使用する Windows 8 ストア アプリの場合、この種のシナリオに取り組むためのよく知られたパターンはありますか?

4

2 に答える 2

1

を使用して視覚的な状態を制御できますVisualStateManager。これを使用すると、VMに1つの値を設定してから、ビューのビューステートに反応するだけで済みます。

于 2012-10-10T18:23:34.047 に答える