C# Xaml C中Windows 8应用商店应用程序的游戏循环#
我想在设计Windows8应用商店的逐段游戏应用程序(XAML/C#)时获得一些指导 每回合,AI都会执行一些任务,玩家也会执行一些任务。这可以视为状态机/固定工作流 我可以考虑使用游戏循环[1],或者在由用户输入触发的状态机中创建和跟踪每个状态[2]:C# Xaml C中Windows 8应用商店应用程序的游戏循环#,c#,xaml,windows-8,windows-runtime,windows-store-apps,C#,Xaml,Windows 8,Windows Runtime,Windows Store Apps,我想在设计Windows8应用商店的逐段游戏应用程序(XAML/C#)时获得一些指导 每回合,AI都会执行一些任务,玩家也会执行一些任务。这可以视为状态机/固定工作流 我可以考虑使用游戏循环[1],或者在由用户输入触发的状态机中创建和跟踪每个状态[2]: [1]: where(true) { BeginTurn(); AiDoSomething1(); await PlayerInput1(); AiDoSomething2(); await Playe
[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应用商店应用程序,是否有一种众所周知的模式来解决这种情况?您可以使用。使用此选项,您只需在虚拟机中设置一个值,然后对视图中的视图状态做出反应。不确定您的意思是否是更字面的游戏循环,但为了防止有人搜索到它,您可以使用以下三种方法在Windows 8中创建游戏循环:
更多详情请参见您遇到了什么样的问题?你可以在你的虚拟机中坚持这种逻辑,这样就没有问题了。第一次这么做的时候,试着看看这个问题是否有已知的模式。[2] 简单明了,但工作流通过各种用户输入功能分散。这看起来不对。[1] 等待用户输入,那么这是否意味着我需要将用户输入(例如,单击按钮)绑定到触发我的(等待PlayerInput1)正在等待的事件的函数?使用
VisualStateManager
: