public override void Deal() { if (round == 0) { foreach (IChinesePokerPlayer player in players) { int pos = player.getPosition (); List<Hand> hands = player.layoutFirstHand (myDeck.getCards (5), new ChinesePokerTable (m_opponents)); Opponent next = new Opponent (); next.position = pos; int ind = pos - 1; next.hands = hands; next.name = player.getName(); Console.WriteLine ("Player opponent at " + pos); Console.WriteLine ("Player opponent at " + m_opponents [ind]); m_opponents [ind] = next; } } else { foreach (IPlayer player in players) { ChinesePokerTable tab = new ChinesePokerTable (m_opponents); // ChineseMove player_move = (ChineseMove) player.takeAction (new List<Card> (){ myDeck.getCard() }, (Table)tab); // int pos = player.getPosition (); // int ind = pos-1; // m_opponents [ind].hands [player_move.rowNumber].cards.Add (player_move.myCard); } } if (myDeck.getStackSize() < players.Count) { GameOver = true; } round++; }
public ChineseOpenFaceDealer(List<IChinesePokerPlayer> players) : base(players.ConvertAll(x => (IPlayer)x)) { m_opponents = new List<Opponent>(); int pos=1; round = 0; foreach (IPlayer play in players) { play.setPosition(pos); Opponent next = new Opponent(); next.position = pos++; next.hands = new List<Hand>(); m_opponents.Add (next); } }