private void Processing(object sender, EventArgs e) { var senderWTask = (TaskManager.WTask)sender; switch (Enum.Parse(typeof(Commands), senderWTask.Description.Substring(0, 5))) { case Commands.login: _tm.Send(senderWTask.From, Users.ReturnAnswerToUser(Users.CheckLogin(senderWTask))); break; case Commands.crgme: _tm.Send(senderWTask.From, Games.CreateGame(new User(senderWTask.From), _tm)); break; case Commands.icome: Games.ComeGamerinGame(new User(senderWTask.From), new User(senderWTask.Description.Remove(0, 5)), _tm); break; case Commands.meout: Games.OutFromGame(Guid.Parse(senderWTask.Description.Remove(0, 5)), _tm, senderWTask.From); break; case Commands.gstep: Games.MakeMotion(senderWTask.Description.Remove(0, 5), _tm); break; } }
public static void ComeGamerinGame(User gamer, User host, TaskManager.TaskManager tm) { try { var gamefield = CreatedGameFields.First(i => i.Host.Name == host.Name); gamefield.ComeGamerInGame(gamer); StartedGameFields.Add(gamefield); CreatedGameFields.Remove(gamefield); Users.DeleteGame(gamefield.Name, tm); var json = JsonConvert.SerializeObject(gamefield); tm.Send(gamefield.Host.Name, "Gcome" + json); tm.Send(gamer.Name, "ycome" + json); if (gamefield.IsHostX) { tm.Send(host.Name, "ystep"); } if (!gamefield.IsHostX) { tm.Send(gamer.Name, "ystep"); } } catch { tm.Send(gamer.Name, "ncome"); } }
public static void OutFromGame(Guid gameId, TaskManager.TaskManager _tm, string maker) { try { var gamefield = CreatedGameFields.FirstOrDefault(i => i.GameId == gameId); if (gamefield != null) { Users.DeleteGame(gamefield.Name, _tm); return; } gamefield = StartedGameFields.First(i => i.GameId == gameId); if (maker == gamefield.Gamer.Name) { GamerOutFromGame(gameId, _tm); StartedGameFields.Remove(gamefield); return; } _tm.Send(gamefield.Gamer.Name, "meout"); StartedGameFields.Remove(gamefield); } catch { _tm.Send(maker, "fails"); } }
public static void CheckGameOnFinish(GameField game, TaskManager.TaskManager tm) { try { FinishGame(game); if (game.IsXwins) { tm.Send(game.Host.Name, "Xwinr"); tm.Send(game.Gamer.Name, "Xwinr"); } if (!game.IsOwins) { return; } tm.Send(game.Host.Name, "Owinr"); tm.Send(game.Gamer.Name, "Owinr"); } catch { } }
private void LoginButton_Click(object sender, RoutedEventArgs e) { NicknameTextBox.Text = GetNickname(); if (_tm == null) { _tm = new TaskManager.TaskManager(Settings.Default.SettingsPath, GetNickname()) { Enabled = true }; _tm.Accept += Processing; } _tm.Send("CURSserver", "login" + GetNickname()); }
public static void GamerOutFromGame(Guid gameId, TaskManager.TaskManager _tm) { try { var gamefield = StartedGameFields.First(i => i.GameId == gameId); StartedGameFields.Remove(gamefield); _tm.Send(gamefield.Host.Name, "meout"); } catch (Exception e) { MessageBox.Show(e.Message); } }
public static void HostCreateGame(string gameName, TaskManager.TaskManager _tm) { try { foreach (var user in UserRepository.Users) { _tm.Send(user.Name, "newgm" + gameName); } } catch (Exception e) { MessageBox.Show(e.Message); } }
public static void MakeMotion(string json, TaskManager.TaskManager tm) { try { var motion = JsonConvert.DeserializeObject <Motion>(json); var game = StartedGameFields.First(i => i.GameId == motion.GameId); if (game.IsHostX && game.Host.Name == motion.MotionMaker) { game.MakeMotion(motion.CellId, TypeofCell.X); } if (game.IsHostX == false && game.Gamer.Name == motion.MotionMaker) { game.MakeMotion(motion.CellId, TypeofCell.X); } else { game.MakeMotion(motion.CellId, TypeofCell.O); } if (game.CheckOnFinishing()) { CheckGameOnFinish(game, tm); return; } if (game.Cells.FirstOrDefault(i => i.TypeofCell == TypeofCell.Null) == null) { tm.Send(game.Gamer.Name, "drow1"); tm.Send(game.Host.Name, "drow1"); } if (motion.MotionMaker == game.Host.Name) { tm.Send(game.Gamer.Name, "gstep" + json); tm.Send(game.Gamer.Name, "ystep"); } if (motion.MotionMaker != game.Gamer.Name) { return; } tm.Send(game.Host.Name, "gstep" + json); tm.Send(game.Host.Name, "ystep"); } catch { var motion = JsonConvert.DeserializeObject <Motion>(json); tm.Send(motion.MotionMaker, "fails"); } }
private void CreateGameButton_Click(object sender, RoutedEventArgs e) { _tm.Send("CURSserver", "crgme"); }