Processingでランダムウォーカー

「THE NATURE OF CODE」本に書かれたコードの再現。
ランダムウォーカーとは4分の1の確率で上下左右のどちらかに移動する処理を連続的に行うアルゴリズムです。出力は結構キレイだったりします。

下記をProcessingでスケッチして実行
[code]
class Walker {
int x;
int y;
Walker() {
x = width/2;
y = height/2;
}
void display() {
stroke(50);
point(x, y);
}
void step() {
int choice = int(random(4));
if (choice == 0) {
x++;
} else if (choice == 1) {
x–;
} else if (choice == 2) {
y++;
} else {
y–;
}
}
}

Walker w;
void setup() {
size(640,360);
w = new Walker();
background(255);
}

void draw() {
w.uniqStep();
w.display();
}
[/code]

参考

THE NATURE OF CODE
http://natureofcode.com/book/

日本語版は下記で読めます。