Esempio n. 1
0
function onUpdate() {
    var movex = 0;
    var movey = 0;
    var k = '';
    var f = null;

    if (isGameOver) {
        field.pitch = 0;
        field.yaw = 0;
        chart.movex = 0;
        chart.movey = 0;
        photons.fire = false;
        if (keys.key === '\e') {
            loop.enterPause();
        }
        return;
    }

    if (keys.left) {
        --movex;
    }
    if (keys.right) {
        ++movex;
    }
    if (keys.up) {
        --movey;
    }
    if (keys.down) {
        ++movey;
    }

    /* Only fire missiles if not in hyperspace or hyperwarp.  */
    if (!hyperwarp.engaged() && !hyperwarp.inHyperspace() &&
        field.speed < 70.0) {
        photons.fire = keys.fire;
    } else {
        photons.fire = false;
    }

    if (!chart.isShown() || hyperwarp.engaged()) {
        field.yaw = movex;
        field.pitch = -movey;
        chart.movex = 0;
        chart.movey = 0;
    } else {
        field.yaw = 0;
        field.pitch = 0;
        chart.movex = movex;
        chart.movey = movey;
    }

    k = keys.key;
    if (k !== '') {
        if (typeof keytable[k] === 'function') {
            keytable[k](k);
        }
    }
}
Esempio n. 2
0
keytable['h'] = keytable['H'] = function () {
    if (hyperwarp.engaged()) {
        console.write('Hyperwarp aborted.');
        engines.setSpeed(0);
    } else {
        console.write('Hyperwarp engines engaged.');
        hyperwarp.engage();
    }
};
Esempio n. 3
0
function engineControl(k) {
    if (hyperwarp.engaged()) {
        console.write('Hyperwarp aborted.');
    }
    engines.setSpeed(parseInt(k));
}