UNPKG

step-sequence-generator

Version:

A step sequence generator for figure skating programs

32 lines (31 loc) 1.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ThreeTurnsBlockGenerator = void 0; const AbstractSequenceGenerator_1 = require("./AbstractSequenceGenerator"); const filter_stategy_name_enum_1 = require("../../shared/enums/filter-stategy-name.enum"); const THREE_TURNS_BLOCK_LENGTH = 3; class ThreeTurnsBlockGenerator extends AbstractSequenceGenerator_1.AbstractSequenceGenerator { constructor(data) { super(data); } generate(movement, distanceFactor) { const COUNT_CORRECTION = 1; this.context.currentStep = movement; this.counter.resetTurns(); this.resetSequence(); for (let i = 0; i < THREE_TURNS_BLOCK_LENGTH; i++) { const newMovement = this.generateMovement(distanceFactor, this.getFilterStrategy(filter_stategy_name_enum_1.FilterStrategyName.THREE_DIFFICULT_TURNS)); newMovement.threeTurnsBlockInfo = { blockNumber: this.counter.amount + COUNT_CORRECTION, orderNumber: i + COUNT_CORRECTION, }; this.update(newMovement); } this.counter.increaseAmount(); return this.stepSequence; } get blockAmount() { return this.counter.amount; } } exports.ThreeTurnsBlockGenerator = ThreeTurnsBlockGenerator;