-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path16.bundle.js.map
executable file
·1 lines (1 loc) · 51.7 KB
/
16.bundle.js.map
1
{"version":3,"sources":["webpack:///./src/games/observer/meta.ts","webpack:///./src/core/ui/components/games/baseMainGameComponent.ts","webpack:///./src/core/utils/circleSeq.ts","webpack:///./src/games/observer/images.ts","webpack:///./src/games/observer/sounds.ts","webpack:///./src/games/observer/components/mainComponent.ts","webpack:///./src/games/observer/components/houseComponent.ts","webpack:///./src/games/observer/components/houseCarComponent.ts","webpack:///./src/games/observer/components/houseWindowComponent.ts","webpack:///./src/core/utils/maps.ts","webpack:///./src/games/observer/levels.ts","webpack:///./src/games/observer/logic.ts"],"names":[],"mappings":"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","file":"16.bundle.js","sourcesContent":["import {IGameMetaData} from \"core/logic\"\nimport {LevelOptions, ScoreOptions} from \"core/types\"\nimport {MainComponent} from \"games/observer/components/mainComponent\"\nimport {Images} from \"games/observer/images\"\nimport {levels} from \"games/observer/levels\"\nimport {Logic} from \"games/observer/logic\"\nimport {Sounds} from \"games/observer/sounds\"\n\nexport const gameId = \"observer\"\nconst scoreOptions: ScoreOptions = {\n time: {\n minAnswerTime: 1500,\n maxAnswerTime: 10000\n },\n scoreAnswer: 100,\n scoreBonus: 50,\n scoreBonusPerLevel: 5\n}\nconst levelOptions: LevelOptions = {\n levels,\n levelsSeqCounts: [{seqCount: 5, maxLevel: 5}, {seqCount: 3, maxLevel: 10}]\n}\nexport const metaData: IGameMetaData = {\n gameId,\n title: \"Observer\",\n logic: Logic,\n component: MainComponent,\n scoreOptions,\n levelOptions,\n darkBg: true,\n sounds: Sounds.keys,\n images: Images.data,\n atlasCount: 6,\n size: {\n width: 2048,\n height: 1280,\n heightMin: 1152\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/games/observer/meta.ts","import {CoreSounds} from \"core/assets\"\nimport {AssetUtl} from \"core/assets/assetUtl\"\nimport {Sys} from \"core/logic/sys\"\nimport {audioService} from \"core/services\"\nimport {GameComponentContext} from \"core/types\"\nimport {Signals} from \"core/ui/animations/signals\"\nimport {AnswerControlType} from \"core/ui/components/answers/answerControlType\"\nimport {GameComponent} from \"core/ui/components/games/gameComponent\"\nimport {Img} from \"core/ui/controls\"\nimport {screenSizeService} from \"core/ui/services/instances\"\nimport {Dev} from \"dev\"\nimport {toJS} from \"mobx\"\n\nconst bgLeftKey = \"bg_left\"\n\nconst introInterval = 2000\nconst introDelay = 300\n\nexport const durations = {\n introAnimationDelay: 100,\n introInterval,\n introDelay\n}\n\nexport abstract class BaseMainGameComponent<S = {}> extends GameComponent<{}, S> {\n\n statusOptions = {\n offset: 0,\n waitCompleteBeforeNewTask: false,\n }\n\n introOptions = {\n disableSound: false,\n runOnNewTaskAfter: false\n }\n\n initialState(): S {\n return {} as any\n }\n\n answersControl = AnswerControlType.None\n\n constructor(context: GameComponentContext) {\n super(context)\n context.uiService.rootComponent = this\n context.gameState = this.initialState()\n\n this.fixedToCamera = true\n this.onDestroy.addOnce(() => {\n this.context.uiService.mainComponent.onNewTask.dispose()\n this.context.uiService.mainComponent.onAnswer.dispose()\n audioService.stopAll()\n })\n\n this.onChangeForRun(\n x => screenSizeService.screenSize,\n x => {\n this.cameraOffset.y = screenSizeService.topOffset\n })\n\n }\n\n get cameraBottom() {\n const bottom = screenSizeService.height - this.cameraOffset.y\n return bottom\n }\n\n prepareDefaultIntroAnimation(delay = durations.introDelay) {\n let bgLeftOffset = 0\n let bgLeft: Img | undefined = undefined\n if (!screenSizeService.isPortrait && AssetUtl.checkImageKey(this.gameKey(bgLeftKey))) {\n bgLeft = this.addImage([bgLeftKey, [0, 0]])\n const width = -bgLeft.width + 2\n bgLeft.x = width\n bgLeftOffset = -width\n }\n this.cameraOffset.x = -screenSizeService.realLeftOffset + bgLeftOffset\n const tween = this.game.add.tween(this.cameraOffset).to(\n {x: 0}, durations.introInterval, Phaser.Easing.Cubic.InOut, false, delay\n )\n if (bgLeft) {\n tween.onComplete.addOnce(() => this.remove(bgLeft, true))\n }\n return tween\n }\n\n introAnimation(): { start: () => void, onComplete: Phaser.Signal } {\n const tween = this.prepareDefaultIntroAnimation()\n return tween\n }\n\n startIntro() {\n if (Sys.devMode && !Dev.devModeIntro) {\n this.context.uiService.mainComponent.onIntroComplete.dispatch()\n return Signals.memorize()\n }\n if (!this.introOptions.disableSound) {\n this.playSound(CoreSounds.intro, false, true)\n }\n const tween = this.introAnimation()\n const signal = Signals.bind(this.delay(durations.introAnimationDelay), () => {\n tween.start()\n return tween.onComplete\n })\n signal.addOnce(() => this.context.uiService.mainComponent.onIntroComplete.dispatch())\n this.disableInputOn(signal)\n return signal\n }\n\n onAfterInit() {\n this.initTaskRendering()\n }\n\n private initTaskRendering() {\n\n this.onChangeFor(() => this.gameState.lastAnswer, x => {\n this.context.uiService.mainComponent.onAnswer.dispatch(x)\n })\n this.onChangeFor(() => this.context.gameService.gameCycleService.state.levelTask.task,\n x => {\n if (this.statusOptions.waitCompleteBeforeNewTask) {\n this.disableInputOn(this.context.uiService.answerStatus.onAnimationComplete).addOnce(() => {\n this.callRenderNewTask(x)\n })\n } else {\n this.callRenderNewTask(x)\n }\n })\n this.callRenderNewTask(this.context.gameService.gameCycleService.state.levelTask.task)\n }\n\n private callRenderNewTask(task: any) {\n if (this.introOptions.runOnNewTaskAfter && this.isFirstTask) {\n this.context.uiService.mainComponent.onIntroComplete.addOnce(() => {\n this.context.uiService.mainComponent.onNewTask.dispatch(toJS(task))\n })\n } else {\n this.context.uiService.mainComponent.onNewTask.dispatch(toJS(task))\n }\n }\n\n playBackgroundLoop() {\n this.context.uiService.mainComponent.onIntroComplete.addOnce(() => this.playSound(\"bg\", true))\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/core/ui/components/games/baseMainGameComponent.ts","import {Numbers} from \"core/utils/numbers\"\nimport {RandomGenerator} from \"core/utils/randomGenerator\"\nimport {Undef} from \"core/utils/undef\"\nimport * as _ from \"lodash\"\n\nexport class CircleSeq {\n index = 0\n\n constructor(private array: number[]) {}\n\n next() {\n const index = this.index\n this.index = (this.index + 1) % this.array.length\n return this.array[index]\n }\n\n nextArray(count: number) {\n return _.range(count).map(() => this.next())\n }\n}\n\nexport class UniqSeq {\n private index = 0\n private list: number[] = []\n\n constructor(public max: number, private rng = new RandomGenerator()) {\n this.reset()\n }\n\n checkMax(newMax: number) {\n if (newMax != this.max) {\n this.max = newMax\n this.reset()\n }\n return this\n }\n\n reset() {\n let newList = this.rng.uniqArray(this.max, this.max)\n if (this.list.length > 0) {\n const last = _.drop(this.list, Math.floor(this.list.length * 0.6))\n const first = _.difference(newList, last)\n newList = first.concat(this.rng.shuffle(last))\n }\n this.list = newList\n }\n\n private updateIndex() {\n this.index += 1\n if (this.index >= this.list.length) {\n this.reset()\n this.index = 0\n }\n }\n\n nextArray(count: number) {\n return _.range(count).map(() => this.next())\n }\n\n next(max?: number) {\n if(max){\n this.checkMax(max)\n }\n const v = this.list[this.index]\n this.updateIndex()\n return v\n }\n\n nextSkip(v: number): number {\n const n = this.next()\n if (this.list.length > 1 && n == v) {\n return this.nextSkip(v)\n }\n return n\n }\n\n nextFrom<T>(arr: T[], skip?: T) {\n this.checkMax(arr.length)\n return arr[Undef.is(skip) ? this.next() : this.nextSkip(arr.indexOf(skip))]\n }\n\n nextSubsetFrom<T>(arr: T[], count: number) {\n return _.range(count).map(() => this.nextFrom(arr))\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/core/utils/circleSeq.ts","import {ImagesMetaData} from \"core/types\"\nimport {Item} from \"games/observer/logic\"\nimport * as _ from \"lodash\"\n\nexport module Images {\n const carCount = 3\n const shapeCount = 3\n const colorCount = 3\n const carFonCount = 3\n export const hotelCount = 5\n export const cloudCount = 4\n export const bgCount = 4\n\n export function carBody(id: number) {\n return `car_body_${id}`\n }\n\n export function carFon(id: number) {\n return `car_fon_${id}`\n }\n\n export function carWheel(id: number) {\n return `car_wheel_${id}`\n }\n\n export function hotel(id: number) {\n return `hotel_${id}`\n }\n\n export function cloud(id: number) {\n return `cloud_${id}`\n }\n\n export function bg(id: number) {\n return `bg_${id}`\n }\n\n export function item(item: Item) {\n return `item_${item.shape}_${item.color}`\n }\n\n export const light = \"light\"\n\n const items = _.flatMap(_.range(shapeCount),\n shape => _.range(colorCount).map(color => item({shape, color})))\n const carBodies = _.range(carCount).map(carBody)\n const carWheels = _.range(carCount).map(carWheel)\n export const bgList = _.range(bgCount).map(bg)\n export const hotelList = _.range(hotelCount).map(hotel)\n export const cloudList = _.range(cloudCount).map(cloud)\n export const carFons = _.range(carFonCount).map(carFon)\n export const win_close = \"win_close\"\n export const win_open = \"win_open\"\n export const fon_2 = \"fon_2\"\n export const keys = [\n light,\n fon_2,\n \"bg_left\",\n \"shar\",\n win_close,\n win_open\n ].concat(\n bgList,\n cloudList,\n hotelList,\n items,\n carFons,\n carBodies,\n carWheels)\n\n export const data: ImagesMetaData = {\n sprites: keys,\n }\n\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/games/observer/images.ts","export module Sounds {\n export const car_01 = \"car_01\"\n export const car_02 = \"car_02\"\n export const car_03 = \"car_03\"\n export const background_city = \"background_city\"\n export const intro = \"intro\"\n export const neon_lamp = \"neon_lamp\"\n export const keys = [car_01, car_02, car_03, background_city, intro, neon_lamp]\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/games/observer/sounds.ts","import {Signals} from \"core/ui/animations/signals\"\nimport {AnswerControlType} from \"core/ui/components/answers/answerControlType\"\nimport {BaseMainGameComponent} from \"core/ui/components/games/baseMainGameComponent\"\nimport {OnInit} from \"core/ui/components/onInit\"\nimport {Sounds} from \"games/observer/sounds\"\nimport * as Phaser from 'phaser-ce'\nimport {Task} from '../logic'\nimport * as Scene from \"./houseComponent\"\n\nconst durations = {\n init: 1000\n}\n\nexport class MainComponent extends BaseMainGameComponent implements OnInit {\n local: Phaser.Group\n scene: Scene.HouseComponent\n answersControl = AnswerControlType.Numpad\n\n onInit() {\n this.scene = this.add(this.createComponent(Scene.HouseComponent))\n this.context.uiService.mainComponent.onIntroComplete.addOnce(() => this.playSound(Sounds.background_city, true))\n }\n\n onNewTask(task: Task) {\n if (this.isFirstTask) {\n this.scene.updateWindows(task.initWindows)\n }\n const init = this.isFirstTask\n ? this.startIntro()\n : Signals.memorize()\n init.addOnce(() =>\n this.scene.setProps(task.windows)\n )\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/games/observer/components/mainComponent.ts","import {Sys} from \"core/logic/sys\"\nimport {CommonAnimations} from \"core/ui/animations/commonAnimations\"\nimport {Tweens} from \"core/ui/animations/tweens\"\nimport {Sizes} from \"core/ui/common/sizes\"\nimport {ImagePos} from \"core/ui/common/types\"\nimport {GameComponent} from \"core/ui/components/games/gameComponent\"\nimport {OnInit} from \"core/ui/components/onInit\"\nimport {Img} from \"core/ui/controls\"\nimport {Arrays, RandomGenerator, tuple} from \"core/utils\"\nimport {CircleSeq, UniqSeq} from \"core/utils/circleSeq\"\nimport {HouseCarComponent} from \"games/observer/components/houseCarComponent\"\nimport {HouseWindowComponent} from \"games/observer/components/houseWindowComponent\"\nimport {Images} from \"games/observer/images\"\nimport {WindowData} from \"games/observer/logic\"\nimport {Sounds} from \"games/observer/sounds\"\nimport * as _ from \"lodash\"\n\nconst durations = {\n truck: 1500,\n car: 1500,\n carDelay: 5000,\n cloud: 40000,\n cloudDelay: 8000,\n hotel: 5000,\n hotelDelay: 100,\n hotelInterval: 10000,\n dayStage: 20000\n}\n\nconst simpleAnimation = !Sys.isDesktop\n\nconst bg = (simpleAnimation ? [Images.bg(0)] : Images.bgList).reverse().map(x => tuple(x, tuple(0, 0)))\n\nexport class HouseComponent extends GameComponent<WindowData[]> implements OnInit {\n\n windowPositions = Sizes.createArray([\n [790, 388],\n [920, 388],\n [1054, 388],\n [1184, 388],\n [790, 545],\n [920, 545],\n [1054, 545],\n [1184, 545],\n [790, 710],\n [920, 710],\n [1054, 710],\n [1184, 710],\n [790, 866],\n [920, 866],\n [1054, 866],\n [1184, 866]])\n\n positions = Sizes.create({\n truck: [Sizes.widthNormal, 365],\n car1: [Sizes.widthNormal, 1000],\n car2: [Sizes.widthNormal, 1015],\n cloudMin: 20,\n cloudMax: 80,\n light1: tuple(478, 730),\n light2: tuple(1468, 730)\n })\n\n hotelX = Sizes.widthNormal / 2 + 305\n imagePositions: ImagePos[] = Sizes.createImagePos(bg.concat([\n ['cloud_0', [-1000, 72]],\n ['cloud_1', [-1000, 134]],\n ['cloud_2', [-1000, 182]],\n ['cloud_3', [-1000, 261]],\n ['shar', [-1000, 100]],\n ['fon_2', [0, 0]],\n ['hotel_0', [this.hotelX, 477]],\n ['hotel_1', [this.hotelX, 524]],\n ['hotel_2', [this.hotelX, 571]],\n ['hotel_3', [this.hotelX, 618]],\n ['hotel_4', [this.hotelX, 666]]\n ]))\n\n car1: HouseCarComponent\n car2: HouseCarComponent\n windows: HouseWindowComponent[]\n images = this.addImages(this.imagePositions)\n bgList = _.range(3).map(i => this.images.get(Images.bg(i))!)\n hotelList = Images.hotelList.map(x => this.images.get(x)!.updateFields({visible: false}))\n lights = [this.positions.light1, this.positions.light2].map(p => this.addImage([Images.light, p]).updateFields({visible: false}))\n lightsVisibla = false\n\n // truck = this.add(this.createComponentWithProps(HouseCarComponent, 0)).setPos([300,300])\n\n onInit() {\n\n this.windows = this.windowPositions.map(([x, y]) => this.add(this.createComponent(HouseWindowComponent).updatePos(x, y)))\n this.car1 = this.add(this.createComponentWithProps(HouseCarComponent, 1)).setPos(this.positions.car1)\n this.car2 = this.add(this.createComponentWithProps(HouseCarComponent, 2)).setPos(this.positions.car2)\n this.context.uiService.mainComponent.onIntroComplete.addOnce(() => this.startAnimations())\n\n }\n\n rng = new RandomGenerator()\n\n startAnimations() {\n const cloudSeq = new UniqSeq(Images.cloudList.length)\n\n const updateCloud = (c: Img) => {\n c.key = this.gameKey(Images.cloudList[cloudSeq.next()])\n //c.y = this.rng.int(this.positions.cloudMax, this.positions.cloudMin)\n }\n\n Images.cloudList.forEach(x => {\n const c = this.images.get(x)!\n updateCloud(c)\n CommonAnimations.fullScreenWidthInf(c, durations.cloud, durations.cloudDelay).onLoop.add(() => {\n updateCloud(c)\n })\n })\n\n CommonAnimations.fullScreenWidthInf(\n this.images.get(\"shar\")!,\n durations.cloud, durations.cloudDelay)\n\n this.hotelAnimation()\n if (!simpleAnimation) {\n this.bgAnimation()\n }\n const car1Tween = CommonAnimations.fullScreenWidthInf(this.car1, durations.car, durations.carDelay, false, false)\n const car2Tween = CommonAnimations.fullScreenWidthInf(this.car2, durations.car, durations.carDelay, false)\n Tweens.onPercent(car1Tween, 0, () => this.playSound(Sounds.car_01))\n Tweens.onPercent(car2Tween, 0, () => this.playSound(Sounds.car_03))\n\n }\n\n bgAnimation() {\n const [t1, ...rest] = this.bgList.map((bg, i) => {\n return Tweens.start({\n to: {alpha: 0},\n target: bg,\n duration: durations.dayStage,\n notStart: true,\n onComplete: () => {\n if (i == 1) {\n this.changeLight(true)\n }\n }\n })\n })\n t1.chain(...rest)\n t1.start()\n }\n\n changeLight(visible: boolean) {\n this.lightsVisibla = visible\n this.lights.forEach(x => x.visible = visible)\n }\n\n hotelAnimations = [\n [2, 1, 3, 0, 4],\n [0, 1, 2, 3, 4],\n [0, 4, 1, 3, 2],\n [4, 3, 2, 1, 0]\n ]\n\n hotelSeq = new CircleSeq(_.range(this.hotelAnimations.length))\n\n enableHotel(index: number) {\n const hotel = this.hotelList[index]\n hotel.visible = true\n this.delay(durations.hotel).addOnce(() => {\n hotel.visible = false\n })\n }\n\n hotelAnimation(index = this.hotelSeq.next()) {\n this.playSound(Sounds.neon_lamp)\n this.hotelAnimations[index].forEach((x, i) => this.delay(i * durations.hotelDelay).addOnce(() => this.enableHotel(x)))\n this.delay(durations.hotelInterval).addOnce(() => this.hotelAnimation(this.hotelSeq.next()))\n }\n\n updateWindows(props: WindowData[]) {\n Arrays.zipTake(this.windows, props).forEach(([x, y]) => {\n x.setProps(y)\n })\n }\n\n transition() {\n this.disableInput(true)\n this.playSound(Sounds.car_02)\n const truck = this.add(this.createComponentWithProps(HouseCarComponent, 0)).setPos(this.positions.truck)\n this.bringToTop(this.car1)\n this.bringToTop(this.car2)\n\n var updated = false\n var props = {\n target: truck, to: {x: -Sizes.width},\n duration: durations.truck,\n }\n this.delay(durations.truck * 0.45).addOnce(() => {\n this.updateWindows(this.props)\n this.disableInput(false)\n })\n Tweens.start(props).onComplete.addOnce(() => truck.destroy(true))\n }\n\n onPropsUpdate() {\n this.transition()\n }\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/games/observer/components/houseComponent.ts","import {Tweens} from \"core/ui/animations/tweens\"\nimport {Sizes} from \"core/ui/common/sizes\"\nimport {ImagePos} from \"core/ui/common/types\"\nimport {GameComponent} from \"core/ui/components/games/gameComponent\"\nimport {tuple} from \"core/utils\"\nimport {UniqSeq} from \"core/utils/circleSeq\"\nimport {Images} from \"games/observer/images\"\n\nconst durations = {\n wheel: 250\n}\n\ninterface CarProps {\n body: ImagePos\n wheels: ImagePos[]\n left: boolean\n images: ImagePos[]\n}\n\nconst carFonsSeq = new UniqSeq(Images.carFons.length)\n\nexport class HouseCarComponent extends GameComponent<number> {\n\n cars = [\n this.createCar([184, 578, 1140, 1260], 750, 0, true, Images.carFons.map(x => tuple(x, tuple(532, 21)))),\n this.createCar([62, 339], 133, 1),\n this.createCar([105, 360], 180, 2, false)\n ]\n\n createCar(wheelXs: number[], wheelY: number, id: number, left = true, images: ImagePos[] = []): CarProps {\n return {\n body: [Images.carBody(id), [0, 0]],\n wheels: Sizes.createImagePos(wheelXs.map(x => tuple(Images.carWheel(id), tuple(x, wheelY)))),\n left,\n images: Sizes.createImagePos(images)\n }\n }\n\n onPropsUpdate() {\n const car = this.cars[this.props]\n this.addImage(car.body).angle\n const wheels = car.wheels.map(x => this.addImage(x).anchorCenter())\n wheels.forEach(w =>\n Tweens.start({\n to: {angle: (car.left ? -1 : 1) * 360},\n target: w,\n duration: durations.wheel,\n repeat: -1\n })\n )\n if (car.images.length) {\n this.addImage(car.images[carFonsSeq.next()])\n }\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/games/observer/components/houseCarComponent.ts","import {Sizes} from \"core/ui/common/sizes\"\nimport {ImagePos} from \"core/ui/common/types\"\nimport {GameComponent} from \"core/ui/components/games/gameComponent\"\nimport {OnInit} from \"core/ui/components/onInit\"\nimport {Img} from \"core/ui/controls\"\nimport {Maps} from \"core/utils/maps\"\nimport {Images} from \"games/observer/images\"\nimport {WindowData} from \"games/observer/logic\"\nimport * as _ from \"lodash\"\n\nconst itemKey = Images.item({shape: 0, color: 0})\n\nexport class HouseWindowComponent extends GameComponent<WindowData> implements OnInit {\n imgPositions: ImagePos[] = Sizes.createImagePos([\n [Images.win_open, [0, 0]],\n [Images.win_close, [0, 0]],\n [itemKey, [22, 35]]\n ])\n winOpen: Img\n winClose: Img\n item: Img\n winBack: Img\n\n onInit(): void {\n const images = this.addImages(this.imgPositions)\n const get = (key: string) => Maps.getUnsafe(images, key)\n this.winClose = get(Images.win_close)\n this.winOpen = get(Images.win_open)\n this.item = get(itemKey)\n }\n\n onPropsUpdate() {\n var item = this.props.item\n var empty = _.isNil(item)\n this.item.visible = !empty\n this.winClose.visible = empty\n if (item) {\n this.item.key = this.gameKey(Images.item(item))\n }\n }\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/games/observer/components/houseWindowComponent.ts","export module Maps {\n export function getUnsafe<K, V>(map: Map<K, V>, key: K): V {\n const v = map.get(key)\n if (v) {\n return v\n }\n throw new Error(`key ${key} doesn't exists`)\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/core/utils/maps.ts","import {createLevels, NumberInterval, NumberIntervalSyntax} from \"core/types\"\nimport max = NumberIntervalSyntax.max\nimport minMax = NumberIntervalSyntax.minMax\n\nexport interface Level {\n itemCount: number\n shapes: number\n colors: number\n changeCount: NumberInterval\n}\n\nfunction level(itemCount: number, shapes: number, colors: number, changeCount: NumberInterval): Level {\n return {itemCount, shapes, colors, changeCount}\n}\n\nexport const levels = createLevels({\n 1: level(3, 1, 1, max(3)),\n 2: level(4, 1, 1, max(4)),\n 3: level(4, 1, 2, max(4)),\n 4: level(5, 1, 2, max(5)),\n 5: level(5, 2, 2, max(5)),\n 6: level(5, 2, 2, minMax(2, 5)),\n 7: level(6, 2, 2, minMax(2, 5)),\n 8: level(6, 2, 3, minMax(2, 5)),\n 9: level(6, 3, 3, minMax(2, 5)),\n 10: level(7, 3, 3, minMax(3, 6))\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/games/observer/levels.ts","import {GameLogic, ITask} from \"core/logic\"\nimport {Arrays, Dbg, RandomGenerator, tuple} from \"core/utils\"\nimport {Level} from \"games/observer/levels\"\nimport * as _ from \"lodash\"\n\nconst maxWindows = 16\n\nexport interface Item {\n shape: number\n color: number\n}\n\nexport interface WindowData {\n item?: Item\n}\n\nfunction newWindow(shape: number, color: number) {\n return {shape, color}\n}\n\nenum ChangeType {Move, ChangeIndex}\n\ntype ItemPosition = {\n position: number,\n item: Item\n}\n\nexport interface Task extends ITask {\n windows: WindowData[]\n initWindows: WindowData[]\n}\n\nexport class Logic extends GameLogic<Task, Level> {\n random = new RandomGenerator()\n\n allPositions = _.range(maxWindows)\n\n prevTask: Task\n prevLevel: Level\n\n createRandomItem(level: Level) {\n return newWindow(this.random.int(level.shapes), this.random.int(level.colors))\n }\n\n createNewItems(level: Level) {\n return this.random.uniqArray(maxWindows, level.itemCount)\n .map(position => ({position, item: this.createRandomItem(level)}))\n }\n\n getItems(field: WindowData[]) {\n return field.map((x, position) => ({position, item: x.item!})).filter(x => !_.isNil(x.item))\n }\n\n positionsToWindows(itemPositions: ItemPosition[]): WindowData[] {\n\n const map = new Map(itemPositions.map(x => tuple(x.position, x.item)))\n\n return this.allPositions.map(x => ({item: map.get(x)}))\n\n }\n\n changesCount(task1: Task, task2: Task) {\n return Arrays.zip(task1.windows, task2.windows).filter(([x, y]) => {\n const i1 = x.item || {} as Item\n const i2 = y.item || {} as Item\n return y.item && (i1.shape != i2.shape || i1.color != i2.color)\n }).length\n }\n\n nextTask(level: Level) {\n const isFirst = !this.prevTask\n const itemPositions = isFirst ? this.createNewItems(level) : this.getItems(this.prevTask.windows)\n\n const changeCount = isFirst\n ? level.changeCount.min\n : Math.min(this.prevLevel.changeCount.max, this.random.intInterval(level.changeCount))\n\n const [itemsToChange, restItems] = Arrays.split(itemPositions, changeCount)\n\n const changeNewPositions = _.difference(this.random.range(maxWindows), itemPositions.map(x => x.position))\n\n const change = (itemPosition: ItemPosition, index: number) => {\n const changeItem = index >= changeNewPositions.length\n || (level.colors > 1 || level.shapes > 1) && this.random.bool()\n if (changeItem) {\n const changeShape = level.shapes > 1 && this.random.bool()\n const allShapes = _.range(level.shapes)\n const allColors = _.range(level.colors)\n const newItem = changeShape\n ? {\n ...itemPosition.item,\n shape: this.random.sample(allShapes, [itemPosition.item.shape])\n }\n : {\n ...itemPosition.item,\n color: this.random.sample(allColors, [itemPosition.item.color])\n }\n return {...itemPosition, item: newItem}\n } else {\n return {...itemPosition, position: changeNewPositions[index]}\n }\n }\n const changedItems = itemsToChange.map((x, i) => change(x, i))\n const itemsMapData = _.concat(changedItems, restItems).map(x => tuple(x.position, x.item))\n const newItemsMap = new Map(itemsMapData)\n const addNewItemCount = level.itemCount - newItemsMap.size\n\n Dbg.assert(addNewItemCount < 0, \"addNewItemCount < 0\")\n\n if (addNewItemCount > 0) {\n const allUsedPositions = _.concat(itemPositions.map(x => x.position), changedItems.map(x => x.position))\n const addNewItemPositions = this.random.subset(_.difference(this.allPositions, allUsedPositions), addNewItemCount)\n addNewItemPositions.forEach(x => {\n newItemsMap.set(x, this.createRandomItem(level))\n })\n }\n const windows = this.allPositions.map(x => ({item: newItemsMap.get(x)}))\n const initWindows = isFirst ? this.positionsToWindows(itemPositions) : []\n const answers = [changeCount + addNewItemCount]\n // console.log(answers)\n const task = {initWindows, windows, answers}\n this.prevTask = task\n this.prevLevel = level\n return task\n }\n\n}\n\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/games/observer/logic.ts"],"sourceRoot":""}