Det er et lite påskeegg i TED-foredraget som jeg holdt forrige helg, og det er en visuell quine for Processing.
Ved denne definisjonen er ikke mitt program streng tatt en quine, fordi output er ikke kildekoden til programmet, men en visualisering av kildekoden. Dette programmet visualiserer bare seg selv. Uansett, er det moro.
Her er koden hvis du er interessert! PS. Hvis du førsøker, må du lagre programmet med navnet “SelfDrawingSketch.pde”, ellers vil det ikke funke.
String[] lines;
PFont font;
int counter;
float currentWidth, currentHeight;
void setup() {
size(600, 800);
lines = loadStrings("SelfDrawingSketch.pde");
font = createFont("SourceCodePro-Regular", 12);
textFont(font);
stroke(0, 255, 0, 60);
fill(255);
}
void draw() {
background(30);
counter = 0;
currentWidth = 40;
currentHeight = g.textLeading;
for (int i=0; i<lines.length; i++) {
textAlign(RIGHT);
text(i+1, currentWidth-20, currentHeight);
textAlign(LEFT);
line(40, currentHeight, 40 + textWidth(lines[i]), currentHeight);
for (int j=0; j<lines[i].length(); j++) {
char c = lines[i].charAt(j);
if (counter < frameCount) {
text(c, currentWidth, currentHeight);
counter++;
}
currentWidth += textWidth(c);
}
currentWidth = 40;
currentHeight += g.textLeading;
}
}