/**
Robot
Målet för den lilla roboten är att putta den röda bollen in i det blå målet.
Roboten kan bara mäta bäringarna till målet och bollen (vinklarna i robotens egna referensram).
Den saknar alltså helt avståndsmätning och tillgång till absoluta positionsdata.
All styrning görs genom att driva olika mycket på höger resp. vänster hjul.
SPACE startar om spelet.
MUSKLICK flyttar på roboten.
**/
Environment env;
Ball ball;
Goal goal;
//Opponent opponent;
Robot robot;
//--------------
void setup(){
size(200,200);
frameRate(30);
smooth();
robot = new Robot();
robot.setPos(random(50,width-50),random(50,width-50));
ball = new Ball(random(50,width-50),random(50,width-50));
goal = new Goal(random(10,width-10),random(10,width-10));
}
//--------------
void draw(){
background(0,128,0);
//simulation
robot.ai();
//simulation
robot.update();
ball.update();
ball.collisionDetect(robot.x, robot.y, robot.radius);
goal.update();
//drawing
goal.visualize();
robot.visualize();
ball.visualize();
}
//--------------
void keyPressed(){
if(key==' ') setup();
}
//--------------
void mousePressed(){
if(mouseButton==LEFT) robot.setPos(mouseX,mouseY);
}
//--------------
void mouseReleased(){
}