Workshop Code

var x;
var y;
var wkey = false;
var skey = false;
var akey = false;
var dkey = false;
var angle = 0;

function setup() {
  createCanvas(400, 400);
  x = width / 2;
  y = height / 2;
}

function draw() {
  background(220);
  
  // Draw the main circle
  ellipse(x, y, 50, 50);
  
  // Draw the small rotating dot
  ellipse(x + 25 * cos(angle), y - 25 * sin(angle), 15, 15);
  
  handleAlternateKeys();
}

function handleAlternateKeys() {
  if (wkey) {
    y -= 5 * sin(angle);
    x += 5 * cos(angle);
  }
  if (skey) {
    y += 5 * sin(angle);
    x -= 5 * cos(angle);
  }
  if (akey) {
    angle += PI / 20;
  }
  if (dkey) {
    angle -= PI / 20;
  }
}

function keyPressed() {
  if (key == 'w') { wkey = true; }
  if (key == 's') { skey = true; }
  if (key == 'a') { akey = true; }
  if (key == 'd') { dkey = true; }
}

function keyReleased() {
  if (key == 'w') { wkey = false; }
  if (key == 's') { skey = false; }
  if (key == 'a') { akey = false; }
  if (key == 'd') { dkey = false; }
}