UNPKG

@warriorjs/cli

Version:

WarriorJS command line

55 lines (39 loc) 1.48 kB
'use strict'; 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;