JSFiddle - React, Tailwind, and code Playground

by eddiemonge

JavaScript

var Mars = (function(undefined) {
    var _renderer,
        _keyboardState = {
            a: false,
            d: false,
            s: false,
            w: false
        },
        _updateKeyboardState = function(e, keyboardState, make) {
            var key = String.fromCharCode(e.which || e.keyCode).toLowerCase();
    
            if (keyboardState[key] !== undefined) {
                keyboardState[key] = make;
            }
        };

    // Keyboard handler based on code supplied by #iaincarsberg of
    // irc.freenode.net, #bbg.
    var _addKeyEventListener = function() {
        $(document).keydown(function(e) {
            _updateKeyboardState(e, _keyboardState, true);
        }).keyup(function(e) {
            _updateKeyboardState(e, _keyboardState, false);
        });
    };

    var _moveBackward = function() {
        var camera = _renderer.getCamera(),
            x = camera.x,
            z = camera.z,
            y = _renderer.getHeight(x, z) + 100,
            angleInRadians = Math.round(camera.angle) * Math.PI / 180;

        x += Math.round(Math.cos(angleInRadians) * -2);
        z += Math.round(Math.sin(angleInRadians) * -2);

        if (x >= 1024 && x < 2048) {
            camera.x = x;
        }
        if (z >= 1024 && z < 2048) {
            camera.z = z;
        }

        if (y < 200) {
            y = 200;
        } else if (y > 300) {
            y = 300;
        }
        camera.y = y;

        _renderer.setCamera({ x: camera.x, y: camera.y, z: camera.z });
    };

    var _moveForward = function() {
        var camera = _renderer.getCamera(),
            x = camera.x,
            z = camera.z,
            y = _renderer.getHeight(x, z) + 100,

            angleInRadians = Math.round(camera.angle) * Math.PI / 180;

        x += Math.round(Math.cos(angleInRadians) * 4);
        z += Math.round(Math.sin(angleInRadians) * 4);

        if (x >= 1024 && x < 2048) {
            camera.x = x;
        }
        if (z >= 1024 && z < 2048)...