/// <summary> /// Starts the game. /// </summary> /// <param name="name">The name.</param> /// <param name="rows">The rows.</param> /// <param name="cols">The cols.</param> /// <param name="client">The client.</param> /// <returns></returns> public bool StartGame(string name, int rows, int cols, TcpClient client) { // if the game doesn't exist if (MultiplayerMazeList.ContainsKey(name)) { return(true); } // generate DFSMazeGenerator dfsMazeGenerator = new DFSMazeGenerator(); Maze maze = dfsMazeGenerator.Generate(rows, cols); maze.Name = name; // add to games MazeGame game = new MazeGame(maze); MultiplayerMazeList[name] = game; game.AddPlayer(client, name); if (MultiplayerMazeList.ContainsKey(name)) { MultiplayerMazeList.Remove(name); } return(false); }
/// <summary> /// Joins the game. /// </summary> /// <param name="name">The name.</param> /// <param name="client">The client.</param> /// <returns></returns> public string JoinGame(string name, TcpClient client) { if (!MultiplayerMazeList.ContainsKey(name)) { return("invalid command"); } MazeGame game = MultiplayerMazeList[name]; game.AddPlayer(client, name); if (MultiplayerMazeList.ContainsKey(name)) { MultiplayerMazeList.Remove(name); } return(""); }