class Robot { // Attribute: int radius; // Radius des Roboters float xPos; // x-Position des Roboters float yPos; // y-Position des Roboters float angle; // Richtung des Roboters /* * Konstruktor */ Robot(int radius, float x, float y, float angle) { this.radius = radius; this.xPos = x; // alternativ: xpos = x; this.yPos = y; // alternativ: yPos = y; this.angle = angle; } /* * Zeichnet den Roboter */ void drawRobot() { ellipse(xPos, yPos, radius*2, radius*2); // *2, weil die ellipse-Funktion den Diameter verwendet line(xPos, yPos, xPos + radius * cos(angle), yPos + radius * sin(angle)); // Linie zwischen dem Roboterzentrum und dem Roboterrand in die Bewegungsrichtung } /* * Bewegt den Roboter nach vorne in seine Richtung um die angegebene Entfernung */ void move(float distance) { xPos = xPos + distance * cos(angle); yPos = yPos + distance * sin(angle); } /* * Rotiert den Roboter um den den angegebenen Winkel */ void turn(float angleDiff) { angle = angle + angleDiff; } }