import java.util.concurrent.ConcurrentHashMap; import java.util.Random; import java.util.Map; class Environment { private Map foodLocations; private final int width, height; private Random rand; public Environment(int width, int height) { foodLocations = new ConcurrentHashMap<>(); this.width = width; this.height = height; rand = new Random(); } public void update() { Food f = new Food(5); Point p = new Point(rand.nextInt(width), rand.nextInt(height)); foodLocations.put(p, f); } public boolean hasFood(Point p) { Food f = foodLocations.get(p); return (f != null) && (f.getAmount() > 0); } public void dropFood(Point p) { Food f = foodLocations.get(p); if (f != null) f.addFood(1); } }