public void Parse(Desk desk, Player player, string command) { switch (command) { case "上桌": case "fork table": case "法克忒薄": // By Charlie Jiang //var point = PlayerConfig.GetConfig(player).Point; //if (point <= 0) // desk.AddMessage($"你的积分不足以进行游戏! 你现在有{point}点积分."); //else desk.AddPlayer(player); break; case "下桌": desk.RemovePlayer(player); break; case "开始游戏": if (desk.Players.All(p => p is FakePlayer)) { desk.AddMessage("仨机器人可不行哟~"); return; } if (desk.PlayerList.Count == 3) { desk.Start(); } else { desk.AddMessage("人数不够."); } break; case "添加机器人": desk.AddPlayer(new FakePlayer(desk)); break; case "移除机器人": if (desk.Players.Any(p => p is FakePlayer)) { desk.RemovePlayer(desk.Players.First(p => p is FakePlayer)); } break; } if (command.StartsWith("开始游戏 ")) { var seed = int.Parse(command.Substring(5)); if (desk.PlayerList.Count == 3) { desk.Start(seed); } } }
static void Main(string[] args) { var s = string.Join(", ", Card.CardsPool.Select(card => card.ToString())); Console.WriteLine(s); var desk = new Desk("gg"); desk.AddPlayer(new Player("gg", desk)); desk.AddPlayer(new Player("gg2", desk)); desk.StartGame(); DeskRenderer.RenderDesk(desk).Save("test5.png"); }
public override void Parse(Desk desk, Player player, string command) { var genericCommand = ToGenericCommand(command); switch (genericCommand) { case "join": desk.AddPlayer(player); break; case "leave": desk.RemovePlayer(player); break; case "addRobot": desk.AddMessage("请使用 添加机器人 [昵称]"); break; case "start": desk.StartGame(); break; } if (command.StartsWith("添加机器人 ")) { var nick = command.Substring(6); desk.AddPlayer(new FakePlayer(nick, desk)); } if (command.StartsWith("移除机器人 ")) { var nick = command.Substring(6); var players = desk.PlayerList.OfType <FakePlayer>().Where(p => p.Nick == nick).ToArray(); if (players.Length == 0) { return; } desk.RemovePlayer(players.First()); } }
public override void Parse(Desk desk, Player player, string command) { switch (command.ToUpper()) { case "加入UNO": desk.AddPlayer(player); break; case "离开UNO": desk.RemovePlayer(player); break; case "开始UNO": desk.StartGame(); break; } }
static void Main(string[] args) { var desk = new Desk("test"); var players = new List <Player> { new Player("1", desk) { Cards = { new Card(CardValue.Eight, CardColor.Blue), new Card(CardValue.Eight, CardColor.Blue), new Card(CardValue.Eight, CardColor.Blue), new Card(CardValue.Eight, CardColor.Blue), new Card(CardValue.Eight, CardColor.Blue), } }, new Player("2", desk) { Cards = { new Card(CardValue.Eight, CardColor.Blue), new Card(CardValue.Eight, CardColor.Blue), new Card(CardValue.Eight, CardColor.Blue), } }, new Player("3", desk) { Cards = { new Card(CardValue.Eight, CardColor.Blue), } }, new Player("4", desk) { Cards = { new Card(CardValue.Eight, CardColor.Blue), new Card(CardValue.Eight, CardColor.Blue), new Card(CardValue.Eight, CardColor.Blue), new Card(CardValue.Eight, CardColor.Blue), new Card(CardValue.Eight, CardColor.Blue), new Card(CardValue.Eight, CardColor.Blue), } }, new Player("5", desk) { Cards = { new Card(CardValue.Eight, CardColor.Blue), } }, }; desk.LastCard = Card.Generate(); foreach (var player in players) { desk.AddPlayer(player); } desk.StartGame(); //desk._currentParser.CurrentIndex = 2; desk.ParseMessage("1", "摸"); DeskRenderer.RenderDesk(desk).Save("test3.png"); //desk.Reversed = true; DeskRenderer.RenderDesk(desk).Save("test4.png"); //DeskRenderer.RenderDesk(desk).Save("test5.png"); }
public void Parse(Desk desk, Player player, string command) { switch (command) { case "上桌": case "fork table": case "法克忒薄": // By Charlie Jiang var point = PlayerConfig.GetConfig(player).Point; if (point <= -100000) { desk.AddMessage($"CNM 这里是CY 你们的印钞厂停业了."); } else if (point <= -2000) { desk.AddMessage("你输光了."); } else if (point == 0) { desk.AddMessage("你没输入过'领取积分'"); } else { desk.AddPlayer(player); } break; case "下桌": desk.RemovePlayer(player); break; case "开始游戏": if (desk.Players.Count(p => p is FakePlayer) >= 2) { desk.AddMessageLine("游戏要和朋友一起玩才好玩嘛!如果你想看机器人打架 可以@管理员 '表演开始'."); return; } if (desk.PlayerList.Count == 3) { desk.Start(); } else { desk.AddMessage("人数不够."); } break; case "添加机器人": desk.AddPlayer(new FakePlayer(desk)); break; case "移除机器人": if (desk.Players.Any(p => p is FakePlayer)) { desk.RemovePlayer(desk.Players.First(p => p is FakePlayer)); } break; } if (command.StartsWith("开始游戏 ") && PlayerConfig.GetConfig(player).IsAdmin) { var seed = int.Parse(command.Substring(5)); if (desk.PlayerList.Count == 3) { desk.Start(seed); } } if (command.StartsWith("表演开屎") && PlayerConfig.GetConfig(player).IsAdmin) { if (desk.Players.Any()) { desk.AddMessage("有玩家了不可以使用."); return; } for (int i = 0; i < 3; i++) { desk.AddPlayer(new FakePlayer(desk)); } desk.Start(); } }
private static void Main(string[] args) { //var s = string.Join(", ", Card.CardsPool.Select(card => card.ToString())); //Console.WriteLine(s); // To use code below you need to change some access modifiers and comment Line 55 (image.Resize(image.Width / 3, image.Height / 3).Save(filename);) in ImageExtensions.cs Desk nd = new Desk("222"); var conf = Config.Get(); var nks = conf.Nicks; nks["LasmGratel"] = "苟枫凌"; nks["Cyl17"] = "A125"; nks["CharlieJiang"] = "RED"; nks["Baka84"] = "膜法少女LG大续命师"; conf.Save(); nd.AddPlayer(new Player("LasmGratel", nd)); nd.AddPlayer(new Player("Cyl17", nd)); nd.AddPlayer(new Player("Baka84", nd)); nd.AddPlayer(new Player("CharlieJiang", nd)); nd.StartGame(); Thread.Sleep(1000); var timer = new Timer(100); timer.Elapsed += (sender, aargs) => { var desk = nd; Samsara.DoAutoSubmitCard(desk); if (desk.Message != null) { var msg = desk.Message; desk.ClearMessage(); Console.WriteLine(msg); } foreach (var player in desk.Players.Where(player => player.Message != null)) { var msg = player.Message; player.ClearMessage(); Console.WriteLine(msg); } }; timer.Start(); //nd.CurrentParser.Reversed = true; //nd.CurrentParser.CurrentIndex = 0; nd.CurrentPlayer.AddCardsAndSort(1000); Thread.Sleep(10000); for (int i = 0; i < 1; i++) { nd.RenderDesk().Save("GG.png"); } Thread.Sleep(1000000); // nd.RenderDesk(); // nd.RenderDesk(); // nd.RenderDesk(); // nd.RenderDesk(); // nd.RenderDesk(); // nd.RenderDesk(); // nd.RenderDesk(); // nd.RenderDesk(); // nd.RenderDesk(); // nd.RenderDesk(); // nd.RenderDesk(); // nd.RenderDesk(); // nd.RenderDesk(); // nd.RenderDesk(); // nd.RenderDesk(); //Card.CardsPool.ToImage().Save("test.png"); //DeskRenderer.RenderDesk(desk).Save("test5.png"); //var writer = File.CreateText("test.txt"); //writer.Write(GameStepBase.ToGenericCommand("摸")); //writer.Close(); }
public void Parse(Desk desk, Player player, string command) { switch (command) { case "上桌": case "fork table": case "法克忒薄": // By Charlie Jiang var point = PlayerConfig.GetConfig(player).Point; if (point <= -100000) { desk.AddMessage($"CNM 这里是CY 你们的印钞厂停业了."); } else if (point <= 0) { desk.AddMessage("您输完了/没领取过分."); } else { desk.AddPlayer(player); } break; case "下桌": desk.RemovePlayer(player); break; case "开始游戏": if (desk.Players.All(p => p is FakePlayer)) { desk.AddMessage("仨机器人可不行哟~"); return; } if (desk.PlayerList.Count == 3) { desk.Start(); } else { desk.AddMessage("人数不够."); } break; case "添加机器人": desk.AddPlayer(new FakePlayer(desk)); break; case "移除机器人": if (desk.Players.Any(p => p is FakePlayer)) { desk.RemovePlayer(desk.Players.First(p => p is FakePlayer)); } break; } if (command.StartsWith("开始游戏 ") && PlayerConfig.GetConfig(player).IsAdmin) { var seed = int.Parse(command.Substring(5)); if (desk.PlayerList.Count == 3) { desk.Start(seed); } } }