public override void OnDraw(State state, Player player) { player.Hand.Remove(this); state.Send(String.Format(Messages.DrawEffect, player) + " " + this + "\u000f | " + String.Format(Messages.ExplSid3, player)); state.DealCards(player, 3); }
public override void OnPlay(State state, Player player) { state.Send(this + "\u000f | " + String.Format(Messages.DrawsFour, state.Players.Next)); state.DealCards(state.Players.Next, 4); state.Send("Also, " + String.Format(Messages.ExplWild, player)); state.NextInState = InputState.Wild; state.NextTurnPush = 0; }
public override void OnPlay(State state, Player player) { state.Send(this + "\u000f | " + Messages.ExplWmd3); foreach (Player p in state.Players) { if (p == state.Players.Current) continue; state.DealCards(p, 3); } state.Send("Also, " + String.Format(Messages.ExplWild, player)); state.NextInState = InputState.Wild; state.NextTurnPush = 0; }
public override void OnPlay(State state, Player player) { state.Send(this + "\u000f | " + Messages.ExplDH); List<Tuple<Player, int>> amounts = new List<Tuple<Player, int>>(); // Get hand counts and remove contents foreach (Player p in state.Players) { amounts.Add(new Tuple<Player, int>(p, p.Hand.Count)); state.DiscardPile.Add(p.Hand); p.Hand.Clear(); } // Deal new cards foreach (var value in amounts) { state.DealCards(value.Item1, value.Item2); } }
public override void OnDraw(State state, Player player) { player.Hand.Remove(this); Random r = new Random(); state.Send(String.Format(Messages.DrawEffect, player) + " " + this + "\u000f | " + String.Format(Messages.Expl_RWD, player)); if (r.Next(1) == 0) { // Good outcome state.Send(Messages.Draw_RWD_Good); state.Send(this + "\u000f | " + String.Format(Messages.ExplWild, player)); state.NextInState = InputState.Wild; } else { // Bad outcome state.Send(Messages.Draw_RWD_Bad); state.DealCards(player, 5); } }
public override void OnPlay(State state, Player player) { state.Send(String.Format(Messages.DrawsFour, state.Players.Next)); state.DealCards(state.Players.Next, 4); }