package agents;

import other.InformationPool;

/*
 * Created on Oct 12, 2004
 *
 */

/**
 * Steht nur dumm rum
 * @author wir
 * 
 */
public abstract class Mittelfeld extends Agent {
	
	
	public void handlePlayOn(){
		// Anweisung zur Ballannahme
		if (infoPool.getPassMessage() != null){
			infoPool.handlePassMessage();
			return;
		}
		
		//Ball ist in unserem Zuständigkeitsbereich
		if (infoPool.checkBallInActingField()) {
			//Ball ist in unserem Zuständigkeitsbereich
			//Ich habe den Ball
			if (infoPool.checkBallPossession() == InformationPool.BALL_POSSESSION_ME) {
				double x = infoPool.getX2PlayerActingField() - 5;
				double y = Math.random()*(infoPool.getY2PlayerActingField() - infoPool.getY1PlayerActingField())+infoPool.getY1PlayerActingField();
				System.out.println("ich renn mal zu " + x + ", " + y);
				infoPool.dribbleTo(x, y);
			}
			
			//Ball ist in unserem Zuständigkeitsbereich
			//Unsere Mannschaft hat den Ball
			else if (infoPool.checkBallPossession() ==  InformationPool.BALL_POSSESSION_WE){
				if (infoPool.distTo(infoPool.getXPlayerHome(), infoPool.getYPlayerHome()) > 1){
					double dir = infoPool.angleToObject(infoPool.getXPlayerHome(), infoPool.getYPlayerHome());
					infoPool.dashTo(dir,InformationPool.STAMINA_NEUTRAL_SPEED);
				}
			}
			//Ball ist in unserem Zuständigkeitsbereich
			//Gegnerische Mannschaft hat den Ball
			else if (infoPool.checkBallPossession() ==  InformationPool.BALL_POSSESSION_OPPONENT){
				infoPool.interceptBall3();
			}
		} 
        //Ball ist Nicht in unserem Zuständigkeitsbereich
		else{
			//Ball ist Nicht in unserem Zuständigkeitsbereich
			//Wir befinden uns in unserem ActingField
			if  (infoPool.checkPlayerInActingField(6)) {
				double dir = infoPool.angleToObject(infoPool.getBall().getAbsX(), infoPool.getBall().getAbsX());
				infoPool.dashTo(dir, InformationPool.STAMINA_NEUTRAL_SPEED);
			} 
			//Ball ist Nicht in unserem Zuständigkeitsbereich
			//Wir befinden uns nicht in unserem ActingField
			else {
				//doNothing;
			}
		}
		
		
		
	}
	
	public Mittelfeld(String[] args){
		super(args);
	}
	
	public static void main(String[] args) {
		Mittelfeld1 d = new Mittelfeld1(args);
		d.start();
	}
}
