// Get new registered client private async Task <Client> RegisterClient(WebSocket socket) { // Wait for start token byte[] received = await ReceiveData(socket); string token = Encoding.UTF8.GetString(received); if (token.Trim('\0') == StartToken) { var client = new Client(); clients.Add(socket, client); field.AddClient(client); await SendText(socket, client.Name); return(client); } else { return(null); } }
/// <summary> /// Create all bots /// </summary> public void CreateBots() { var rnd = new Random(); for (int i = 0; i < BotsCount; i++) { string botId = String.Concat("bot_", rnd.Next(1000)); int x = rnd.Next(Field.Size); int y = rnd.Next(Field.Size); int vX = rnd.Next(4) - 2; vX = vX > 0 ? vX : 1; int vY = rnd.Next(4) - 2; vY = vY > 0 ? vY : 1; var newBot = new Client(botId) { IsBot = true, Position = new Vector(x, y), Velocity = new Vector(vX, vY) }; field.AddClient(newBot); } }