Lastebiler.java [Last ned]

/*
 * Programmet tegner et antall lastebiler i en kolonne.
 * Lastebilene blir større lengre fremme i kolonnen,
 * men de kjører alle på den 'samme vegen'.
 */
import java.awt.*;
import java.applet.*;
 
public class Lastebiler extends EasyGraphics {
 
  public static void main (String[] args) {
    launch (args);
  }
 
  public void run() {
    makeWindow ("Lastebilkolonne",900,500);
 
    int antBiler = 5;
    // Kan leses inn fra brukeren
    int xPos=20, yPos=200, str=90;
    for (int i=1; i<=antBiler; i++) {
      tegnLastebil(xPos, yPos, str);
      xPos += str + str/2;
      str += 15;
    }
  }
 
  public void tegnLastebil(int x, int y, int lengde) {
    // Først tegnes underdelen
    int yUnder =  y-lengde/3-lengde/5;
    drawRectangle(x, yUnder, lengde, lengde/3);
    // Så tegnes lasten
    int yLast = y-2*lengde/3-lengde/5;
    drawRectangle(x, yLast, 3*lengde/4, lengde/3);
    // Deretter tegnes førerhuset
    int yHus = y-lengde/5-lengde/3-lengde/5;
    drawRectangle(x+3*lengde/4, yHus, lengde/6, lengde/5);
    // Tre like store hjul, forskjøvet i x-retningen
    int r = lengde/8;
    drawCircle(x+r, y-r/2, r);
    drawCircle(x+3*r, y-r/2, r);
    drawCircle(x+7*r, y-r/2, r);
  }
 
}
Kildekode blir vist ved hjelp av GeSHi.