public HeatMapViewModel(WorldPos.WorldPos pos, double value, double min, double max)
 {
     Pos   = pos;
     Value = value;
     _min  = min;
     _max  = max;
 }
Пример #2
0
 public HeatMapViewModel(WorldPos.WorldPos pos, double value, double min, double max)
 {
     Pos   = pos.ThrowIfNull(nameof(pos));
     Value = value;
     _min  = min;
     _max  = max;
 }
        public GameStateViewModel([NotNull] States.GameState state, Genes.ActorChromosome brain)
        {
            _state = state ?? throw new ArgumentNullException(nameof(state));

            foreach (var actor in _state.World.Actors.Where(a => a.IsActive))
            {
                Actors.Add(new ActorViewModel(actor));
            }

            var values = new Dictionary <WorldPos.WorldPos, double>();

            for (int y = 1; y <= state.World.MaxY; y++)
            {
                for (int x = 1; x <= state.World.MaxX; x++)
                {
                    var pos = new WorldPos.WorldPos(x, y);
                    values[pos] = Genes.evaluateTile(brain, state.World, pos);
                }
            }

            var min = values.Values.Min();
            var max = values.Values.Max();

            foreach (var(pos, value) in values)
            {
                HeatMap.Add(new HeatMapViewModel(pos, value, min, max));
            }
        }