@warriorjs/cli
Version:
WarriorJS command line
55 lines (39 loc) • 1.48 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var _delay = require('delay');
var _delay2 = _interopRequireDefault(_delay);
var _printBoard = require('./printBoard');
var _printBoard2 = _interopRequireDefault(_printBoard);
var _printTurnHeader = require('./printTurnHeader');
var _printTurnHeader2 = _interopRequireDefault(_printTurnHeader);
var _printLogMessage = require('./printLogMessage');
var _printLogMessage2 = _interopRequireDefault(_printLogMessage);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* Prints a play.
*
* @param {Object[]} events The events that happened during the play.
* @param {nunber} delay The delay between each turn in ms.
*/
async function printPlay(events, delay) {
let turnNumber = 0;
let boardOffset = 0;
await (0, _delay2.default)(delay);
// eslint-disable-next-line no-restricted-syntax
for (const turnEvents of events) {
turnNumber += 1;
boardOffset = 0;
(0, _printTurnHeader2.default)(turnNumber);
// eslint-disable-next-line no-restricted-syntax
for (const event of turnEvents) {
(0, _printBoard2.default)(event.floorMap, event.warriorStatus, boardOffset);
(0, _printLogMessage2.default)(event.unit, event.message);
boardOffset += 1;
await (0, _delay2.default)(delay); // eslint-disable-line no-await-in-loop
}
}
}
exports.default = printPlay;
module.exports = exports.default;
;