function clamp(x, min_x, max_x) { return min(max(x, min_x), max_x) } class Walker { constructor(x = 0, y = 0) { this.pos = createVector(x, y) } step() { let vel = createVector(0, 0) if (random(1) < 0.5) { vel.x = clamp(mouseX - this.pos.x, -1, 1) vel.y = clamp(mouseY - this.pos.y, -1, 1) } else { vel.x = floor(random(3)) - 1 vel.y = floor(random(3)) - 1 } this.pos.add(vel) } draw() { stroke(0) point(this.pos) } } let walker function setup() { createCanvas(640, 240) background(255) walker = new Walker(320, 120) } function draw() { walker.step(); walker.draw(); }