Exemple #1
0
        public static void InitializateJsonTanks()
        {
            jsonTanks       = new JsonTanks();
            jsonTanks.tanks = new JsonTank[tanks.Count];

            for (int i = 0; i < tanks.Count; i++)
            {
                Tank             tank   = tanks.ElementAt(i);
                List <JsonShell> shells = new List <JsonShell>();
                for (int j = 0; j < tank.shells.Count; j++)
                {
                    shells[j] = new JsonShell()
                    {
                        positionX = tank.shells.ElementAt(j).position.X.ToString(),
                        positionY = tank.shells.ElementAt(j).position.Y.ToString()
                    };
                }
                jsonTanks.tanks[i] = new JsonTank()
                {
                    slot          = i.ToString(),
                    HP            = tank.HP.ToString(),
                    rotationAngle = tank.rotationAngle.ToString(),
                    positionX     = tank.position.X.ToString(),
                    positionY     = tank.position.Y.ToString(),
                    shells        = shells
                };
            }
        }
Exemple #2
0
 public static void InitializateJsonTanks()
 {
     jsonTanks       = new JsonTanks();
     jsonTanks.tanks = new JsonTank[numConnectedClients + 1];
     for (int i = 0; i < numConnectedClients + 1; i++)
     {
         Tank             tank   = tanks.ElementAt(i);
         List <JsonShell> shells = new List <JsonShell>();
         for (int j = 0; j < tank.shells.Count; j++)
         {
             shells.Add(new JsonShell()
             {
                 positionX = tank.shells.ElementAt(j).position.X.ToString(),
                 positionY = tank.shells.ElementAt(j).position.Y.ToString(),
                 angle     = tank.shells.ElementAt(j).angle.ToString()
             });
         }
         jsonTanks.tanks[i] = new JsonTank()
         {
             slot           = i.ToString(),
             HP             = tanks.ElementAt(i).HP.ToString(),
             rotationAngle  = tank.rotationAngle.ToString(),
             positionX      = tank.position.X.ToString(),
             positionY      = tank.position.Y.ToString(),
             shells         = shells,
             shellOnBaraban = tank.shells_on_baraban.ToString()
         };
     }
 }
Exemple #3
0
        public static void ReceiverTanks()
        {
            // Создаем UdpClient для чтения входящих данных
            receivingUdpClient = new UdpClient(localPortGame);
            IPEndPoint RemoteIpEndPoint = null;

            try
            {
                while (true)
                {
                    // Ожидание дейтаграммы
                    byte[] receiveBytes = receivingUdpClient.Receive(
                        ref RemoteIpEndPoint);
                    // Преобразуем и отображаем данные
                    string data = Encoding.UTF8.GetString(receiveBytes);
                    if (data != null)
                    {
                        jsonTanks = JsonConvert.DeserializeObject <JsonTanks>(data);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Возникло исключение: " + ex.ToString() + "\n  " + ex.Message);
            }
        }