import java.awt.Point; /** Returned by Creature.look */ public final class Observation { /** Type of object at this location. */ public Type type; /** If type == CREATURE, this is the classname of that creature. Otherwise, null.*/ public String className; /** If type == CREATURE, this is the ID of that creature. Otherwise, 0. */ public int id; /** If type == CREATURE, this is the direction that creature is facing. */ public Direction direction; /** Point that was observed.*/ public Point position; /** Value returned from Creature.getTime() when this observation was made. */ public int time; public Observation(int x, int y, int t) { position = new Point(x, y); type = Type.EMPTY; time = t; } public Observation(Point p, int t) { position = p; type = Type.EMPTY; time = t; } /** @param tm Time of observation */ public Observation(Point p, Type t, int tm) { assert (t != Type.EMPTY) && (t != Type.CREATURE); position = p; type = t; time = tm; } /** @param tm Time of observation */ public Observation(Point p, String c, int i, Direction dir, int tm) { position = p; type = Type.CREATURE; className = c; id = i; direction = dir; time = tm; } }