// Path: src/wota/gameobjects/GameWorld.java
// public class Player {
// 	private final List<AntObject> antObjects = new LinkedList<AntObject>();
// 	private final List<AntCorpseObject> antCorpseObjects = new LinkedList<AntCorpseObject>();
// 	private final HillObject hillObject;
// 
// 	public final String name;
// 	public final String creator;
// 
// 	private final int id;
// 
// 	public int id() {
// 		return id;
// 	}
// 
// 	// TODO make this private and change addPlayer
// 	public Player(Vector position, Class<? extends HillAI> hillAIClass) {
// 		hillObject = new HillObject(position, this, hillAIClass, parameters);
// 		spacePartitioning.addHillObject(getHillObject());
// 					
// 		name = AILoader.getAIName(hillAIClass);
// 		creator = AILoader.getAICreator(hillAIClass);
// 
// 		id = nextPlayerId;
// 		nextPlayerId++;
// 	}
// 		
// 	@Override
// 	public String toString() {
// 		return "AI " + (id +1) + " " + name + " written by " + creator;
// 	}
// 		
// 	public synchronized void addAntObject(AntObject antObject) {
// 		getAntObjects().add(antObject);
// 		spacePartitioning.addAntObject(antObject);
// 	}
// 		
// 	/**
// 	 * removes antObject from the antObjects list
// 	 * @param antObject antObject to remove
// 	 */
// 	public synchronized void removeAntObject(AntObject antObject) {
// 		getAntObjects().remove(antObject);
// 	}
// 				
// 	/**
// 	 * @param caste
// 	 * @return number of ants of given caste
// 	 * @throws NullPointerException if antObjects is null
// 	 */
// 	public synchronized int numAnts(Caste caste) throws NullPointerException{
// 		int num = 0;
// 		for (AntObject antObject : getAntObjects()) {
// 			if (antObject.caste == caste) {
// 				num++;
// 			}
// 		}
// 		return num;
// 	}
// 
// 	/**
// 	 * @return antObjects
// 	 */
// 	public synchronized List<AntObject> getAntObjects() {
// 		return antObjects;
// 	}
// 
// 	/**
// 	 * @return the antCorpseObjects
// 	 */
// 	public List<AntCorpseObject> getAntCorpseObjects() {
// 		return antCorpseObjects;
// 	}
// 
// 	/**
// 	 * @return the hillObject
// 	 */
// 	public HillObject getHillObject() {
// 		return hillObject;
// 	}
// 		
// }


import java.util.List;
import wota.gameobjects.*;
import wota.gameobjects.GameWorld.Player;
/**
 * 
 */
package wota.gamemaster;



/**
 *  Simple logger which simply counts events
 */
public class StatisticsLogger implements Logger{
	
	private int createdAnts[];
	private int diedAnts[];
// Path: src/wota/gameobjects/GameWorld.java
// public class Player {
// 	private final List<AntObject> antObjects = new LinkedList<AntObject>();
// 	private final List<AntCorpseObject> antCorpseObjects = new LinkedList<AntCorpseObject>();
// 	private final HillObject hillObject;
// 
// 	public final String name;
// 	public final String creator;
// 
// 	private final int id;
// 
// 	public int id() {
// 		return id;
// 	}
// 
// 	// TODO make this private and change addPlayer
// 	public Player(Vector position, Class<? extends HillAI> hillAIClass) {
// 		hillObject = new HillObject(position, this, hillAIClass, parameters);
// 		spacePartitioning.addHillObject(getHillObject());
// 					
// 		name = AILoader.getAIName(hillAIClass);
// 		creator = AILoader.getAICreator(hillAIClass);
// 
// 		id = nextPlayerId;
// 		nextPlayerId++;
// 	}
// 		
// 	@Override
// 	public String toString() {
// 		return "AI " + (id +1) + " " + name + " written by " + creator;
// 	}
// 		
// 	public synchronized void addAntObject(AntObject antObject) {
// 		getAntObjects().add(antObject);
// 		spacePartitioning.addAntObject(antObject);
// 	}
// 		
// 	/**
// 	 * removes antObject from the antObjects list
// 	 * @param antObject antObject to remove
// 	 */
// 	public synchronized void removeAntObject(AntObject antObject) {
// 		getAntObjects().remove(antObject);
// 	}
// 				
// 	/**
// 	 * @param caste
// 	 * @return number of ants of given caste
// 	 * @throws NullPointerException if antObjects is null
// 	 */
// 	public synchronized int numAnts(Caste caste) throws NullPointerException{
// 		int num = 0;
// 		for (AntObject antObject : getAntObjects()) {
// 			if (antObject.caste == caste) {
// 				num++;
// 			}
// 		}
// 		return num;
// 	}
// 
// 	/**
// 	 * @return antObjects
// 	 */
// 	public synchronized List<AntObject> getAntObjects() {
// 		return antObjects;
// 	}
// 
// 	/**
// 	 * @return the antCorpseObjects
// 	 */
// 	public List<AntCorpseObject> getAntCorpseObjects() {
// 		return antCorpseObjects;
// 	}
// 
// 	/**
// 	 * @return the hillObject
// 	 */
// 	public HillObject getHillObject() {
// 		return hillObject;
// 	}
// 		
// }


// Path: src/wota/gamemaster/StatisticsLogger.java
import java.util.List;
import wota.gameobjects.*;
import wota.gameobjects.GameWorld.Player;

/**
 * 
 */
package wota.gamemaster;



/**
 *  Simple logger which simply counts events
 */
public class StatisticsLogger implements Logger{
	
	private int createdAnts[];
	private int diedAnts[];
	private int collectedFood[];