本文整理汇总了C#中State.Send方法的典型用法代码示例。如果您正苦于以下问题:C# State.Send方法的具体用法?C# State.Send怎么用?C# State.Send使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类State
的用法示例。
在下文中一共展示了State.Send方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: OnPlay
public override void OnPlay(State state, Player player)
{
Random r = new Random();
int skips = r.Next(1, state.Players.Count - 1);
if (skips == 1) state.Send(String.Format(Messages.PlayS, state.Players.Next));
else state.Send(String.Format(Messages.PlaySX, skips));
state.NextTurnPush = skips + 1;
}
示例2: OnPlay
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;
}
示例3: OnPlay
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;
}
示例4: OnDraw
public override void OnDraw(State state, Player player)
{
player.Hand.Remove(this);
state.Send(String.Format(Messages.DrawEffect, player) + " "
+ this + "\u000f | " + String.Format(Messages.Expl_Q, player));
state.NextTopCard = this;
}
示例5: OnDraw
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);
}
示例6: OnDraw
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);
}
}
示例7: OnPlay
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);
}
}
示例8: OnDraw
public override void OnDraw(State state, Player player)
{
player.Hand.Remove(this);
state.Send(String.Format(Messages.DrawEffect, player) + " "
+ this + "\u000f | " +
String.Format(Messages.Expl_3Dis, DispCard.Get(CardColor.Wild, CardFace.SID3), player));
int max = 3;
if (player.Hand.Count < max) max = player.Hand.Count;
Card[] withdraw = player.Hand.Draw(max);
state.DiscardPile.Add(withdraw);
string list = "";
foreach (Card c in withdraw) list += " " + c.ToString();
if (list.Length > 0) list = list.Substring(1);
state.SendPriv(player.Nick, String.Format(Messages.Play_3Dis_Lose, list));
state.NextTurnPush = 1;
}
示例9: OnPlay
public override void OnPlay(State state, Player player)
{
Random r = new Random();
Player[] pool = state.Players.ToArray();
Player victim;
do {
victim = pool[r.Next(pool.Length)];
} while (victim == player);
state.Send(String.Format(Messages.Play_EResultPub, player, victim));
Card pc = player.Hand.Draw();
Card vc = victim.Hand.Draw();
player.Hand.Add(vc);
victim.Hand.Add(pc);
state.SendPriv(player.Nick, String.Format(Messages.Play_EResultPriv, pc, victim, vc));
state.SendPriv(victim.Nick, String.Format(Messages.Play_EResultPriv, vc, player, pc));
state.NextTopCard = null;
}
示例10: OnPlay
public override void OnPlay(State state, Player player)
{
state.Send(this + "\u000f | " + String.Format(Messages.Expl_E, player));
state.NextTurnPush = 0;
}
示例11: OnPlay
public override void OnPlay(State state, Player player)
{
state.Send(String.Format(Messages.DrawsFour, state.Players.Next));
state.DealCards(state.Players.Next, 4);
}
示例12: OnPlay
public override void OnPlay(State state, Player player)
{
state.NextTurnPush = 2;
state.Send(String.Format(Messages.PlayS, state.Players.Next));
}
示例13: OnPlay
public override void OnPlay(State state, Player player)
{
state.Send(Messages.PlayR);
state.Players.Reverse();
}