====== Simulation von Bewegungen ====== Wir machen eine Zeichnung, die unseren Roboter darstellen soll, und lassen sie bewegen. Unser "Roboter" sieht so aus: {{:skript:robot-sketch.png?70|}} Programm, welches den Roboter vorwärts bewegen und drehen lässt. Version mit globalen Variablen ohne Klassen: int radius = 25; // Radius des Roboters float xPos = 300; // x-Position des Roboters float yPos = 200; // y-Position des Roboters float angle = 0; // Richtung des Roboters void setup() { size(600, 400); } void draw() { clear(); drawRobot(); move(4); turn(0.1); } /* * 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 */ void move(float distance) { xPos = xPos + distance * cos(angle); yPos = yPos + distance * sin(angle); } /* * Rotiert den Roboter */ void turn(float angleDiff) { angle = angle + angleDiff; }