Skip to content
Snippets Groups Projects
Square.java 2.45 KiB
Newer Older
  • Learn to ignore specific revisions
  • package model;
    
    import java.util.ArrayList;
    import java.util.List;
    
    
    import javafx.scene.paint.Color;
    
    import util.Position;
    
    public class Square {
        private List<Entity> entities;
        private Position position;
        public Square(Position position){
            this.entities = new ArrayList<Entity>();
            this.position = position;
        }
        public Square(Position position, Entity entity){
            this.entities = new ArrayList<Entity>();
            this.entities.add(entity);
            this.position = position;
        }
    
        public List<Entity> getEntities(){
            return this.entities;
        }
    
        public Position getPosition(){
            return this.position;
        }
    
        public void addEntity(Entity entity){
            entities.add(entity);
        }
    
        public void removeEntity(Entity entity){
            entities.remove(entity);
        }
    
        public void setEntities(List<Entity> entities){
            this.entities = entities;
        }
    
            return entities.isEmpty() ||(entities.size() == 1 && entities.get(0) instanceof EmptyEntity);
    
        }
    
        public int getMinimalAge(){
            int minimalAge = 0;
            for(Entity e : entities){
                if(e.getAge() < minimalAge){
                    minimalAge = e.getAge();
                }
            }
            return minimalAge;
        }
    
        public int getMaxAge(){
            int maxAge = 0;
            for(Entity e : entities){
                if(e.getAge() > maxAge){
                    maxAge = e.getAge();
                }
            }
            return maxAge;
        }
    
        public void incrementAllAges(){
            for(Entity e : entities){
                e.incrementAge();
            }
        }
    
        public Color getViewColor(){
            if (entities.isEmpty()) {
                return Color.WHITE;
            } else {
                int sumRed = 0, sumGreen = 0, sumBlue = 0;
                for (Entity e : entities) {
                    Color color = e.getViewColor();
                    if (color != null) {
    
                        if(sumRed == 255 & sumGreen == 255 & sumBlue == 255){
                            continue;
                        }
    
                        sumRed += color.getRed();
                        sumGreen += color.getGreen();
                        sumBlue += color.getBlue();
                    }
                }
                int count = entities.size();
                sumRed /= count;
                sumGreen /= count;
                sumBlue /= count;
                Color color = new Color((double)(sumRed),(double)(sumGreen),(double)(sumBlue), 1.0);
                return color;
    
            }
        }