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("[系统消息]:有玩家作弊,重新启动游戏."); } }
/// <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); } }