应用程序处于打开状态

时间:2015-06-29 16:25:56

标签: c#

我正在尝试实现纸牌游戏(类似于桥牌)。有许多类代表Suit,Player,Cart,Team等。

在每一轮比赛中,每位玩家投掷4张牌,一旦所有玩家手中的13张牌被抛出,我们就可以计算出两名玩家每队收集的积分。

当所有52张牌都被抛出时,我需要告诉Main表单以某种方式结束(更好的术语是开始新一轮)。

我正在尝试实现以下伪算法

While(not all cards played) 
{
  continue the game

}
Calculate each player’s score according to the collect hand

不确定将此while循环放在何处。当然不在Form_Load。

1 个答案:

答案 0 :(得分:0)

你的问题有点笼统,所以这是我的主要建议:

不要将业务逻辑放在视图类中。您的视图应通过方法调用/事件对基础状态的更改做出反应。不幸的是,围绕MVVM / MVC模式(如WPF)构建的技术要容易得多。

话虽这么说,我会创建一个“GameController”类来管理游戏状态并保存这样的规则。每次玩牌时,都会通过以下方式运行:

void CheckRoundEnd()
{
      if (cardsPlayed == 52)
          EndRound();
}

EndRound会引发表单侦听的事件,或者在表单上调用适当的方法来重置下一轮的视图。