JSFiddle - React, Tailwind, and code Playground

HTML

<canvas id="canvas" width="360" height="360"></canvas>

JavaScript

var canvasSize = 360;
var count = 10;
var s = canvasSize / count;

var px = 0;
var py = 0;
var rot = 0;

var context;

function drawPlayer(color) {
    var e1x = Math.cos(Math.PI / 180 * -rot);
    var e1y = Math.sin(Math.PI / 180 * -rot);
    
    var e2x = -e1y;
    var e2y = e1x;
    
    var ox = px + 0.5 * s - 0.125*s*e1x;
    var oy = (canvasSize - py - s) + 0.5 * s - 0.125*s*e1y;
    
    context.fillStyle = color;
    context.beginPath();
    context.moveTo(ox + e2x * 0.25*s, oy + e2y * 0.25*s);
    context.lineTo(ox - e2x * 0.25*s, oy - e2y * 0.25*s);
    context.lineTo(ox + e1x * 0.25*s, oy + e1y * 0.25*s);
    context.lineTo(ox + e2x * 0.25*s, oy + e2y * 0.25*s);
    context.fill();
}

function normalizeRotation() {
    if (rot == -90) rot = 270;
    else if (rot == 360) rot = 0;
}

function normalizePosition() {
    var oldx = px;
    var oldy = py;
    if (oldx < 0) {
        px = oldy;
        py = -oldx - s;
        rot -= 90;
        normalizeRotation();
    }
    else if (oldy < 0) {
        px = -oldy - s;
        py = oldx;
        rot += 90;
        normalizeRotation();
    }
    else if (oldx >= canvasSize) {
        px = oldy;
        py = 2*canvasSize - oldx - s;
        rot -= 90;
        normalizeRotation();
    }
    else if (oldy >= canvasSize) {
        px = 2*canvasSize - oldy - s;
        py = oldx;
        rot += 90;
        normalizeRotation();
    }
}

function moveForward() {
    drawPlayer('#808080');
    if (rot == 0) {
        px = px + s;
    }
    else if (rot == 90) {
        py = py + s;
    }
    else if (rot == 180) {
        px = px - s;
    }
    else {
        py = py - s;
    }
    normalizePosition();
    drawPlayer('#000000');
}

function moveBackward() {
    drawPlayer('#808080');
    if (rot == 0) {
        px = px - s;
    }
    else if (rot == 90) {
        py = py - s;
    }
    else if (rot == 180) {
        px = px + s;
    }
    else {
        py = py + s;
    }
    normalizePosition();
   ...