package edu.agh.tunev.model.cellular.agent;

import java.awt.geom.Point2D;

import edu.agh.tunev.model.AbstractPerson;

/**
 * Tutaj możesz pamiętać sobie jakieś dane o osobie, które mają znaczenie tylko
 * w implementowanym modelu. Wszystkie cechy "osobnicze", które mają sens poza
 * konkretnym modelem, powinny być dodane do AbstractPerson. Przykład:
 * 
 * Do <code>AbstractPerson</code>: wiek, rasa, orientacja, religious views
 * 
 * Do <code>Person extends AbstractPerson</code>: informacja o tym co osoba
 * sądzi nt. konkretnych pól automatu komórkowego
 * 
 */
public final class Person extends AbstractPerson {

	public Person(Point2D.Double position) {
		super(position);
	}

}

@@ -117,570 +117,615 @@
 n;%0A%0A
-/**%0A * Tutaj mo%C5%BCesz pami%C4%99ta%C4%87 sobie jakie%C5%9B dane o osobie, kt%C3%B3re maj%C4%85 znaczenie tylko%0A * w implementowanym modelu. Wszystkie cechy %22osobnicze%22, kt%C3%B3re maj%C4%85 sens poza%0A * konkretnym modelem, powinny by%C4%87 dodane do AbstractPerson. Przyk%C5%82ad:%0A * %0A * Do %3Ccode%3EAbstractPerson%3C/code%3E: wiek, rasa, orientacja, religious views%0A * %0A * Do %3Ccode%3EPerson extends AbstractPerson%3C/code%3E: informacja o tym co osoba%0A * s%C4%85dzi nt. konkretnych p%C3%B3l automatu kom%C3%B3rkowego%0A * %0A */%0Apublic final class Person extends AbstractPerson %7B%0A%0A%09public Person(Point2D.Double position) %7B%0A%09%09super(position)
+public final class Person extends AbstractPerson %7B%0A%09%0A%09public enum Orientation%7B%0A%09%09E, NE, N, NW, W, SW, S, SE%09%0A%09%7D%0A%0A%09public Person(Point2D.Double position) %7B%0A%09%09super(position);%0A%09%7D%0A%09%0A%09public static Double orientToAngle(Orientation orient) throws WrongOrientationException%7B%09%0A%09%09//starting at east%0A%09%09Double angle = 0.0;%0A%09%09Person.Orientation%5B%5D orientValues = Person.Orientation.values();%0A%09%09%0A%09%09//TODO: more sensible error handling%0A%09%09for(int i = 0; i %3C orientValues.length && orient != orientValues%5Bi%5D; ++i)%7B%0A%09%09%09angle += 45.0;%0A%09%09%7D%0A%09%09%0A%09%09if(angle %3E 315)%0A%09%09%09throw new WrongOrientationException();%0A%09%09else %0A%09%09%09return angle
 ;%0A%09%7D

Create a stub of AllowedConfigs; change agent.Person a little