diff --git a/1. Vectors/6. Random Walker/index.html b/1. Vectors/6. Random Walker/index.html
new file mode 100644
index 0000000..c390616
--- /dev/null
+++ b/1. Vectors/6. Random Walker/index.html
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/1. Vectors/6. Random Walker/sketch.js b/1. Vectors/6. Random Walker/sketch.js
new file mode 100644
index 0000000..e22f581
--- /dev/null
+++ b/1. Vectors/6. Random Walker/sketch.js
@@ -0,0 +1,62 @@
+class Walker {
+ constructor(x = 0, y = 0) {
+ this.t = createVector(0, 10000)
+ this.position = createVector(x, y)
+ this.velocity = createVector(0, 0)
+ this.accelaration = createVector(0, 0)
+ this.topSpeed = 50
+ }
+
+ step() {
+ this.accelaration = createVector(
+ map(noise(this.t.x), 0, 1, -1, 1),
+ map(noise(this.t.y), 0, 1, -1, 1)
+ ).normalize()
+ this.accelaration.mult(50)
+
+ const dt = deltaTime/1000
+ this.velocity.add(p5.Vector.mult(this.accelaration, dt))
+ this.velocity.limit(this.topSpeed)
+ this.position.add(p5.Vector.mult(this.velocity, dt))
+ this.t.add(createVector(dt, dt))
+
+
+ if (this.position.x < 0) {
+ this.position.x += width
+ }
+ if (this.position.x > width) {
+ this.position.x -= width
+ }
+
+ if (this.position.y < 0) {
+ this.position.y += height
+ }
+ if (this.position.y > height) {
+ this.position.y -= height
+ }
+ }
+
+ draw() {
+ stroke(0)
+ line(
+ this.position.x, this.position.y,
+ this.position.x + this.accelaration.x,
+ this.position.y + this.accelaration.y
+ )
+ circle(this.position.x, this.position.y, 20)
+ }
+}
+
+let walker
+
+function setup() {
+ createCanvas(640, 240)
+ background(255)
+ walker = new Walker(width/2, height/2)
+}
+
+function draw() {
+ background(255)
+ walker.step()
+ walker.draw()
+}