Example #1
0
        // 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);
            }
        }
Example #2
0
        /// <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);
            }
        }