Exemplo n.º 1
0
 public new void Add(PokerGroup PG)
 {
     if (DConsole.IsRules(PG))
     {
         if (PG.type == PokerGroupType.双王)
         {
             DConsole.multiple *= 3;
         }
         if (PG.type == PokerGroupType.炸弹)
         {
             DConsole.multiple *= 2;
         }
         base.Add(PG);
     }
     else
     {
         DConsole.Write("[系统消息]:有玩家作弊,重新启动游戏.");
     }
 }
Exemplo n.º 2
0
 /// <summary>
 /// 检测是否符合游戏规则,如果符合则出牌,否则返回flase
 /// </summary>
 public bool lead()
 {
     DConsole.leadPokers = leadPokers;
     this.leadPokers.Clear();
     foreach (int selectPoker in this.selectPokers)  //迭代循环把已选中的牌添加到leadPokers
     {
         this.leadPokers.Add(this.pokers[selectPoker]);
     }
     if (DConsole.IsRules(this.leadPokers))
     {
         if (DConsole.player1.isBiggest || DConsole.leadPokers > DConsole.leadedPokerGroups[DConsole.leadedPokerGroups.Count - 1])
         {
             if (DConsole.leadPokers.type == PokerGroupType.炸弹)
             {
                 DConsole.multiple *= 2;
             }
             if (DConsole.leadPokers.type == PokerGroupType.双王)
             {
                 DConsole.multiple *= 3;
             }
             DConsole.player1.isBiggest = true;
             this.BakPoker();                               //备份现有pokers,下次出牌时需要用到
             foreach (int selectPoker in this.selectPokers) //在pokers里移除已经出过的牌
             {
                 this.pokers.Remove(this.bakPokers[selectPoker]);
             }
             this.selectPokers.Clear();  //清空已选牌
             return(true);
         }
         else
         {
             this.leadPokers.Clear();
             return(false);
         }
     }
     else
     {
         this.leadPokers.Clear();
         return(false);
     }
 }