Ejemplo n.º 1
0
        public bool CanMove(EnvironmentAgent agent)
        {
            var newX = agent.X + agent.Vector.X * agent.Speed;
            var newY = agent.Y + agent.Vector.Y * agent.Speed;

            if (newX <= 5 || newX >= Width - 5)
            {
                return(false);
            }

            if (newY <= 5 || newY >= Height - 5)
            {
                return(false);
            }

            return(true);
        }
Ejemplo n.º 2
0
        public GameEnvironment(EnvironmentOptions options)
        {
            Random = new Random((int)DateTime.Now.Ticks);
            Agents = new List <EnvironmentAgent>();
            Foods  = new List <Food>();

            Width  = options.FieldWidth;
            Height = options.FieldHeight;

            for (int i = 0; i < options.AgentsCount; i++)
            {
                var color = Color.FromArgb(Random.Next(0, 255), Random.Next(0, 255), Random.Next(0, 255));
                var agent = new EnvironmentAgent(Random.Next(0, Width), Random.Next(0, Height), Random.Next(0, 360),
                                                 color, options.NeuralNetwork);
                Agents.Add(agent);
            }

            for (int i = 0; i < options.FoodCount; i++)
            {
                var food = new Food(Random.Next(0, Width), Random.Next(0, Height));
                Foods.Add(food);
            }
        }