PFont schrift;
float textX, textY, linienDicke, altesTextX, altesTextY;
String wort = "";
color farbe = color(50, 200, 0);
void setup() {
size(640, 480);
schrift = loadFont("ArnoPro-Smbd-48.vlw");
textFont(schrift, 24);
background(255);
smooth();
textX = 320;
altesTextX = 320;
textY = 50;
altesTextY = 50;
}
void draw() {
noStroke();
// das wort zeichnen
fill(255);
rect(0, 430, width, 480);
fill(0);
textFont(schrift, 16);
text(wort, 10, 450);
}
void keyPressed() {
// den gedrücken buchstaben an das vorhandenene wort setzen
wort = wort + key;
// die linieneigenschaften ändern
if(key == 'a') {
textX = textX + 30;
textY = textY + 12;
}
else if ( key == 'r') {
textX = textX + 15;
textY = textY - 14;
}
else if ( key == 'c') {
linienDicke = linienDicke + 5;
}
else if ( key == 'e') {
if(linienDicke > 2) linienDicke = linienDicke - 2;
textX = textX + 5;
textY = textY + 10;
}
else if ( key == 't') {
farbe = color(200, 0, 0);
}
else if ( key == 'i') {
textX = textX - 28;
textY = textY + 28;
}
else if ( key == 'v') {
farbe = color(50, 200, 0);
textX = textX - 9;
textY = textY - 18;
}
else if ( key == 'o') {
farbe = color(200, 200, 120);
textX = textX - 9;
textY = textY + 18;
}
else if ( key == 'm') {
linienDicke = linienDicke + 10;
textX = textX - 19;
textY = textY - 18;
}
else if ( key == 'n') {
if(linienDicke > 10) linienDicke = linienDicke - 10;
textX = textX + 29;
textY = textY - 18;
ellipse(textX, textY, linienDicke*3, linienDicke*3);
}
else {
textX = textX + random(-15, 15);
textY = textY + random(-15, 15);
}
// die linie zeichnen
stroke(farbe);
strokeWeight(linienDicke);
line(altesTextX, altesTextY, textX, textY);
altesTextX = textX;
altesTextY = textY;
strokeWeight(.5);
line(0, textY, textX, textY);
textFont(schrift, 24);
text(key, textX, textY);
}