private void EatFood() { int number = 0; foreach (FoodPoint food in _foodPoints) { double l = Math.Sqrt(Math.Pow(food.Position.X + 5 - (player.Position.X + player.Size / 2), 2) + Math.Pow(food.Position.Y + 5 - (player.Position.Y + player.Size / 2), 2)); if (Math.Abs(l) < 5 + player.Size / 2) //5 = ширина/длина шара еды/2 { //вызов события, что клиент съел еду PlayerEvents.GetInstance().EatFood(); number = food.ID; Random r = new Random(); int x = r.Next(10, 550); int y = r.Next(10, 350); FoodPoint foodPoint = new FoodPoint(x, y, number); _foodPoints.Remove(food); _foodPoints.Add(foodPoint); AuthClient.client.EatFood(number, player.ID, foodPoint); break; } } }
public ClientPlayer(string login, Guid id) { Size = 32; _login = login; _id = id; ColorRect = GetRandomColor(); stats = new StatisticsPlayer(_login); PlayerEvents.GetInstance().Eat += EatFood; }
public void EnemyEatFood(FoodPoint foodPoint, int id, Guid id_player) { var food = FoodPoints.FirstOrDefault(i => i.ID == id); FoodPoints.Remove(food); FoodPoints.Add(foodPoint); var player = EnemyPlayers.FirstOrDefault(i => i.ID == id_player); if (player != null) { player.Size++; player.Score++; } PlayerEvents.GetInstance().EnemyEatFood(); }
public Controls() { PlayerEvents.GetInstance().ChangePos += EatFood; }
public Statistics() { PlayerEvents.GetInstance().Eat += SortPlayerStats; PlayerEvents.GetInstance().EnemyEat += SortPlayerStats; }