@nayan-ui/games 1.19.0 → 1.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +53 -191
- package/lib/module/assets/fonts/Inter-SemiBold.ttf +0 -0
- package/lib/module/assets/models/explorer/explorer.glb +0 -0
- package/lib/module/assets/models/explorer/params.json +51 -0
- package/lib/module/assets/models/explorer/source.json +222 -0
- package/lib/module/assets/models/play-with-tua/play-with-tua.glb +0 -0
- package/lib/module/assets/models/play-with-tua/sources.json +141 -0
- package/lib/module/assets/sfx/balloon_pop.wav +0 -0
- package/lib/module/assets/sfx/blocked.wav +0 -0
- package/lib/module/assets/sfx/boing.wav +0 -0
- package/lib/module/assets/sfx/bonus.wav +0 -0
- package/lib/module/assets/sfx/boom.wav +0 -0
- package/lib/module/assets/sfx/bump.wav +0 -0
- package/lib/module/assets/sfx/cannon.wav +0 -0
- package/lib/module/assets/sfx/capture.wav +0 -0
- package/lib/module/assets/sfx/card_flip.wav +0 -0
- package/lib/module/assets/sfx/card_place.wav +0 -0
- package/lib/module/assets/sfx/catch.wav +0 -0
- package/lib/module/assets/sfx/chime.wav +0 -0
- package/lib/module/assets/sfx/chomp.wav +0 -0
- package/lib/module/assets/sfx/chomp_alt.wav +0 -0
- package/lib/module/assets/sfx/clack.wav +0 -0
- package/lib/module/assets/sfx/clang.wav +0 -0
- package/lib/module/assets/sfx/clash.wav +0 -0
- package/lib/module/assets/sfx/click.wav +0 -0
- package/lib/module/assets/sfx/coin.wav +0 -0
- package/lib/module/assets/sfx/combo.wav +0 -0
- package/lib/module/assets/sfx/crash.wav +0 -0
- package/lib/module/assets/sfx/crunch.wav +0 -0
- package/lib/module/assets/sfx/dance.wav +0 -0
- package/lib/module/assets/sfx/deselect.wav +0 -0
- package/lib/module/assets/sfx/dice_roll.wav +0 -0
- package/lib/module/assets/sfx/die.wav +0 -0
- package/lib/module/assets/sfx/draw.wav +0 -0
- package/lib/module/assets/sfx/drop.wav +0 -0
- package/lib/module/assets/sfx/eat.wav +0 -0
- package/lib/module/assets/sfx/engine.wav +0 -0
- package/lib/module/assets/sfx/error.wav +0 -0
- package/lib/module/assets/sfx/flag.wav +0 -0
- package/lib/module/assets/sfx/flap.wav +0 -0
- package/lib/module/assets/sfx/flip_disc.wav +0 -0
- package/lib/module/assets/sfx/footstep_run.wav +0 -0
- package/lib/module/assets/sfx/footstep_walk.wav +0 -0
- package/lib/module/assets/sfx/game_over.wav +0 -0
- package/lib/module/assets/sfx/gate.wav +0 -0
- package/lib/module/assets/sfx/hit.wav +0 -0
- package/lib/module/assets/sfx/hop.wav +0 -0
- package/lib/module/assets/sfx/hurt.wav +0 -0
- package/lib/module/assets/sfx/invalid.wav +0 -0
- package/lib/module/assets/sfx/jump.wav +0 -0
- package/lib/module/assets/sfx/ladder.wav +0 -0
- package/lib/module/assets/sfx/land.wav +0 -0
- package/lib/module/assets/sfx/laugh.wav +0 -0
- package/lib/module/assets/sfx/lose.wav +0 -0
- package/lib/module/assets/sfx/merge.wav +0 -0
- package/lib/module/assets/sfx/miss.wav +0 -0
- package/lib/module/assets/sfx/nitro.wav +0 -0
- package/lib/module/assets/sfx/pew.wav +0 -0
- package/lib/module/assets/sfx/place.wav +0 -0
- package/lib/module/assets/sfx/pling.wav +0 -0
- package/lib/module/assets/sfx/point.wav +0 -0
- package/lib/module/assets/sfx/pop.wav +0 -0
- package/lib/module/assets/sfx/pop_soft.wav +0 -0
- package/lib/module/assets/sfx/power_up.wav +0 -0
- package/lib/module/assets/sfx/reveal.wav +0 -0
- package/lib/module/assets/sfx/robot.wav +0 -0
- package/lib/module/assets/sfx/rotate.wav +0 -0
- package/lib/module/assets/sfx/run_steps.wav +0 -0
- package/lib/module/assets/sfx/select.wav +0 -0
- package/lib/module/assets/sfx/shuffle.wav +0 -0
- package/lib/module/assets/sfx/six.wav +0 -0
- package/lib/module/assets/sfx/slice.wav +0 -0
- package/lib/module/assets/sfx/slide.wav +0 -0
- package/lib/module/assets/sfx/snake.wav +0 -0
- package/lib/module/assets/sfx/snap.wav +0 -0
- package/lib/module/assets/sfx/splash.wav +0 -0
- package/lib/module/assets/sfx/star.wav +0 -0
- package/lib/module/assets/sfx/start.wav +0 -0
- package/lib/module/assets/sfx/swoosh.wav +0 -0
- package/lib/module/assets/sfx/tap.wav +0 -0
- package/lib/module/assets/sfx/thud.wav +0 -0
- package/lib/module/assets/sfx/thunk.wav +0 -0
- package/lib/module/assets/sfx/tick.wav +0 -0
- package/lib/module/assets/sfx/time_up.wav +0 -0
- package/lib/module/assets/sfx/tock.wav +0 -0
- package/lib/module/assets/sfx/walk_steps.wav +0 -0
- package/lib/module/assets/sfx/warning.wav +0 -0
- package/lib/module/assets/sfx/whack.wav +0 -0
- package/lib/module/assets/sfx/whoosh.wav +0 -0
- package/lib/module/assets/sfx/win.wav +0 -0
- package/lib/module/assets/sfx/zap.wav +0 -0
- package/lib/module/assets/textures/ad_bolt.png +0 -0
- package/lib/module/assets/textures/ad_bubbles.png +0 -0
- package/lib/module/assets/textures/ad_chevrons.png +0 -0
- package/lib/module/assets/textures/asphalt.png +0 -0
- package/lib/module/assets/textures/bark.jpg +0 -0
- package/lib/module/assets/textures/explorer-atlas.png +0 -0
- package/lib/module/assets/textures/facade.png +0 -0
- package/lib/module/assets/textures/grass.png +0 -0
- package/lib/module/assets/textures/leaves.png +0 -0
- package/lib/module/assets/textures/limestone.jpg +0 -0
- package/lib/module/assets/textures/meadow.jpg +0 -0
- package/lib/module/assets/textures/nature-sources.json +87 -0
- package/lib/module/assets/textures/pine.png +0 -0
- package/lib/module/assets/textures/river.jpg +0 -0
- package/lib/module/assets/textures/soft_glow.png +0 -0
- package/lib/module/games/arrows/Arrows.js +1 -1
- package/lib/module/games/arrows/ArrowsConstants.js +1 -1
- package/lib/module/games/arrows/ArrowsGame.js +1 -0
- package/lib/module/games/arrows/ArrowsScene.js +1 -0
- package/lib/module/games/balloon-blaster/BalloonBlaster.js +1 -1
- package/lib/module/games/balloon-blaster/BalloonBlasterConstants.js +1 -1
- package/lib/module/games/balloon-blaster/BalloonBlasterGame.js +1 -0
- package/lib/module/games/balloon-blaster/BalloonBlasterPhysics.js +1 -0
- package/lib/module/games/balloon-blaster/BalloonBlasterScene.js +1 -0
- package/lib/module/games/bike-racing/BikeMeshes.js +1 -0
- package/lib/module/games/bike-racing/BikeRacing.js +1 -1
- package/lib/module/games/bike-racing/BikeRacingConstants.js +1 -1
- package/lib/module/games/bike-racing/BikeRacingGame.js +1 -0
- package/lib/module/games/bike-racing/BikeRacingScene.js +1 -0
- package/lib/module/games/block-blast/BlockBlast.js +1 -1
- package/lib/module/games/block-blast/BlockBlastConstants.js +1 -1
- package/lib/module/games/block-blast/BlockBlastGame.js +1 -0
- package/lib/module/games/block-blast/BlockBlastScene.js +1 -0
- package/lib/module/games/block-breaker/BlockBreaker.js +1 -1
- package/lib/module/games/block-breaker/BlockBreakerConstants.js +1 -1
- package/lib/module/games/block-breaker/BlockBreakerGame.js +1 -0
- package/lib/module/games/block-breaker/BlockBreakerScene.js +1 -0
- package/lib/module/games/bluk/Bluk.js +1 -1
- package/lib/module/games/bluk/BlukConstants.js +1 -1
- package/lib/module/games/bluk/BlukGame.js +1 -0
- package/lib/module/games/bluk/BlukRules.js +1 -0
- package/lib/module/games/bluk/BlukScene.js +1 -0
- package/lib/module/games/bubble-shooter/BubbleShooter.js +1 -1
- package/lib/module/games/bubble-shooter/BubbleShooterConstants.js +1 -1
- package/lib/module/games/bubble-shooter/BubbleShooterGame.js +1 -0
- package/lib/module/games/bubble-shooter/BubbleShooterScene.js +1 -0
- package/lib/module/games/candy-crush/CandyCrush.js +1 -1
- package/lib/module/games/candy-crush/CandyCrushConstants.js +1 -1
- package/lib/module/games/candy-crush/CandyCrushGame.js +1 -0
- package/lib/module/games/candy-crush/CandyCrushScene.js +1 -0
- package/lib/module/games/car-racing/CarMeshes.js +1 -0
- package/lib/module/games/car-racing/CarRacing.js +1 -1
- package/lib/module/games/car-racing/CarRacingConstants.js +1 -1
- package/lib/module/games/car-racing/CarRacingFacade.js +1 -0
- package/lib/module/games/car-racing/CarRacingGame.js +1 -0
- package/lib/module/games/car-racing/CarRacingScene.js +1 -0
- package/lib/module/games/car-racing/CarRacingScenery.js +1 -0
- package/lib/module/games/chameleon-run/ChameleonRun.js +1 -1
- package/lib/module/games/chameleon-run/ChameleonRunBackdrop.js +1 -0
- package/lib/module/games/chameleon-run/ChameleonRunConstants.js +1 -1
- package/lib/module/games/chameleon-run/ChameleonRunGame.js +1 -0
- package/lib/module/games/chameleon-run/ChameleonRunMeshes.js +1 -0
- package/lib/module/games/chameleon-run/ChameleonRunRules.js +1 -0
- package/lib/module/games/chameleon-run/ChameleonRunScene.js +1 -0
- package/lib/module/games/checkers/Checkers.js +1 -1
- package/lib/module/games/checkers/CheckersAI.js +1 -0
- package/lib/module/games/checkers/CheckersConstants.js +1 -1
- package/lib/module/games/checkers/CheckersGame.js +1 -0
- package/lib/module/games/checkers/CheckersRules.js +1 -0
- package/lib/module/games/checkers/CheckersScene.js +1 -0
- package/lib/module/games/color-switch/ColorSwitch.js +1 -1
- package/lib/module/games/color-switch/ColorSwitchConstants.js +1 -1
- package/lib/module/games/color-switch/ColorSwitchGame.js +1 -0
- package/lib/module/games/color-switch/ColorSwitchScene.js +1 -0
- package/lib/module/games/colors-sort/ColorsSort.js +1 -1
- package/lib/module/games/colors-sort/ColorsSortConstants.js +1 -1
- package/lib/module/games/colors-sort/ColorsSortGame.js +1 -0
- package/lib/module/games/colors-sort/ColorsSortScene.js +1 -0
- package/lib/module/games/connect-em-all/ConnectEmAll.js +1 -1
- package/lib/module/games/connect-em-all/ConnectEmAllConstants.js +1 -1
- package/lib/module/games/connect-em-all/ConnectEmAllGame.js +1 -0
- package/lib/module/games/connect-em-all/ConnectEmAllScene.js +1 -0
- package/lib/module/games/crossy-road/CrossyRoad.js +1 -1
- package/lib/module/games/crossy-road/CrossyRoadCamera.js +1 -0
- package/lib/module/games/crossy-road/CrossyRoadConstants.js +1 -1
- package/lib/module/games/crossy-road/CrossyRoadGame.js +1 -0
- package/lib/module/games/crossy-road/CrossyRoadMeshes.js +1 -0
- package/lib/module/games/crossy-road/CrossyRoadPerson.js +1 -0
- package/lib/module/games/crossy-road/CrossyRoadRules.js +1 -0
- package/lib/module/games/crossy-road/CrossyRoadScene.js +1 -0
- package/lib/module/games/dino-jump/DinoJump.js +1 -1
- package/lib/module/games/dino-jump/DinoJumpConstants.js +1 -1
- package/lib/module/games/dino-jump/DinoJumpGame.js +1 -0
- package/lib/module/games/dino-jump/DinoJumpScene.js +1 -0
- package/lib/module/games/dots-and-boxes/DotsAndBoxes.js +1 -1
- package/lib/module/games/dots-and-boxes/DotsAndBoxesConstants.js +1 -1
- package/lib/module/games/dots-and-boxes/DotsAndBoxesGame.js +1 -0
- package/lib/module/games/dots-and-boxes/DotsAndBoxesScene.js +1 -0
- package/lib/module/games/falling-sticks/FallingSticks.js +1 -1
- package/lib/module/games/falling-sticks/FallingSticksConstants.js +1 -1
- package/lib/module/games/falling-sticks/FallingSticksGame.js +1 -0
- package/lib/module/games/falling-sticks/FallingSticksRules.js +1 -0
- package/lib/module/games/falling-sticks/FallingSticksScene.js +1 -0
- package/lib/module/games/find-different-number/FindDifferentNumber.js +1 -1
- package/lib/module/games/find-different-number/FindDifferentNumberConstants.js +1 -1
- package/lib/module/games/find-different-number/FindDifferentNumberGame.js +1 -0
- package/lib/module/games/find-different-number/FindDifferentNumberRules.js +1 -0
- package/lib/module/games/find-different-number/FindDifferentNumberScene.js +1 -0
- package/lib/module/games/flappy-bird/FlappyBird.js +1 -1
- package/lib/module/games/flappy-bird/FlappyBirdConstants.js +1 -1
- package/lib/module/games/flappy-bird/FlappyBirdGame.js +1 -0
- package/lib/module/games/flappy-bird/FlappyBirdScene.js +1 -0
- package/lib/module/games/fruit-merger/FruitMerger.js +1 -1
- package/lib/module/games/fruit-merger/FruitMergerConstants.js +1 -1
- package/lib/module/games/fruit-merger/FruitMergerGame.js +1 -0
- package/lib/module/games/fruit-merger/FruitMergerRules.js +1 -0
- package/lib/module/games/fruit-merger/FruitMergerScene.js +1 -0
- package/lib/module/games/fruit-ninja/FruitNinja.js +1 -1
- package/lib/module/games/fruit-ninja/FruitNinjaConstants.js +1 -1
- package/lib/module/games/fruit-ninja/FruitNinjaGame.js +1 -0
- package/lib/module/games/fruit-ninja/FruitNinjaScene.js +1 -0
- package/lib/module/games/fruit-ninja/FruitNinjaWorld.js +1 -0
- package/lib/module/games/game-2048/Game2048.js +1 -1
- package/lib/module/games/game-2048/Game2048Constants.js +1 -1
- package/lib/module/games/game-2048/Game2048Game.js +1 -0
- package/lib/module/games/game-2048/Game2048Rules.js +1 -0
- package/lib/module/games/game-2048/Game2048Scene.js +1 -0
- package/lib/module/games/knife-hit/KnifeHit.js +1 -1
- package/lib/module/games/knife-hit/KnifeHitConstants.js +1 -1
- package/lib/module/games/knife-hit/KnifeHitGame.js +1 -0
- package/lib/module/games/knife-hit/KnifeHitScene.js +1 -0
- package/lib/module/games/ludo-king/LudoKing.js +1 -1
- package/lib/module/games/ludo-king/LudoKingConstants.js +1 -1
- package/lib/module/games/ludo-king/LudoKingGame.js +1 -0
- package/lib/module/games/ludo-king/LudoKingRules.js +1 -0
- package/lib/module/games/ludo-king/LudoKingScene.js +1 -0
- package/lib/module/games/maze-runner/MazeRunner.js +1 -1
- package/lib/module/games/maze-runner/MazeRunnerConstants.js +1 -1
- package/lib/module/games/maze-runner/MazeRunnerGame.js +1 -0
- package/lib/module/games/maze-runner/MazeRunnerRules.js +1 -0
- package/lib/module/games/maze-runner/MazeRunnerScene.js +1 -0
- package/lib/module/games/memory-match/MemoryMatch.js +1 -1
- package/lib/module/games/memory-match/MemoryMatchConstants.js +1 -1
- package/lib/module/games/memory-match/MemoryMatchGame.js +1 -0
- package/lib/module/games/memory-match/MemoryMatchRules.js +1 -0
- package/lib/module/games/memory-match/MemoryMatchScene.js +1 -0
- package/lib/module/games/mine-sweeper/MineSweeper.js +1 -1
- package/lib/module/games/mine-sweeper/MineSweeperConstants.js +1 -1
- package/lib/module/games/mine-sweeper/MineSweeperGame.js +1 -0
- package/lib/module/games/mine-sweeper/MineSweeperRules.js +1 -0
- package/lib/module/games/mine-sweeper/MineSweeperScene.js +1 -0
- package/lib/module/games/mob-control/MobControl.js +1 -1
- package/lib/module/games/mob-control/MobControlConstants.js +1 -1
- package/lib/module/games/mob-control/MobControlGame.js +1 -0
- package/lib/module/games/mob-control/MobControlMeshes.js +1 -0
- package/lib/module/games/mob-control/MobControlRenderer.js +1 -0
- package/lib/module/games/mob-control/MobControlRules.js +1 -0
- package/lib/module/games/mob-control/MobControlScene.js +1 -0
- package/lib/module/games/number-search/NumberSearch.js +1 -1
- package/lib/module/games/number-search/NumberSearchNumbers.js +1 -0
- package/lib/module/games/nuts-and-bolts/NutsAndBolts.js +1 -1
- package/lib/module/games/nuts-and-bolts/NutsAndBoltsConstants.js +1 -1
- package/lib/module/games/nuts-and-bolts/NutsAndBoltsGame.js +1 -0
- package/lib/module/games/nuts-and-bolts/NutsAndBoltsRules.js +1 -0
- package/lib/module/games/nuts-and-bolts/NutsAndBoltsScene.js +1 -0
- package/lib/module/games/pac-man/PacMan.js +1 -1
- package/lib/module/games/pac-man/PacManConstants.js +1 -1
- package/lib/module/games/pac-man/PacManGame.js +1 -0
- package/lib/module/games/pac-man/PacManRules.js +1 -0
- package/lib/module/games/pac-man/PacManScene.js +1 -0
- package/lib/module/games/paper-io/PaperIo.js +1 -1
- package/lib/module/games/paper-io/PaperIoConstants.js +1 -1
- package/lib/module/games/paper-io/PaperIoGame.js +1 -0
- package/lib/module/games/paper-io/PaperIoMeshes.js +1 -0
- package/lib/module/games/paper-io/PaperIoRules.js +1 -0
- package/lib/module/games/paper-io/PaperIoScene.js +1 -0
- package/lib/module/games/penguin-run/PenguinMeshes.js +1 -0
- package/lib/module/games/penguin-run/PenguinModel.js +1 -0
- package/lib/module/games/penguin-run/PenguinRun.js +1 -0
- package/lib/module/games/penguin-run/PenguinRunConstants.js +1 -0
- package/lib/module/games/penguin-run/PenguinRunGame.js +1 -0
- package/lib/module/games/penguin-run/PenguinRunScene.js +1 -0
- package/lib/module/games/perfect-circle/PerfectCircle.js +1 -1
- package/lib/module/games/perfect-circle/PerfectCircleConstants.js +1 -1
- package/lib/module/games/perfect-circle/PerfectCircleGame.js +1 -0
- package/lib/module/games/perfect-circle/PerfectCircleRules.js +1 -0
- package/lib/module/games/perfect-circle/PerfectCircleScene.js +1 -0
- package/lib/module/games/pipe-connect/PipeConnect.js +1 -1
- package/lib/module/games/pipe-connect/PipeConnectConstants.js +1 -1
- package/lib/module/games/pipe-connect/PipeConnectGame.js +1 -0
- package/lib/module/games/pipe-connect/PipeConnectRules.js +1 -0
- package/lib/module/games/pipe-connect/PipeConnectScene.js +1 -0
- package/lib/module/games/play-with-tua/PlayWithTua.js +1 -0
- package/lib/module/games/play-with-tua/PlayWithTuaConstants.js +1 -0
- package/lib/module/games/play-with-tua/PlayWithTuaGame.js +1 -0
- package/lib/module/games/play-with-tua/PlayWithTuaModel.js +1 -0
- package/lib/module/games/play-with-tua/PlayWithTuaScene.js +1 -0
- package/lib/module/games/popit-fidget/PopitFidget.js +1 -1
- package/lib/module/games/popit-fidget/PopitFidgetConstants.js +1 -1
- package/lib/module/games/popit-fidget/PopitFidgetGame.js +1 -0
- package/lib/module/games/popit-fidget/PopitFidgetScene.js +1 -0
- package/lib/module/games/reversi/Reversi.js +1 -1
- package/lib/module/games/reversi/ReversiConstants.js +1 -1
- package/lib/module/games/reversi/ReversiGame.js +1 -0
- package/lib/module/games/reversi/ReversiRules.js +1 -0
- package/lib/module/games/reversi/ReversiScene.js +1 -0
- package/lib/module/games/search-grid/SearchGrid.js +1 -0
- package/lib/module/games/search-grid/SearchGridConstants.js +1 -0
- package/lib/module/games/search-grid/SearchGridGame.js +1 -0
- package/lib/module/games/search-grid/SearchGridScene.js +1 -0
- package/lib/module/games/shared/BackdropCard.js +1 -0
- package/lib/module/games/shared/EngineBackdrop.js +1 -0
- package/lib/module/games/shared/EngineBlasts.js +1 -0
- package/lib/module/games/shared/EngineBlocks.js +1 -0
- package/lib/module/games/shared/EngineControlText.js +1 -0
- package/lib/module/games/shared/EngineDice.js +1 -0
- package/lib/module/games/shared/EngineFootprint.js +1 -0
- package/lib/module/games/shared/EngineFruits.js +1 -0
- package/lib/module/games/shared/EngineGameLoader.js +1 -0
- package/lib/module/games/shared/EngineGameScreen.js +1 -0
- package/lib/module/games/shared/EngineGameWidth.js +1 -0
- package/lib/module/games/shared/EngineGameWidth.web.js +1 -0
- package/lib/module/games/shared/EngineGlyphs.js +1 -0
- package/lib/module/games/shared/EngineHud.js +1 -0
- package/lib/module/games/shared/EngineLoading.js +1 -0
- package/lib/module/games/shared/EngineMeadow.js +1 -0
- package/lib/module/games/shared/EngineMeshCache.js +1 -0
- package/lib/module/games/shared/EngineMeshes.js +1 -0
- package/lib/module/games/shared/EngineRacingChase.js +1 -0
- package/lib/module/games/shared/EngineRacingHandling.js +1 -0
- package/lib/module/games/shared/EngineReadyContext.js +1 -0
- package/lib/module/games/shared/EngineTilt.js +1 -0
- package/lib/module/games/shared/EngineTouchSurface.js +1 -0
- package/lib/module/games/shared/EngineUtils.js +1 -0
- package/lib/module/games/shared/GameActivity.js +1 -0
- package/lib/module/games/shared/GameLoading.js +1 -0
- package/lib/module/games/shared/GameLoadingTransition.js +1 -0
- package/lib/module/games/shared/ProceduralCacheVersion.js +1 -0
- package/lib/module/games/shared/useEngineGame.js +1 -0
- package/lib/module/games/shared/useGameResource.js +1 -0
- package/lib/module/games/shared/useLiveState.js +1 -0
- package/lib/module/games/sliding-numbers/SlidingNumbers.js +1 -1
- package/lib/module/games/sliding-numbers/SlidingNumbersConstants.js +1 -1
- package/lib/module/games/sliding-numbers/SlidingNumbersGame.js +1 -0
- package/lib/module/games/sliding-numbers/SlidingNumbersRules.js +1 -0
- package/lib/module/games/sliding-numbers/SlidingNumbersScene.js +1 -0
- package/lib/module/games/snake-3d/Snake3D.js +1 -1
- package/lib/module/games/snake-3d/Snake3DConstants.js +1 -1
- package/lib/module/games/snake-3d/Snake3DGame.js +1 -0
- package/lib/module/games/snake-3d/Snake3DMotion.js +1 -0
- package/lib/module/games/snake-3d/Snake3DRules.js +1 -0
- package/lib/module/games/snake-3d/Snake3DScene.js +1 -0
- package/lib/module/games/snakes-and-ladders/SnakesAndLadders.js +1 -1
- package/lib/module/games/snakes-and-ladders/SnakesAndLaddersConstants.js +1 -1
- package/lib/module/games/snakes-and-ladders/SnakesAndLaddersGame.js +1 -0
- package/lib/module/games/snakes-and-ladders/SnakesAndLaddersScene.js +1 -0
- package/lib/module/games/space-fighter/SpaceFighter.js +1 -1
- package/lib/module/games/space-fighter/SpaceFighterConstants.js +1 -1
- package/lib/module/games/space-fighter/SpaceFighterGame.js +1 -0
- package/lib/module/games/space-fighter/SpaceFighterScene.js +1 -0
- package/lib/module/games/spider-solitaire/SpiderSolitaire.js +1 -1
- package/lib/module/games/spider-solitaire/SpiderSolitaireConstants.js +1 -1
- package/lib/module/games/spider-solitaire/SpiderSolitaireGame.js +1 -0
- package/lib/module/games/spider-solitaire/SpiderSolitaireRules.js +1 -0
- package/lib/module/games/spider-solitaire/SpiderSolitaireScene.js +1 -0
- package/lib/module/games/stack-tower/StackTower.js +1 -1
- package/lib/module/games/stack-tower/StackTowerConstants.js +1 -1
- package/lib/module/games/stack-tower/StackTowerGame.js +1 -0
- package/lib/module/games/stack-tower/StackTowerScene.js +1 -0
- package/lib/module/games/sudoku/Sudoku.js +1 -1
- package/lib/module/games/sudoku/SudokuConstants.js +1 -1
- package/lib/module/games/sudoku/SudokuGame.js +1 -0
- package/lib/module/games/sudoku/SudokuRules.js +1 -0
- package/lib/module/games/sudoku/SudokuScene.js +1 -0
- package/lib/module/games/tangram/Tangram.js +1 -1
- package/lib/module/games/tangram/TangramConstants.js +1 -1
- package/lib/module/games/tangram/TangramGame.js +1 -0
- package/lib/module/games/tangram/TangramRules.js +1 -0
- package/lib/module/games/tangram/TangramScene.js +1 -0
- package/lib/module/games/tank-1990/Tank1990.js +1 -1
- package/lib/module/games/tank-1990/Tank1990Constants.js +1 -1
- package/lib/module/games/tank-1990/Tank1990Game.js +1 -0
- package/lib/module/games/tank-1990/Tank1990Rules.js +1 -0
- package/lib/module/games/tank-1990/Tank1990Scene.js +1 -0
- package/lib/module/games/tic-tac-toe/TicTacToe.js +1 -1
- package/lib/module/games/tic-tac-toe/TicTacToeConstants.js +1 -1
- package/lib/module/games/tic-tac-toe/TicTacToeGame.js +1 -0
- package/lib/module/games/tic-tac-toe/TicTacToeRules.js +1 -0
- package/lib/module/games/tic-tac-toe/TicTacToeScene.js +1 -0
- package/lib/module/games/tile-home/TileHome.js +1 -1
- package/lib/module/games/tile-home/TileHomeConstants.js +1 -1
- package/lib/module/games/tile-home/TileHomeGame.js +1 -0
- package/lib/module/games/tile-home/TileHomeScene.js +1 -0
- package/lib/module/games/treasure-hunt/TreasureHunt.js +1 -0
- package/lib/module/games/treasure-hunt/TreasureHuntConstants.js +1 -0
- package/lib/module/games/treasure-hunt/TreasureHuntControls.js +1 -0
- package/lib/module/games/treasure-hunt/TreasureHuntGame.js +1 -0
- package/lib/module/games/treasure-hunt/TreasureHuntMeshes.js +1 -0
- package/lib/module/games/treasure-hunt/TreasureHuntModel.js +1 -0
- package/lib/module/games/treasure-hunt/TreasureHuntRules.js +1 -0
- package/lib/module/games/treasure-hunt/TreasureHuntScene.js +1 -0
- package/lib/module/games/whack-a-mole/WhackAMole.js +1 -1
- package/lib/module/games/whack-a-mole/WhackAMoleConstants.js +1 -1
- package/lib/module/games/whack-a-mole/WhackAMoleGame.js +1 -0
- package/lib/module/games/whack-a-mole/WhackAMoleScene.js +1 -0
- package/lib/module/games/word-search/WordSearch.js +1 -1
- package/lib/module/games/word-search/WordSearchWords.js +1 -0
- package/lib/module/helpers/GamePatternData.js +1 -0
- package/lib/module/helpers/GameSettingsModal.js +1 -1
- package/lib/module/helpers/GameTheme.js +1 -0
- package/lib/module/helpers/IconPaths.js +1 -0
- package/lib/module/helpers/index.js +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/services/GameAssetLoader.js +1 -0
- package/lib/module/services/GameAssets.js +1 -0
- package/lib/module/services/GameLoaders.js +1 -0
- package/lib/module/services/GamesConstants.js +1 -1
- package/lib/module/services/GamesMetadata.js +1 -1
- package/lib/module/services/GamesService.js +1 -1
- package/lib/module/services/HapticsService.js +1 -1
- package/lib/module/services/ScoringService.js +1 -1
- package/lib/module/services/SfxSources.js +1 -0
- package/lib/module/services/SoundsService.js +1 -1
- package/lib/module/services/ThemeService.js +1 -0
- package/lib/module/services/UtilsService.js +1 -1
- package/lib/module/services/index.js +1 -1
- package/lib/typescript/src/games/arrows/Arrows.d.ts +1 -3
- package/lib/typescript/src/games/arrows/ArrowsConstants.d.ts +48 -32
- package/lib/typescript/src/games/arrows/ArrowsGame.d.ts +60 -0
- package/lib/typescript/src/games/arrows/ArrowsScene.d.ts +67 -0
- package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts +1 -3
- package/lib/typescript/src/games/balloon-blaster/BalloonBlasterConstants.d.ts +39 -131
- package/lib/typescript/src/games/balloon-blaster/BalloonBlasterGame.d.ts +57 -0
- package/lib/typescript/src/games/balloon-blaster/BalloonBlasterPhysics.d.ts +16 -0
- package/lib/typescript/src/games/balloon-blaster/BalloonBlasterScene.d.ts +31 -0
- package/lib/typescript/src/games/bike-racing/BikeMeshes.d.ts +14 -0
- package/lib/typescript/src/games/bike-racing/BikeRacing.d.ts +2 -1
- package/lib/typescript/src/games/bike-racing/BikeRacingConstants.d.ts +38 -29
- package/lib/typescript/src/games/bike-racing/BikeRacingGame.d.ts +104 -0
- package/lib/typescript/src/games/bike-racing/BikeRacingScene.d.ts +25 -0
- package/lib/typescript/src/games/block-blast/BlockBlast.d.ts +1 -3
- package/lib/typescript/src/games/block-blast/BlockBlastConstants.d.ts +48 -30
- package/lib/typescript/src/games/block-blast/BlockBlastGame.d.ts +77 -0
- package/lib/typescript/src/games/block-blast/BlockBlastScene.d.ts +36 -0
- package/lib/typescript/src/games/block-breaker/BlockBreaker.d.ts +1 -3
- package/lib/typescript/src/games/block-breaker/BlockBreakerConstants.d.ts +88 -35
- package/lib/typescript/src/games/block-breaker/BlockBreakerGame.d.ts +82 -0
- package/lib/typescript/src/games/block-breaker/BlockBreakerScene.d.ts +48 -0
- package/lib/typescript/src/games/bluk/Bluk.d.ts +1 -3
- package/lib/typescript/src/games/bluk/BlukConstants.d.ts +65 -54
- package/lib/typescript/src/games/bluk/BlukGame.d.ts +65 -0
- package/lib/typescript/src/games/bluk/BlukRules.d.ts +51 -0
- package/lib/typescript/src/games/bluk/BlukScene.d.ts +54 -0
- package/lib/typescript/src/games/bubble-shooter/BubbleShooter.d.ts +1 -3
- package/lib/typescript/src/games/bubble-shooter/BubbleShooterConstants.d.ts +56 -24
- package/lib/typescript/src/games/bubble-shooter/BubbleShooterGame.d.ts +70 -0
- package/lib/typescript/src/games/bubble-shooter/BubbleShooterScene.d.ts +26 -0
- package/lib/typescript/src/games/candy-crush/CandyCrush.d.ts +1 -3
- package/lib/typescript/src/games/candy-crush/CandyCrushConstants.d.ts +63 -32
- package/lib/typescript/src/games/candy-crush/CandyCrushGame.d.ts +65 -0
- package/lib/typescript/src/games/candy-crush/CandyCrushScene.d.ts +28 -0
- package/lib/typescript/src/games/car-racing/CarMeshes.d.ts +44 -0
- package/lib/typescript/src/games/car-racing/CarRacing.d.ts +2 -1
- package/lib/typescript/src/games/car-racing/CarRacingConstants.d.ts +60 -29
- package/lib/typescript/src/games/car-racing/CarRacingFacade.d.ts +5 -0
- package/lib/typescript/src/games/car-racing/CarRacingGame.d.ts +96 -0
- package/lib/typescript/src/games/car-racing/CarRacingScene.d.ts +97 -0
- package/lib/typescript/src/games/car-racing/CarRacingScenery.d.ts +22 -0
- package/lib/typescript/src/games/chameleon-run/ChameleonRun.d.ts +1 -3
- package/lib/typescript/src/games/chameleon-run/ChameleonRunBackdrop.d.ts +14 -0
- package/lib/typescript/src/games/chameleon-run/ChameleonRunConstants.d.ts +44 -42
- package/lib/typescript/src/games/chameleon-run/ChameleonRunGame.d.ts +60 -0
- package/lib/typescript/src/games/chameleon-run/ChameleonRunMeshes.d.ts +20 -0
- package/lib/typescript/src/games/chameleon-run/ChameleonRunRules.d.ts +52 -0
- package/lib/typescript/src/games/chameleon-run/ChameleonRunScene.d.ts +44 -0
- package/lib/typescript/src/games/checkers/Checkers.d.ts +1 -3
- package/lib/typescript/src/games/checkers/CheckersAI.d.ts +11 -0
- package/lib/typescript/src/games/checkers/CheckersConstants.d.ts +32 -72
- package/lib/typescript/src/games/checkers/CheckersGame.d.ts +56 -0
- package/lib/typescript/src/games/checkers/CheckersRules.d.ts +48 -0
- package/lib/typescript/src/games/checkers/CheckersScene.d.ts +41 -0
- package/lib/typescript/src/games/color-switch/ColorSwitch.d.ts +1 -3
- package/lib/typescript/src/games/color-switch/ColorSwitchConstants.d.ts +27 -31
- package/lib/typescript/src/games/color-switch/ColorSwitchGame.d.ts +61 -0
- package/lib/typescript/src/games/color-switch/ColorSwitchScene.d.ts +43 -0
- package/lib/typescript/src/games/colors-sort/ColorsSort.d.ts +1 -3
- package/lib/typescript/src/games/colors-sort/ColorsSortConstants.d.ts +37 -44
- package/lib/typescript/src/games/colors-sort/ColorsSortGame.d.ts +41 -0
- package/lib/typescript/src/games/colors-sort/ColorsSortScene.d.ts +33 -0
- package/lib/typescript/src/games/connect-em-all/ConnectEmAll.d.ts +1 -3
- package/lib/typescript/src/games/connect-em-all/ConnectEmAllConstants.d.ts +43 -17
- package/lib/typescript/src/games/connect-em-all/ConnectEmAllGame.d.ts +54 -0
- package/lib/typescript/src/games/connect-em-all/ConnectEmAllScene.d.ts +49 -0
- package/lib/typescript/src/games/crossy-road/CrossyRoad.d.ts +1 -3
- package/lib/typescript/src/games/crossy-road/CrossyRoadCamera.d.ts +14 -0
- package/lib/typescript/src/games/crossy-road/CrossyRoadConstants.d.ts +82 -50
- package/lib/typescript/src/games/crossy-road/CrossyRoadGame.d.ts +64 -0
- package/lib/typescript/src/games/crossy-road/CrossyRoadMeshes.d.ts +16 -0
- package/lib/typescript/src/games/crossy-road/CrossyRoadPerson.d.ts +10 -0
- package/lib/typescript/src/games/crossy-road/CrossyRoadRules.d.ts +36 -0
- package/lib/typescript/src/games/crossy-road/CrossyRoadScene.d.ts +38 -0
- package/lib/typescript/src/games/dino-jump/DinoJump.d.ts +1 -3
- package/lib/typescript/src/games/dino-jump/DinoJumpConstants.d.ts +48 -72
- package/lib/typescript/src/games/dino-jump/DinoJumpGame.d.ts +60 -0
- package/lib/typescript/src/games/dino-jump/DinoJumpScene.d.ts +35 -0
- package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxes.d.ts +1 -3
- package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxesConstants.d.ts +31 -36
- package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxesGame.d.ts +44 -0
- package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxesScene.d.ts +31 -0
- package/lib/typescript/src/games/falling-sticks/FallingSticks.d.ts +1 -3
- package/lib/typescript/src/games/falling-sticks/FallingSticksConstants.d.ts +31 -43
- package/lib/typescript/src/games/falling-sticks/FallingSticksGame.d.ts +42 -0
- package/lib/typescript/src/games/falling-sticks/FallingSticksRules.d.ts +36 -0
- package/lib/typescript/src/games/falling-sticks/FallingSticksScene.d.ts +26 -0
- package/lib/typescript/src/games/find-different-number/FindDifferentNumber.d.ts +1 -3
- package/lib/typescript/src/games/find-different-number/FindDifferentNumberConstants.d.ts +33 -29
- package/lib/typescript/src/games/find-different-number/FindDifferentNumberGame.d.ts +43 -0
- package/lib/typescript/src/games/find-different-number/FindDifferentNumberRules.d.ts +8 -0
- package/lib/typescript/src/games/find-different-number/FindDifferentNumberScene.d.ts +31 -0
- package/lib/typescript/src/games/flappy-bird/FlappyBird.d.ts +1 -3
- package/lib/typescript/src/games/flappy-bird/FlappyBirdConstants.d.ts +39 -35
- package/lib/typescript/src/games/flappy-bird/FlappyBirdGame.d.ts +66 -0
- package/lib/typescript/src/games/flappy-bird/FlappyBirdScene.d.ts +41 -0
- package/lib/typescript/src/games/fruit-merger/FruitMerger.d.ts +1 -3
- package/lib/typescript/src/games/fruit-merger/FruitMergerConstants.d.ts +71 -44
- package/lib/typescript/src/games/fruit-merger/FruitMergerGame.d.ts +63 -0
- package/lib/typescript/src/games/fruit-merger/FruitMergerRules.d.ts +39 -0
- package/lib/typescript/src/games/fruit-merger/FruitMergerScene.d.ts +49 -0
- package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts +1 -3
- package/lib/typescript/src/games/fruit-ninja/FruitNinjaConstants.d.ts +51 -76
- package/lib/typescript/src/games/fruit-ninja/FruitNinjaGame.d.ts +76 -0
- package/lib/typescript/src/games/fruit-ninja/FruitNinjaScene.d.ts +52 -0
- package/lib/typescript/src/games/fruit-ninja/FruitNinjaWorld.d.ts +8 -0
- package/lib/typescript/src/games/game-2048/Game2048.d.ts +1 -3
- package/lib/typescript/src/games/game-2048/Game2048Constants.d.ts +25 -120
- package/lib/typescript/src/games/game-2048/Game2048Game.d.ts +45 -0
- package/lib/typescript/src/games/game-2048/Game2048Rules.d.ts +32 -0
- package/lib/typescript/src/games/game-2048/Game2048Scene.d.ts +34 -0
- package/lib/typescript/src/games/knife-hit/KnifeHit.d.ts +1 -3
- package/lib/typescript/src/games/knife-hit/KnifeHitConstants.d.ts +41 -49
- package/lib/typescript/src/games/knife-hit/KnifeHitGame.d.ts +49 -0
- package/lib/typescript/src/games/knife-hit/KnifeHitScene.d.ts +37 -0
- package/lib/typescript/src/games/ludo-king/LudoKing.d.ts +1 -3
- package/lib/typescript/src/games/ludo-king/LudoKingConstants.d.ts +50 -28
- package/lib/typescript/src/games/ludo-king/LudoKingGame.d.ts +40 -0
- package/lib/typescript/src/games/ludo-king/LudoKingRules.d.ts +42 -0
- package/lib/typescript/src/games/ludo-king/LudoKingScene.d.ts +53 -0
- package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts +1 -3
- package/lib/typescript/src/games/maze-runner/MazeRunnerConstants.d.ts +34 -10
- package/lib/typescript/src/games/maze-runner/MazeRunnerGame.d.ts +44 -0
- package/lib/typescript/src/games/maze-runner/MazeRunnerRules.d.ts +34 -0
- package/lib/typescript/src/games/maze-runner/MazeRunnerScene.d.ts +29 -0
- package/lib/typescript/src/games/memory-match/MemoryMatch.d.ts +1 -3
- package/lib/typescript/src/games/memory-match/MemoryMatchConstants.d.ts +42 -42
- package/lib/typescript/src/games/memory-match/MemoryMatchGame.d.ts +53 -0
- package/lib/typescript/src/games/memory-match/MemoryMatchRules.d.ts +14 -0
- package/lib/typescript/src/games/memory-match/MemoryMatchScene.d.ts +35 -0
- package/lib/typescript/src/games/mine-sweeper/MineSweeper.d.ts +1 -3
- package/lib/typescript/src/games/mine-sweeper/MineSweeperConstants.d.ts +43 -82
- package/lib/typescript/src/games/mine-sweeper/MineSweeperGame.d.ts +59 -0
- package/lib/typescript/src/games/mine-sweeper/MineSweeperRules.d.ts +18 -0
- package/lib/typescript/src/games/mine-sweeper/MineSweeperScene.d.ts +23 -0
- package/lib/typescript/src/games/mob-control/MobControl.d.ts +1 -3
- package/lib/typescript/src/games/mob-control/MobControlConstants.d.ts +99 -85
- package/lib/typescript/src/games/mob-control/MobControlGame.d.ts +45 -0
- package/lib/typescript/src/games/mob-control/MobControlMeshes.d.ts +2 -0
- package/lib/typescript/src/games/mob-control/MobControlRenderer.d.ts +20 -0
- package/lib/typescript/src/games/mob-control/MobControlRules.d.ts +68 -0
- package/lib/typescript/src/games/mob-control/MobControlScene.d.ts +58 -0
- package/lib/typescript/src/games/number-search/NumberSearch.d.ts +1 -3
- package/lib/typescript/src/games/number-search/NumberSearchNumbers.d.ts +1 -0
- package/lib/typescript/src/games/nuts-and-bolts/NutsAndBolts.d.ts +1 -3
- package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsConstants.d.ts +27 -79
- package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsGame.d.ts +56 -0
- package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsRules.d.ts +65 -0
- package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsScene.d.ts +48 -0
- package/lib/typescript/src/games/pac-man/PacMan.d.ts +1 -3
- package/lib/typescript/src/games/pac-man/PacManConstants.d.ts +66 -106
- package/lib/typescript/src/games/pac-man/PacManGame.d.ts +48 -0
- package/lib/typescript/src/games/pac-man/PacManRules.d.ts +52 -0
- package/lib/typescript/src/games/pac-man/PacManScene.d.ts +44 -0
- package/lib/typescript/src/games/paper-io/PaperIo.d.ts +1 -3
- package/lib/typescript/src/games/paper-io/PaperIoConstants.d.ts +60 -40
- package/lib/typescript/src/games/paper-io/PaperIoGame.d.ts +49 -0
- package/lib/typescript/src/games/paper-io/PaperIoMeshes.d.ts +13 -0
- package/lib/typescript/src/games/paper-io/PaperIoRules.d.ts +71 -0
- package/lib/typescript/src/games/paper-io/PaperIoScene.d.ts +39 -0
- package/lib/typescript/src/games/penguin-run/PenguinMeshes.d.ts +9 -0
- package/lib/typescript/src/games/penguin-run/PenguinModel.d.ts +42 -0
- package/lib/typescript/src/games/penguin-run/PenguinRun.d.ts +1 -0
- package/lib/typescript/src/games/penguin-run/PenguinRunConstants.d.ts +58 -0
- package/lib/typescript/src/games/penguin-run/PenguinRunGame.d.ts +64 -0
- package/lib/typescript/src/games/penguin-run/PenguinRunScene.d.ts +65 -0
- package/lib/typescript/src/games/perfect-circle/PerfectCircle.d.ts +1 -3
- package/lib/typescript/src/games/perfect-circle/PerfectCircleConstants.d.ts +23 -45
- package/lib/typescript/src/games/perfect-circle/PerfectCircleGame.d.ts +40 -0
- package/lib/typescript/src/games/perfect-circle/PerfectCircleRules.d.ts +55 -0
- package/lib/typescript/src/games/perfect-circle/PerfectCircleScene.d.ts +32 -0
- package/lib/typescript/src/games/pipe-connect/PipeConnect.d.ts +1 -3
- package/lib/typescript/src/games/pipe-connect/PipeConnectConstants.d.ts +36 -32
- package/lib/typescript/src/games/pipe-connect/PipeConnectGame.d.ts +40 -0
- package/lib/typescript/src/games/pipe-connect/PipeConnectRules.d.ts +16 -0
- package/lib/typescript/src/games/pipe-connect/PipeConnectScene.d.ts +28 -0
- package/lib/typescript/src/games/play-with-tua/PlayWithTua.d.ts +2 -0
- package/lib/typescript/src/games/play-with-tua/PlayWithTuaConstants.d.ts +64 -0
- package/lib/typescript/src/games/play-with-tua/PlayWithTuaGame.d.ts +34 -0
- package/lib/typescript/src/games/play-with-tua/PlayWithTuaModel.d.ts +9 -0
- package/lib/typescript/src/games/play-with-tua/PlayWithTuaScene.d.ts +13 -0
- package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts +1 -4
- package/lib/typescript/src/games/popit-fidget/PopitFidgetConstants.d.ts +25 -36
- package/lib/typescript/src/games/popit-fidget/PopitFidgetGame.d.ts +37 -0
- package/lib/typescript/src/games/popit-fidget/PopitFidgetScene.d.ts +19 -0
- package/lib/typescript/src/games/reversi/Reversi.d.ts +1 -3
- package/lib/typescript/src/games/reversi/ReversiConstants.d.ts +31 -62
- package/lib/typescript/src/games/reversi/ReversiGame.d.ts +54 -0
- package/lib/typescript/src/games/reversi/ReversiRules.d.ts +22 -0
- package/lib/typescript/src/games/reversi/ReversiScene.d.ts +27 -0
- package/lib/typescript/src/games/search-grid/SearchGrid.d.ts +20 -0
- package/lib/typescript/src/games/search-grid/SearchGridConstants.d.ts +60 -0
- package/lib/typescript/src/games/search-grid/SearchGridGame.d.ts +52 -0
- package/lib/typescript/src/games/search-grid/SearchGridScene.d.ts +43 -0
- package/lib/typescript/src/games/shared/BackdropCard.d.ts +2 -0
- package/lib/typescript/src/games/shared/EngineBackdrop.d.ts +19 -0
- package/lib/typescript/src/games/shared/EngineBlasts.d.ts +26 -0
- package/lib/typescript/src/games/shared/EngineBlocks.d.ts +19 -0
- package/lib/typescript/src/games/shared/EngineControlText.d.ts +2 -0
- package/lib/typescript/src/games/shared/EngineDice.d.ts +24 -0
- package/lib/typescript/src/games/shared/EngineFootprint.d.ts +17 -0
- package/lib/typescript/src/games/shared/EngineFruits.d.ts +27 -0
- package/lib/typescript/src/games/shared/EngineGameLoader.d.ts +4 -0
- package/lib/typescript/src/games/shared/EngineGameScreen.d.ts +48 -0
- package/lib/typescript/src/games/shared/EngineGameWidth.d.ts +3 -0
- package/lib/typescript/src/games/shared/EngineGameWidth.web.d.ts +3 -0
- package/lib/typescript/src/games/shared/EngineGlyphs.d.ts +15 -0
- package/lib/typescript/src/games/shared/EngineHud.d.ts +138 -0
- package/lib/typescript/src/games/shared/EngineLoading.d.ts +77 -0
- package/lib/typescript/src/games/shared/EngineMeadow.d.ts +90 -0
- package/lib/typescript/src/games/shared/EngineMeshCache.d.ts +3 -0
- package/lib/typescript/src/games/shared/EngineMeshes.d.ts +3 -0
- package/lib/typescript/src/games/shared/EngineRacingChase.d.ts +11 -0
- package/lib/typescript/src/games/shared/EngineRacingHandling.d.ts +15 -0
- package/lib/typescript/src/games/shared/EngineReadyContext.d.ts +2 -0
- package/lib/typescript/src/games/shared/EngineTilt.d.ts +19 -0
- package/lib/typescript/src/games/shared/EngineTouchSurface.d.ts +20 -0
- package/lib/typescript/src/games/shared/EngineUtils.d.ts +18 -0
- package/lib/typescript/src/games/shared/GameActivity.d.ts +3 -0
- package/lib/typescript/src/games/shared/GameLoading.d.ts +14 -0
- package/lib/typescript/src/games/shared/GameLoadingTransition.d.ts +9 -0
- package/lib/typescript/src/games/shared/ProceduralCacheVersion.d.ts +1 -0
- package/lib/typescript/src/games/shared/useEngineGame.d.ts +69 -0
- package/lib/typescript/src/games/shared/useGameResource.d.ts +2 -0
- package/lib/typescript/src/games/shared/useLiveState.d.ts +4 -0
- package/lib/typescript/src/games/sliding-numbers/SlidingNumbers.d.ts +1 -3
- package/lib/typescript/src/games/sliding-numbers/SlidingNumbersConstants.d.ts +32 -40
- package/lib/typescript/src/games/sliding-numbers/SlidingNumbersGame.d.ts +48 -0
- package/lib/typescript/src/games/sliding-numbers/SlidingNumbersRules.d.ts +22 -0
- package/lib/typescript/src/games/sliding-numbers/SlidingNumbersScene.d.ts +30 -0
- package/lib/typescript/src/games/snake-3d/Snake3D.d.ts +1 -3
- package/lib/typescript/src/games/snake-3d/Snake3DConstants.d.ts +31 -68
- package/lib/typescript/src/games/snake-3d/Snake3DGame.d.ts +42 -0
- package/lib/typescript/src/games/snake-3d/Snake3DMotion.d.ts +3 -0
- package/lib/typescript/src/games/snake-3d/Snake3DRules.d.ts +42 -0
- package/lib/typescript/src/games/snake-3d/Snake3DScene.d.ts +35 -0
- package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLadders.d.ts +1 -3
- package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLaddersConstants.d.ts +58 -50
- package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLaddersGame.d.ts +45 -0
- package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLaddersScene.d.ts +50 -0
- package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts +1 -3
- package/lib/typescript/src/games/space-fighter/SpaceFighterConstants.d.ts +33 -23
- package/lib/typescript/src/games/space-fighter/SpaceFighterGame.d.ts +58 -0
- package/lib/typescript/src/games/space-fighter/SpaceFighterScene.d.ts +51 -0
- package/lib/typescript/src/games/spider-solitaire/SpiderSolitaire.d.ts +1 -3
- package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireConstants.d.ts +52 -35
- package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireGame.d.ts +67 -0
- package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireRules.d.ts +39 -0
- package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireScene.d.ts +60 -0
- package/lib/typescript/src/games/stack-tower/StackTower.d.ts +1 -3
- package/lib/typescript/src/games/stack-tower/StackTowerConstants.d.ts +31 -23
- package/lib/typescript/src/games/stack-tower/StackTowerGame.d.ts +58 -0
- package/lib/typescript/src/games/stack-tower/StackTowerScene.d.ts +27 -0
- package/lib/typescript/src/games/sudoku/Sudoku.d.ts +1 -3
- package/lib/typescript/src/games/sudoku/SudokuConstants.d.ts +50 -55
- package/lib/typescript/src/games/sudoku/SudokuGame.d.ts +56 -0
- package/lib/typescript/src/games/sudoku/SudokuRules.d.ts +23 -0
- package/lib/typescript/src/games/sudoku/SudokuScene.d.ts +44 -0
- package/lib/typescript/src/games/tangram/Tangram.d.ts +1 -3
- package/lib/typescript/src/games/tangram/TangramConstants.d.ts +33 -52
- package/lib/typescript/src/games/tangram/TangramGame.d.ts +68 -0
- package/lib/typescript/src/games/tangram/TangramRules.d.ts +61 -0
- package/lib/typescript/src/games/tangram/TangramScene.d.ts +42 -0
- package/lib/typescript/src/games/tank-1990/Tank1990.d.ts +1 -3
- package/lib/typescript/src/games/tank-1990/Tank1990Constants.d.ts +44 -127
- package/lib/typescript/src/games/tank-1990/Tank1990Game.d.ts +50 -0
- package/lib/typescript/src/games/tank-1990/Tank1990Rules.d.ts +67 -0
- package/lib/typescript/src/games/tank-1990/Tank1990Scene.d.ts +38 -0
- package/lib/typescript/src/games/tic-tac-toe/TicTacToe.d.ts +1 -3
- package/lib/typescript/src/games/tic-tac-toe/TicTacToeConstants.d.ts +35 -72
- package/lib/typescript/src/games/tic-tac-toe/TicTacToeGame.d.ts +54 -0
- package/lib/typescript/src/games/tic-tac-toe/TicTacToeRules.d.ts +10 -0
- package/lib/typescript/src/games/tic-tac-toe/TicTacToeScene.d.ts +26 -0
- package/lib/typescript/src/games/tile-home/TileHome.d.ts +1 -3
- package/lib/typescript/src/games/tile-home/TileHomeConstants.d.ts +72 -70
- package/lib/typescript/src/games/tile-home/TileHomeGame.d.ts +72 -0
- package/lib/typescript/src/games/tile-home/TileHomeScene.d.ts +28 -0
- package/lib/typescript/src/games/treasure-hunt/TreasureHunt.d.ts +3 -0
- package/lib/typescript/src/games/treasure-hunt/TreasureHuntConstants.d.ts +144 -0
- package/lib/typescript/src/games/treasure-hunt/TreasureHuntControls.d.ts +75 -0
- package/lib/typescript/src/games/treasure-hunt/TreasureHuntGame.d.ts +41 -0
- package/lib/typescript/src/games/treasure-hunt/TreasureHuntMeshes.d.ts +26 -0
- package/lib/typescript/src/games/treasure-hunt/TreasureHuntModel.d.ts +57 -0
- package/lib/typescript/src/games/treasure-hunt/TreasureHuntRules.d.ts +198 -0
- package/lib/typescript/src/games/treasure-hunt/TreasureHuntScene.d.ts +40 -0
- package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts +1 -3
- package/lib/typescript/src/games/whack-a-mole/WhackAMoleConstants.d.ts +35 -45
- package/lib/typescript/src/games/whack-a-mole/WhackAMoleGame.d.ts +51 -0
- package/lib/typescript/src/games/whack-a-mole/WhackAMoleScene.d.ts +31 -0
- package/lib/typescript/src/games/word-search/WordSearch.d.ts +1 -3
- package/lib/typescript/src/games/word-search/WordSearchWords.d.ts +1 -0
- package/lib/typescript/src/helpers/GamePatternData.d.ts +46 -0
- package/lib/typescript/src/helpers/GameSettingsModal.d.ts +1 -1
- package/lib/typescript/src/helpers/GameTheme.d.ts +18 -0
- package/lib/typescript/src/helpers/IconPaths.d.ts +4 -0
- package/lib/typescript/src/helpers/index.d.ts +1 -19
- package/lib/typescript/src/index.d.ts +3 -0
- package/lib/typescript/src/services/GameAssetLoader.d.ts +32 -0
- package/lib/typescript/src/services/GameAssets.d.ts +11 -0
- package/lib/typescript/src/services/GameLoaders.d.ts +18 -0
- package/lib/typescript/src/services/GamesConstants.d.ts +11 -0
- package/lib/typescript/src/services/GamesMetadata.d.ts +2 -0
- package/lib/typescript/src/services/HapticsService.d.ts +1 -1
- package/lib/typescript/src/services/SfxSources.d.ts +79 -0
- package/lib/typescript/src/services/SoundsService.d.ts +487 -1566
- package/lib/typescript/src/services/ThemeService.d.ts +117 -0
- package/lib/typescript/src/services/UtilsService.d.ts +20 -2
- package/lib/typescript/src/services/index.d.ts +3 -0
- package/lib/web/assets/005ea2045b17-explorer.glb +0 -0
- package/lib/web/assets/01e2f0a0bbf6-hurt.wav +0 -0
- package/lib/web/assets/01fc0ecf658c-explorer-atlas.png +0 -0
- package/lib/web/assets/029329b2c7c0-asphalt.png +0 -0
- package/lib/web/assets/0376bda32be3-robot.wav +0 -0
- package/lib/web/assets/0719fb0bb38e-soft_glow.png +0 -0
- package/lib/web/assets/0b21278bffba-boing.wav +0 -0
- package/lib/web/assets/1333c9d1273c-flip_disc.wav +0 -0
- package/lib/web/assets/15785f62ee5f-time_up.wav +0 -0
- package/lib/web/assets/177f00502e08-bonus.wav +0 -0
- package/lib/web/assets/19e47dcfda1f-pling.wav +0 -0
- package/lib/web/assets/1a677e0f7f6c-laugh.wav +0 -0
- package/lib/web/assets/1ad2914478b1-eat.wav +0 -0
- package/lib/web/assets/1b0d703ddd1a-dance.wav +0 -0
- package/lib/web/assets/1e4330fddd74-chime.wav +0 -0
- package/lib/web/assets/2432a97b0af1-cannon.wav +0 -0
- package/lib/web/assets/2574370d6aa0-blocked.wav +0 -0
- package/lib/web/assets/2699065037ad-select.wav +0 -0
- package/lib/web/assets/28d30f53ad73-ladder.wav +0 -0
- package/lib/web/assets/2c1ec05270b2-point.wav +0 -0
- package/lib/web/assets/2e1dd99a0213-tick.wav +0 -0
- package/lib/web/assets/3084575cecdb-card_flip.wav +0 -0
- package/lib/web/assets/308bc31b6af5-engine.wav +0 -0
- package/lib/web/assets/336d63b739b5-combo.wav +0 -0
- package/lib/web/assets/3a369e2596e4-clash.wav +0 -0
- package/lib/web/assets/3a816e20212f-capture.wav +0 -0
- package/lib/web/assets/40240217810a-nitro.wav +0 -0
- package/lib/web/assets/46edaa54d1ea-crunch.wav +0 -0
- package/lib/web/assets/501994226995-coin.wav +0 -0
- package/lib/web/assets/5525d7f6a4b8-rotate.wav +0 -0
- package/lib/web/assets/5e816e1f0929-dice_roll.wav +0 -0
- package/lib/web/assets/60e2dec3cf41-deselect.wav +0 -0
- package/lib/web/assets/6ab86ea29e5c-six.wav +0 -0
- package/lib/web/assets/6da3b101926d-merge.wav +0 -0
- package/lib/web/assets/6e686dea513c-bark.jpg +0 -0
- package/lib/web/assets/6ff9a6a13714-limestone.jpg +0 -0
- package/lib/web/assets/735c4a1cd22e-invalid.wav +0 -0
- package/lib/web/assets/73f75c35ff5d-snake.wav +0 -0
- package/lib/web/assets/7506e3efe264-catch.wav +0 -0
- package/lib/web/assets/76493a2ada2d-ad_bolt.png +0 -0
- package/lib/web/assets/793abe620201-card_place.wav +0 -0
- package/lib/web/assets/7da09c57f52d-facade.png +0 -0
- package/lib/web/assets/7e1a902176f6-pine.png +0 -0
- package/lib/web/assets/7eb943b85c21-play-with-tua.glb +0 -0
- package/lib/web/assets/837d43c06dba-ad_bubbles.png +0 -0
- package/lib/web/assets/84f1a7dfa368-game_over.wav +0 -0
- package/lib/web/assets/850e26ce3b0a-flap.wav +0 -0
- package/lib/web/assets/854b31683cb2-draw.wav +0 -0
- package/lib/web/assets/8616150393b7-error.wav +0 -0
- package/lib/web/assets/87cc6d503ec6-river.jpg +0 -0
- package/lib/web/assets/88755845922c-hop.wav +0 -0
- package/lib/web/assets/8ec8f469492d-chomp_alt.wav +0 -0
- package/lib/web/assets/8f17f89b138c-pew.wav +0 -0
- package/lib/web/assets/9210a24472d1-place.wav +0 -0
- package/lib/web/assets/930d833ebf89-splash.wav +0 -0
- package/lib/web/assets/970f7c59265d-swoosh.wav +0 -0
- package/lib/web/assets/9900b8d1b6ad-flag.wav +0 -0
- package/lib/web/assets/9ab04403898b-clang.wav +0 -0
- package/lib/web/assets/9d8b97a10d45-drop.wav +0 -0
- package/lib/web/assets/9d9c02ddc7ed-boom.wav +0 -0
- package/lib/web/assets/9e1b5114d56d-pop_soft.wav +0 -0
- package/lib/web/assets/a01f22d6dbb3-thud.wav +0 -0
- package/lib/web/assets/a44a1cf1a1a8-bump.wav +0 -0
- package/lib/web/assets/a76940a48c68-hit.wav +0 -0
- package/lib/web/assets/a98ddb724460-leaves.png +0 -0
- package/lib/web/assets/aa0960e8bee6-footstep_run.wav +0 -0
- package/lib/web/assets/aa570c9d3e15-star.wav +0 -0
- package/lib/web/assets/aacb999f3c49-tock.wav +0 -0
- package/lib/web/assets/aae0c16c5e89-reveal.wav +0 -0
- package/lib/web/assets/ab37cd128509-click.wav +0 -0
- package/lib/web/assets/b0bc66f49005-warning.wav +0 -0
- package/lib/web/assets/b1edd756ac43-zap.wav +0 -0
- package/lib/web/assets/b3894545cf71-slice.wav +0 -0
- package/lib/web/assets/b3c6225d055a-meadow.jpg +0 -0
- package/lib/web/assets/b60ca65cdfcb-gate.wav +0 -0
- package/lib/web/assets/b8900bb2c5c7-win.wav +0 -0
- package/lib/web/assets/baff6feda846-lose.wav +0 -0
- package/lib/web/assets/bed31305d60d-ad_chevrons.png +0 -0
- package/lib/web/assets/c26f4a624e7d-shuffle.wav +0 -0
- package/lib/web/assets/c3a9edfad195-die.wav +0 -0
- package/lib/web/assets/c4aa9d773f2a-footstep_walk.wav +0 -0
- package/lib/web/assets/c5ab3ff0003f-crash.wav +0 -0
- package/lib/web/assets/c5eb07deddd4-start.wav +0 -0
- package/lib/web/assets/c6c58d9ae452-pop.wav +0 -0
- package/lib/web/assets/cea48c3cd9c7-balloon_pop.wav +0 -0
- package/lib/web/assets/d15591767778-tap.wav +0 -0
- package/lib/web/assets/d1781a52234f-slide.wav +0 -0
- package/lib/web/assets/d3bf2d9f793b-snap.wav +0 -0
- package/lib/web/assets/d8f59ebd3537-jump.wav +0 -0
- package/lib/web/assets/dafea2f28854-power_up.wav +0 -0
- package/lib/web/assets/e2e7f5ae2d1b-whoosh.wav +0 -0
- package/lib/web/assets/e2f90a23e1bd-chomp.wav +0 -0
- package/lib/web/assets/e454e56df89a-clack.wav +0 -0
- package/lib/web/assets/e8cbc2b88bc4-Inter-SemiBold.ttf +0 -0
- package/lib/web/assets/ed6496b891fc-land.wav +0 -0
- package/lib/web/assets/f21920200a81-thunk.wav +0 -0
- package/lib/web/assets/f753b43be89d-whack.wav +0 -0
- package/lib/web/assets/f798c4b5cf4d-miss.wav +0 -0
- package/lib/web/assets/fbe299716916-grass.png +0 -0
- package/lib/web/chunk-52ez2s9z.js +15 -0
- package/lib/web/chunk-8675t224.js +1 -0
- package/lib/web/index.js +2 -0
- package/lib/web/package.json +1 -0
- package/lib/web/services.js +2 -0
- package/package.json +94 -73
- package/src/assets/fonts/Inter-SemiBold.ttf +0 -0
- package/src/assets/models/explorer/explorer.glb +0 -0
- package/src/assets/models/explorer/params.json +51 -0
- package/src/assets/models/explorer/source.json +222 -0
- package/src/assets/models/play-with-tua/play-with-tua.glb +0 -0
- package/src/assets/models/play-with-tua/sources.json +141 -0
- package/src/assets/sfx/balloon_pop.wav +0 -0
- package/src/assets/sfx/blocked.wav +0 -0
- package/src/assets/sfx/boing.wav +0 -0
- package/src/assets/sfx/bonus.wav +0 -0
- package/src/assets/sfx/boom.wav +0 -0
- package/src/assets/sfx/bump.wav +0 -0
- package/src/assets/sfx/cannon.wav +0 -0
- package/src/assets/sfx/capture.wav +0 -0
- package/src/assets/sfx/card_flip.wav +0 -0
- package/src/assets/sfx/card_place.wav +0 -0
- package/src/assets/sfx/catch.wav +0 -0
- package/src/assets/sfx/chime.wav +0 -0
- package/src/assets/sfx/chomp.wav +0 -0
- package/src/assets/sfx/chomp_alt.wav +0 -0
- package/src/assets/sfx/clack.wav +0 -0
- package/src/assets/sfx/clang.wav +0 -0
- package/src/assets/sfx/clash.wav +0 -0
- package/src/assets/sfx/click.wav +0 -0
- package/src/assets/sfx/coin.wav +0 -0
- package/src/assets/sfx/combo.wav +0 -0
- package/src/assets/sfx/crash.wav +0 -0
- package/src/assets/sfx/crunch.wav +0 -0
- package/src/assets/sfx/dance.wav +0 -0
- package/src/assets/sfx/deselect.wav +0 -0
- package/src/assets/sfx/dice_roll.wav +0 -0
- package/src/assets/sfx/die.wav +0 -0
- package/src/assets/sfx/draw.wav +0 -0
- package/src/assets/sfx/drop.wav +0 -0
- package/src/assets/sfx/eat.wav +0 -0
- package/src/assets/sfx/engine.wav +0 -0
- package/src/assets/sfx/error.wav +0 -0
- package/src/assets/sfx/flag.wav +0 -0
- package/src/assets/sfx/flap.wav +0 -0
- package/src/assets/sfx/flip_disc.wav +0 -0
- package/src/assets/sfx/footstep_run.wav +0 -0
- package/src/assets/sfx/footstep_walk.wav +0 -0
- package/src/assets/sfx/game_over.wav +0 -0
- package/src/assets/sfx/gate.wav +0 -0
- package/src/assets/sfx/hit.wav +0 -0
- package/src/assets/sfx/hop.wav +0 -0
- package/src/assets/sfx/hurt.wav +0 -0
- package/src/assets/sfx/invalid.wav +0 -0
- package/src/assets/sfx/jump.wav +0 -0
- package/src/assets/sfx/ladder.wav +0 -0
- package/src/assets/sfx/land.wav +0 -0
- package/src/assets/sfx/laugh.wav +0 -0
- package/src/assets/sfx/lose.wav +0 -0
- package/src/assets/sfx/merge.wav +0 -0
- package/src/assets/sfx/miss.wav +0 -0
- package/src/assets/sfx/nitro.wav +0 -0
- package/src/assets/sfx/pew.wav +0 -0
- package/src/assets/sfx/place.wav +0 -0
- package/src/assets/sfx/pling.wav +0 -0
- package/src/assets/sfx/point.wav +0 -0
- package/src/assets/sfx/pop.wav +0 -0
- package/src/assets/sfx/pop_soft.wav +0 -0
- package/src/assets/sfx/power_up.wav +0 -0
- package/src/assets/sfx/reveal.wav +0 -0
- package/src/assets/sfx/robot.wav +0 -0
- package/src/assets/sfx/rotate.wav +0 -0
- package/src/assets/sfx/run_steps.wav +0 -0
- package/src/assets/sfx/select.wav +0 -0
- package/src/assets/sfx/shuffle.wav +0 -0
- package/src/assets/sfx/six.wav +0 -0
- package/src/assets/sfx/slice.wav +0 -0
- package/src/assets/sfx/slide.wav +0 -0
- package/src/assets/sfx/snake.wav +0 -0
- package/src/assets/sfx/snap.wav +0 -0
- package/src/assets/sfx/splash.wav +0 -0
- package/src/assets/sfx/star.wav +0 -0
- package/src/assets/sfx/start.wav +0 -0
- package/src/assets/sfx/swoosh.wav +0 -0
- package/src/assets/sfx/tap.wav +0 -0
- package/src/assets/sfx/thud.wav +0 -0
- package/src/assets/sfx/thunk.wav +0 -0
- package/src/assets/sfx/tick.wav +0 -0
- package/src/assets/sfx/time_up.wav +0 -0
- package/src/assets/sfx/tock.wav +0 -0
- package/src/assets/sfx/walk_steps.wav +0 -0
- package/src/assets/sfx/warning.wav +0 -0
- package/src/assets/sfx/whack.wav +0 -0
- package/src/assets/sfx/whoosh.wav +0 -0
- package/src/assets/sfx/win.wav +0 -0
- package/src/assets/sfx/zap.wav +0 -0
- package/src/assets/textures/ad_bolt.png +0 -0
- package/src/assets/textures/ad_bubbles.png +0 -0
- package/src/assets/textures/ad_chevrons.png +0 -0
- package/src/assets/textures/asphalt.png +0 -0
- package/src/assets/textures/bark.jpg +0 -0
- package/src/assets/textures/explorer-atlas.png +0 -0
- package/src/assets/textures/facade.png +0 -0
- package/src/assets/textures/grass.png +0 -0
- package/src/assets/textures/leaves.png +0 -0
- package/src/assets/textures/limestone.jpg +0 -0
- package/src/assets/textures/meadow.jpg +0 -0
- package/src/assets/textures/nature-sources.json +87 -0
- package/src/assets/textures/pine.png +0 -0
- package/src/assets/textures/river.jpg +0 -0
- package/src/assets/textures/soft_glow.png +0 -0
- package/src/games/arrows/Arrows.tsx +69 -0
- package/src/games/arrows/ArrowsConstants.ts +107 -0
- package/src/games/arrows/ArrowsGame.ts +735 -0
- package/src/games/arrows/ArrowsScene.ts +395 -0
- package/src/games/balloon-blaster/BalloonBlaster.tsx +75 -0
- package/src/games/balloon-blaster/BalloonBlasterConstants.ts +79 -0
- package/src/games/balloon-blaster/BalloonBlasterGame.ts +287 -0
- package/src/games/balloon-blaster/BalloonBlasterPhysics.ts +95 -0
- package/src/games/balloon-blaster/BalloonBlasterScene.ts +225 -0
- package/src/games/bike-racing/BikeMeshes.ts +273 -0
- package/src/games/bike-racing/BikeRacing.tsx +211 -0
- package/src/games/bike-racing/BikeRacingConstants.ts +103 -0
- package/src/games/bike-racing/BikeRacingGame.ts +557 -0
- package/src/games/bike-racing/BikeRacingScene.ts +119 -0
- package/src/games/block-blast/BlockBlast.tsx +73 -0
- package/src/games/block-blast/BlockBlastConstants.ts +179 -0
- package/src/games/block-blast/BlockBlastGame.ts +471 -0
- package/src/games/block-blast/BlockBlastScene.ts +156 -0
- package/src/games/block-breaker/BlockBreaker.tsx +79 -0
- package/src/games/block-breaker/BlockBreakerConstants.ts +139 -0
- package/src/games/block-breaker/BlockBreakerGame.ts +459 -0
- package/src/games/block-breaker/BlockBreakerScene.ts +257 -0
- package/src/games/bluk/Bluk.tsx +82 -0
- package/src/games/bluk/BlukConstants.ts +121 -0
- package/src/games/bluk/BlukGame.ts +323 -0
- package/src/games/bluk/BlukRules.ts +154 -0
- package/src/games/bluk/BlukScene.ts +514 -0
- package/src/games/bubble-shooter/BubbleShooter.tsx +76 -0
- package/src/games/bubble-shooter/BubbleShooterConstants.ts +103 -0
- package/src/games/bubble-shooter/BubbleShooterGame.ts +459 -0
- package/src/games/bubble-shooter/BubbleShooterScene.ts +158 -0
- package/src/games/candy-crush/CandyCrush.tsx +77 -0
- package/src/games/candy-crush/CandyCrushConstants.ts +94 -0
- package/src/games/candy-crush/CandyCrushGame.ts +477 -0
- package/src/games/candy-crush/CandyCrushScene.ts +209 -0
- package/src/games/car-racing/CarMeshes.ts +440 -0
- package/src/games/car-racing/CarRacing.tsx +211 -0
- package/src/games/car-racing/CarRacingConstants.ts +167 -0
- package/src/games/car-racing/CarRacingFacade.ts +40 -0
- package/src/games/car-racing/CarRacingGame.ts +539 -0
- package/src/games/car-racing/CarRacingScene.ts +1026 -0
- package/src/games/car-racing/CarRacingScenery.ts +265 -0
- package/src/games/chameleon-run/ChameleonRun.tsx +96 -0
- package/src/games/chameleon-run/ChameleonRunBackdrop.ts +186 -0
- package/src/games/chameleon-run/ChameleonRunConstants.ts +47 -0
- package/src/games/chameleon-run/ChameleonRunGame.ts +309 -0
- package/src/games/chameleon-run/ChameleonRunMeshes.ts +305 -0
- package/src/games/chameleon-run/ChameleonRunRules.ts +252 -0
- package/src/games/chameleon-run/ChameleonRunScene.ts +310 -0
- package/src/games/checkers/Checkers.tsx +83 -0
- package/src/games/checkers/CheckersAI.ts +255 -0
- package/src/games/checkers/CheckersConstants.ts +68 -0
- package/src/games/checkers/CheckersGame.ts +322 -0
- package/src/games/checkers/CheckersRules.ts +167 -0
- package/src/games/checkers/CheckersScene.ts +308 -0
- package/src/games/color-switch/ColorSwitch.tsx +75 -0
- package/src/games/color-switch/ColorSwitchConstants.ts +61 -0
- package/src/games/color-switch/ColorSwitchGame.ts +329 -0
- package/src/games/color-switch/ColorSwitchScene.ts +220 -0
- package/src/games/colors-sort/ColorsSort.tsx +82 -0
- package/src/games/colors-sort/ColorsSortConstants.ts +119 -0
- package/src/games/colors-sort/ColorsSortGame.ts +246 -0
- package/src/games/colors-sort/ColorsSortScene.ts +315 -0
- package/src/games/connect-em-all/ConnectEmAll.tsx +70 -0
- package/src/games/connect-em-all/ConnectEmAllConstants.ts +77 -0
- package/src/games/connect-em-all/ConnectEmAllGame.ts +401 -0
- package/src/games/connect-em-all/ConnectEmAllScene.ts +235 -0
- package/src/games/crossy-road/CrossyRoad.tsx +74 -0
- package/src/games/crossy-road/CrossyRoadCamera.ts +59 -0
- package/src/games/crossy-road/CrossyRoadConstants.ts +132 -0
- package/src/games/crossy-road/CrossyRoadGame.ts +293 -0
- package/src/games/crossy-road/CrossyRoadMeshes.ts +195 -0
- package/src/games/crossy-road/CrossyRoadPerson.ts +198 -0
- package/src/games/crossy-road/CrossyRoadRules.ts +99 -0
- package/src/games/crossy-road/CrossyRoadScene.ts +355 -0
- package/src/games/dino-jump/DinoJump.tsx +77 -0
- package/src/games/dino-jump/DinoJumpConstants.ts +80 -0
- package/src/games/dino-jump/DinoJumpGame.ts +344 -0
- package/src/games/dino-jump/DinoJumpScene.ts +686 -0
- package/src/games/dots-and-boxes/DotsAndBoxes.tsx +83 -0
- package/src/games/dots-and-boxes/DotsAndBoxesConstants.ts +77 -0
- package/src/games/dots-and-boxes/DotsAndBoxesGame.ts +271 -0
- package/src/games/dots-and-boxes/DotsAndBoxesScene.ts +249 -0
- package/src/games/falling-sticks/FallingSticks.tsx +72 -0
- package/src/games/falling-sticks/FallingSticksConstants.ts +62 -0
- package/src/games/falling-sticks/FallingSticksGame.ts +220 -0
- package/src/games/falling-sticks/FallingSticksRules.ts +145 -0
- package/src/games/falling-sticks/FallingSticksScene.ts +245 -0
- package/src/games/find-different-number/FindDifferentNumber.tsx +74 -0
- package/src/games/find-different-number/FindDifferentNumberConstants.ts +74 -0
- package/src/games/find-different-number/FindDifferentNumberGame.ts +174 -0
- package/src/games/find-different-number/FindDifferentNumberRules.ts +43 -0
- package/src/games/find-different-number/FindDifferentNumberScene.ts +193 -0
- package/src/games/flappy-bird/FlappyBird.tsx +73 -0
- package/src/games/flappy-bird/FlappyBirdConstants.ts +95 -0
- package/src/games/flappy-bird/FlappyBirdGame.ts +375 -0
- package/src/games/flappy-bird/FlappyBirdScene.ts +630 -0
- package/src/games/fruit-merger/FruitMerger.tsx +73 -0
- package/src/games/fruit-merger/FruitMergerConstants.ts +102 -0
- package/src/games/fruit-merger/FruitMergerGame.ts +285 -0
- package/src/games/fruit-merger/FruitMergerRules.ts +286 -0
- package/src/games/fruit-merger/FruitMergerScene.ts +498 -0
- package/src/games/fruit-ninja/FruitNinja.tsx +129 -0
- package/src/games/fruit-ninja/FruitNinjaConstants.ts +107 -0
- package/src/games/fruit-ninja/FruitNinjaGame.ts +391 -0
- package/src/games/fruit-ninja/FruitNinjaScene.ts +319 -0
- package/src/games/fruit-ninja/FruitNinjaWorld.ts +17 -0
- package/src/games/game-2048/Game2048.tsx +84 -0
- package/src/games/game-2048/Game2048Constants.ts +68 -0
- package/src/games/game-2048/Game2048Game.ts +181 -0
- package/src/games/game-2048/Game2048Rules.ts +101 -0
- package/src/games/game-2048/Game2048Scene.ts +206 -0
- package/src/games/knife-hit/KnifeHit.tsx +78 -0
- package/src/games/knife-hit/KnifeHitConstants.ts +89 -0
- package/src/games/knife-hit/KnifeHitGame.ts +264 -0
- package/src/games/knife-hit/KnifeHitScene.ts +360 -0
- package/src/games/ludo-king/LudoKing.tsx +86 -0
- package/src/games/ludo-king/LudoKingConstants.ts +212 -0
- package/src/games/ludo-king/LudoKingGame.ts +326 -0
- package/src/games/ludo-king/LudoKingRules.ts +143 -0
- package/src/games/ludo-king/LudoKingScene.ts +397 -0
- package/src/games/maze-runner/MazeRunner.tsx +88 -0
- package/src/games/maze-runner/MazeRunnerConstants.ts +65 -0
- package/src/games/maze-runner/MazeRunnerGame.ts +176 -0
- package/src/games/maze-runner/MazeRunnerRules.ts +161 -0
- package/src/games/maze-runner/MazeRunnerScene.ts +245 -0
- package/src/games/memory-match/MemoryMatch.tsx +77 -0
- package/src/games/memory-match/MemoryMatchConstants.ts +105 -0
- package/src/games/memory-match/MemoryMatchGame.ts +222 -0
- package/src/games/memory-match/MemoryMatchRules.ts +38 -0
- package/src/games/memory-match/MemoryMatchScene.ts +268 -0
- package/src/games/mine-sweeper/MineSweeper.tsx +77 -0
- package/src/games/mine-sweeper/MineSweeperConstants.ts +94 -0
- package/src/games/mine-sweeper/MineSweeperGame.ts +234 -0
- package/src/games/mine-sweeper/MineSweeperRules.ts +67 -0
- package/src/games/mine-sweeper/MineSweeperScene.ts +262 -0
- package/src/games/mob-control/MobControl.tsx +73 -0
- package/src/games/mob-control/MobControlConstants.ts +106 -0
- package/src/games/mob-control/MobControlGame.ts +176 -0
- package/src/games/mob-control/MobControlMeshes.ts +85 -0
- package/src/games/mob-control/MobControlRenderer.ts +108 -0
- package/src/games/mob-control/MobControlRules.ts +522 -0
- package/src/games/mob-control/MobControlScene.ts +399 -0
- package/src/games/number-search/NumberSearch.tsx +18 -0
- package/src/games/number-search/NumberSearchNumbers.ts +623 -0
- package/src/games/nuts-and-bolts/NutsAndBolts.tsx +85 -0
- package/src/games/nuts-and-bolts/NutsAndBoltsConstants.ts +75 -0
- package/src/games/nuts-and-bolts/NutsAndBoltsGame.ts +298 -0
- package/src/games/nuts-and-bolts/NutsAndBoltsRules.ts +474 -0
- package/src/games/nuts-and-bolts/NutsAndBoltsScene.ts +498 -0
- package/src/games/pac-man/PacMan.tsx +86 -0
- package/src/games/pac-man/PacManConstants.ts +169 -0
- package/src/games/pac-man/PacManGame.ts +406 -0
- package/src/games/pac-man/PacManRules.ts +255 -0
- package/src/games/pac-man/PacManScene.ts +387 -0
- package/src/games/paper-io/PaperIo.tsx +91 -0
- package/src/games/paper-io/PaperIoConstants.ts +86 -0
- package/src/games/paper-io/PaperIoGame.ts +193 -0
- package/src/games/paper-io/PaperIoMeshes.ts +233 -0
- package/src/games/paper-io/PaperIoRules.ts +315 -0
- package/src/games/paper-io/PaperIoScene.ts +310 -0
- package/src/games/penguin-run/PenguinMeshes.ts +269 -0
- package/src/games/penguin-run/PenguinModel.ts +712 -0
- package/src/games/penguin-run/PenguinRun.tsx +77 -0
- package/src/games/penguin-run/PenguinRunConstants.ts +69 -0
- package/src/games/penguin-run/PenguinRunGame.ts +406 -0
- package/src/games/penguin-run/PenguinRunScene.ts +949 -0
- package/src/games/perfect-circle/PerfectCircle.tsx +74 -0
- package/src/games/perfect-circle/PerfectCircleConstants.ts +52 -0
- package/src/games/perfect-circle/PerfectCircleGame.ts +153 -0
- package/src/games/perfect-circle/PerfectCircleRules.ts +111 -0
- package/src/games/perfect-circle/PerfectCircleScene.ts +176 -0
- package/src/games/pipe-connect/PipeConnect.tsx +69 -0
- package/src/games/pipe-connect/PipeConnectConstants.ts +101 -0
- package/src/games/pipe-connect/PipeConnectGame.ts +179 -0
- package/src/games/pipe-connect/PipeConnectRules.ts +326 -0
- package/src/games/pipe-connect/PipeConnectScene.ts +271 -0
- package/src/games/play-with-tua/PlayWithTua.tsx +123 -0
- package/src/games/play-with-tua/PlayWithTuaConstants.ts +70 -0
- package/src/games/play-with-tua/PlayWithTuaGame.ts +167 -0
- package/src/games/play-with-tua/PlayWithTuaModel.ts +42 -0
- package/src/games/play-with-tua/PlayWithTuaScene.ts +36 -0
- package/src/games/popit-fidget/PopitFidget.tsx +72 -0
- package/src/games/popit-fidget/PopitFidgetConstants.ts +71 -0
- package/src/games/popit-fidget/PopitFidgetGame.ts +148 -0
- package/src/games/popit-fidget/PopitFidgetScene.ts +242 -0
- package/src/games/reversi/Reversi.tsx +94 -0
- package/src/games/reversi/ReversiConstants.ts +67 -0
- package/src/games/reversi/ReversiGame.ts +266 -0
- package/src/games/reversi/ReversiRules.ts +176 -0
- package/src/games/reversi/ReversiScene.ts +240 -0
- package/src/games/search-grid/SearchGrid.tsx +92 -0
- package/src/games/search-grid/SearchGridConstants.ts +178 -0
- package/src/games/search-grid/SearchGridGame.ts +209 -0
- package/src/games/search-grid/SearchGridScene.ts +301 -0
- package/src/games/shared/BackdropCard.tsx +54 -0
- package/src/games/shared/EngineBackdrop.ts +300 -0
- package/src/games/shared/EngineBlasts.ts +136 -0
- package/src/games/shared/EngineBlocks.ts +91 -0
- package/src/games/shared/EngineControlText.ts +17 -0
- package/src/games/shared/EngineDice.ts +250 -0
- package/src/games/shared/EngineFootprint.ts +35 -0
- package/src/games/shared/EngineFruits.ts +1435 -0
- package/src/games/shared/EngineGameLoader.tsx +88 -0
- package/src/games/shared/EngineGameScreen.tsx +325 -0
- package/src/games/shared/EngineGameWidth.ts +3 -0
- package/src/games/shared/EngineGameWidth.web.ts +3 -0
- package/src/games/shared/EngineGlyphs.ts +178 -0
- package/src/games/shared/EngineHud.ts +815 -0
- package/src/games/shared/EngineLoading.ts +477 -0
- package/src/games/shared/EngineMeadow.ts +725 -0
- package/src/games/shared/EngineMeshCache.ts +15 -0
- package/src/games/shared/EngineMeshes.ts +10 -0
- package/src/games/shared/EngineRacingChase.ts +21 -0
- package/src/games/shared/EngineRacingHandling.ts +48 -0
- package/src/games/shared/EngineReadyContext.ts +4 -0
- package/src/games/shared/EngineTilt.ts +44 -0
- package/src/games/shared/EngineTouchSurface.tsx +103 -0
- package/src/games/shared/EngineUtils.ts +52 -0
- package/src/games/shared/GameActivity.ts +13 -0
- package/src/games/shared/GameLoading.tsx +202 -0
- package/src/games/shared/GameLoadingTransition.tsx +61 -0
- package/src/games/shared/ProceduralCacheVersion.ts +2 -0
- package/src/games/shared/useEngineGame.ts +240 -0
- package/src/games/shared/useGameResource.ts +21 -0
- package/src/games/shared/useLiveState.ts +58 -0
- package/src/games/sliding-numbers/SlidingNumbers.tsx +71 -0
- package/src/games/sliding-numbers/SlidingNumbersConstants.ts +65 -0
- package/src/games/sliding-numbers/SlidingNumbersGame.ts +192 -0
- package/src/games/sliding-numbers/SlidingNumbersRules.ts +79 -0
- package/src/games/sliding-numbers/SlidingNumbersScene.ts +193 -0
- package/src/games/snake-3d/Snake3D.tsx +76 -0
- package/src/games/snake-3d/Snake3DConstants.ts +61 -0
- package/src/games/snake-3d/Snake3DGame.ts +192 -0
- package/src/games/snake-3d/Snake3DMotion.ts +22 -0
- package/src/games/snake-3d/Snake3DRules.ts +116 -0
- package/src/games/snake-3d/Snake3DScene.ts +322 -0
- package/src/games/snakes-and-ladders/SnakesAndLadders.tsx +87 -0
- package/src/games/snakes-and-ladders/SnakesAndLaddersConstants.ts +136 -0
- package/src/games/snakes-and-ladders/SnakesAndLaddersGame.ts +310 -0
- package/src/games/snakes-and-ladders/SnakesAndLaddersScene.ts +515 -0
- package/src/games/space-fighter/SpaceFighter.tsx +74 -0
- package/src/games/space-fighter/SpaceFighterConstants.ts +86 -0
- package/src/games/space-fighter/SpaceFighterGame.ts +292 -0
- package/src/games/space-fighter/SpaceFighterScene.ts +550 -0
- package/src/games/spider-solitaire/SpiderSolitaire.tsx +80 -0
- package/src/games/spider-solitaire/SpiderSolitaireConstants.ts +107 -0
- package/src/games/spider-solitaire/SpiderSolitaireGame.ts +387 -0
- package/src/games/spider-solitaire/SpiderSolitaireRules.ts +123 -0
- package/src/games/spider-solitaire/SpiderSolitaireScene.ts +352 -0
- package/src/games/stack-tower/StackTower.tsx +76 -0
- package/src/games/stack-tower/StackTowerConstants.ts +74 -0
- package/src/games/stack-tower/StackTowerGame.ts +236 -0
- package/src/games/stack-tower/StackTowerScene.ts +186 -0
- package/src/games/sudoku/Sudoku.tsx +73 -0
- package/src/games/sudoku/SudokuConstants.ts +127 -0
- package/src/games/sudoku/SudokuGame.ts +250 -0
- package/src/games/sudoku/SudokuRules.ts +125 -0
- package/src/games/sudoku/SudokuScene.ts +304 -0
- package/src/games/tangram/Tangram.tsx +79 -0
- package/src/games/tangram/TangramConstants.ts +64 -0
- package/src/games/tangram/TangramGame.ts +356 -0
- package/src/games/tangram/TangramRules.ts +409 -0
- package/src/games/tangram/TangramScene.ts +203 -0
- package/src/games/tank-1990/Tank1990.tsx +78 -0
- package/src/games/tank-1990/Tank1990Constants.ts +81 -0
- package/src/games/tank-1990/Tank1990Game.ts +331 -0
- package/src/games/tank-1990/Tank1990Rules.ts +390 -0
- package/src/games/tank-1990/Tank1990Scene.ts +434 -0
- package/src/games/tic-tac-toe/TicTacToe.tsx +98 -0
- package/src/games/tic-tac-toe/TicTacToeConstants.ts +69 -0
- package/src/games/tic-tac-toe/TicTacToeGame.ts +200 -0
- package/src/games/tic-tac-toe/TicTacToeRules.ts +103 -0
- package/src/games/tic-tac-toe/TicTacToeScene.ts +245 -0
- package/src/games/tile-home/TileHome.tsx +92 -0
- package/src/games/tile-home/TileHomeConstants.ts +139 -0
- package/src/games/tile-home/TileHomeGame.ts +435 -0
- package/src/games/tile-home/TileHomeScene.ts +154 -0
- package/src/games/treasure-hunt/TreasureHunt.tsx +206 -0
- package/src/games/treasure-hunt/TreasureHuntConstants.ts +266 -0
- package/src/games/treasure-hunt/TreasureHuntControls.ts +280 -0
- package/src/games/treasure-hunt/TreasureHuntGame.ts +402 -0
- package/src/games/treasure-hunt/TreasureHuntMeshes.ts +422 -0
- package/src/games/treasure-hunt/TreasureHuntModel.ts +506 -0
- package/src/games/treasure-hunt/TreasureHuntRules.ts +1210 -0
- package/src/games/treasure-hunt/TreasureHuntScene.ts +586 -0
- package/src/games/whack-a-mole/WhackAMole.tsx +79 -0
- package/src/games/whack-a-mole/WhackAMoleConstants.ts +94 -0
- package/src/games/whack-a-mole/WhackAMoleGame.ts +233 -0
- package/src/games/whack-a-mole/WhackAMoleScene.ts +349 -0
- package/src/games/word-search/WordSearch.tsx +18 -0
- package/src/games/word-search/WordSearchWords.ts +1642 -0
- package/src/helpers/GamePatternData.ts +120 -0
- package/src/helpers/GameSettingsModal.tsx +384 -0
- package/src/helpers/GameTheme.tsx +37 -0
- package/src/helpers/IconPaths.ts +6 -0
- package/src/helpers/index.ts +2 -0
- package/src/index.tsx +60 -0
- package/src/services/GameAssetLoader.ts +111 -0
- package/src/services/GameAssets.ts +149 -0
- package/src/services/GameLoaders.ts +93 -0
- package/src/services/GamesConstants.ts +193 -0
- package/src/services/GamesMetadata.ts +711 -0
- package/src/services/GamesService.ts +116 -0
- package/src/services/HapticsService.ts +48 -0
- package/src/services/ScoringService.ts +19 -0
- package/src/services/SfxSources.ts +81 -0
- package/src/services/SoundsService.ts +582 -0
- package/src/services/ThemeService.ts +281 -0
- package/src/services/UtilsService.ts +134 -0
- package/src/services/index.ts +6 -0
- package/lib/module/games/arrows/ArrowsService.js +0 -1
- package/lib/module/games/arrows/ArrowsStore.js +0 -1
- package/lib/module/games/arrows/components/ArrowsGrid.js +0 -1
- package/lib/module/games/arrows/components/ScoreBoard.js +0 -1
- package/lib/module/games/balloon-blaster/BalloonBlasterService.js +0 -1
- package/lib/module/games/balloon-blaster/BalloonBlasterStore.js +0 -1
- package/lib/module/games/balloon-blaster/components/BalloonComponent.js +0 -1
- package/lib/module/games/balloon-blaster/components/GameArea.js +0 -1
- package/lib/module/games/balloon-blaster/components/GameBackground.js +0 -1
- package/lib/module/games/balloon-blaster/components/ScoreBoard.js +0 -1
- package/lib/module/games/bike-racing/BikeRacingService.js +0 -1
- package/lib/module/games/bike-racing/BikeRacingStore.js +0 -1
- package/lib/module/games/bike-racing/components/BikeComponent.js +0 -1
- package/lib/module/games/bike-racing/components/GameBackground.js +0 -1
- package/lib/module/games/bike-racing/components/ScoreBoard.js +0 -1
- package/lib/module/games/block-blast/BlockBlastService.js +0 -1
- package/lib/module/games/block-blast/BlockBlastStore.js +0 -1
- package/lib/module/games/block-blast/components/BlockPieceComponent.js +0 -1
- package/lib/module/games/block-blast/components/GameArea.js +0 -1
- package/lib/module/games/block-blast/components/GridComponent.js +0 -1
- package/lib/module/games/block-blast/components/ScoreBoard.js +0 -1
- package/lib/module/games/block-breaker/BlockBreakerService.js +0 -1
- package/lib/module/games/block-breaker/BlockBreakerStore.js +0 -1
- package/lib/module/games/block-breaker/components/BlastAnimation.js +0 -1
- package/lib/module/games/block-breaker/components/GameArea.js +0 -1
- package/lib/module/games/block-breaker/components/ScoreBoard.js +0 -1
- package/lib/module/games/bluk/BlukService.js +0 -1
- package/lib/module/games/bluk/BlukStore.js +0 -1
- package/lib/module/games/bluk/components/GameArea.js +0 -1
- package/lib/module/games/bluk/components/GameBackground.js +0 -1
- package/lib/module/games/bluk/components/ScoreBoard.js +0 -1
- package/lib/module/games/bubble-shooter/BubbleShooterService.js +0 -1
- package/lib/module/games/bubble-shooter/BubbleShooterStore.js +0 -1
- package/lib/module/games/bubble-shooter/components/GameArea.js +0 -1
- package/lib/module/games/bubble-shooter/components/ScoreBoard.js +0 -1
- package/lib/module/games/candy-crush/CandyCrushService.js +0 -1
- package/lib/module/games/candy-crush/CandyCrushStore.js +0 -1
- package/lib/module/games/candy-crush/components/CandyItem.js +0 -1
- package/lib/module/games/candy-crush/components/GameGrid.js +0 -1
- package/lib/module/games/candy-crush/components/ScoreBoard.js +0 -1
- package/lib/module/games/car-racing/CarRacingService.js +0 -1
- package/lib/module/games/car-racing/CarRacingStore.js +0 -1
- package/lib/module/games/car-racing/components/CarComponent.js +0 -1
- package/lib/module/games/car-racing/components/GameBackground.js +0 -1
- package/lib/module/games/car-racing/components/ScoreBoard.js +0 -1
- package/lib/module/games/chameleon-run/ChameleonRunService.js +0 -1
- package/lib/module/games/chameleon-run/ChameleonRunStore.js +0 -1
- package/lib/module/games/chameleon-run/components/GameArea.js +0 -1
- package/lib/module/games/chameleon-run/components/GameBackground.js +0 -1
- package/lib/module/games/chameleon-run/components/ScoreBoard.js +0 -1
- package/lib/module/games/checkers/CheckersService.js +0 -1
- package/lib/module/games/checkers/CheckersStore.js +0 -1
- package/lib/module/games/checkers/components/GameBoard.js +0 -1
- package/lib/module/games/checkers/components/ScoreBoard.js +0 -1
- package/lib/module/games/color-switch/ColorSwitchService.js +0 -1
- package/lib/module/games/color-switch/ColorSwitchStore.js +0 -1
- package/lib/module/games/color-switch/components/GameArea.js +0 -1
- package/lib/module/games/color-switch/components/ScoreBoard.js +0 -1
- package/lib/module/games/colors-sort/ColorsSortService.js +0 -1
- package/lib/module/games/colors-sort/ColorsSortStore.js +0 -1
- package/lib/module/games/colors-sort/components/ColorContainer.js +0 -1
- package/lib/module/games/colors-sort/components/ScoreBoard.js +0 -1
- package/lib/module/games/connect-em-all/ConnectEmAllService.js +0 -1
- package/lib/module/games/connect-em-all/ConnectEmAllStore.js +0 -1
- package/lib/module/games/connect-em-all/components/GameBoard.js +0 -1
- package/lib/module/games/connect-em-all/components/ScoreBoard.js +0 -1
- package/lib/module/games/crossy-road/CrossyRoadService.js +0 -1
- package/lib/module/games/crossy-road/CrossyRoadStore.js +0 -1
- package/lib/module/games/crossy-road/components/GameArea.js +0 -1
- package/lib/module/games/crossy-road/components/ScoreBoard.js +0 -1
- package/lib/module/games/dino-jump/DinoJumpService.js +0 -1
- package/lib/module/games/dino-jump/DinoJumpStore.js +0 -1
- package/lib/module/games/dino-jump/components/DinoSprite.js +0 -1
- package/lib/module/games/dino-jump/components/GameArea.js +0 -1
- package/lib/module/games/dino-jump/components/GameBackground.js +0 -1
- package/lib/module/games/dino-jump/components/ObstacleSprite.js +0 -1
- package/lib/module/games/dino-jump/components/ScoreBoard.js +0 -1
- package/lib/module/games/dino-jump/components/StarSprite.js +0 -1
- package/lib/module/games/dots-and-boxes/DotsAndBoxesService.js +0 -1
- package/lib/module/games/dots-and-boxes/DotsAndBoxesStore.js +0 -1
- package/lib/module/games/dots-and-boxes/components/GameBoard.js +0 -1
- package/lib/module/games/dots-and-boxes/components/ScoreBoard.js +0 -1
- package/lib/module/games/falling-sticks/FallingSticksService.js +0 -1
- package/lib/module/games/falling-sticks/FallingSticksStore.js +0 -1
- package/lib/module/games/falling-sticks/components/GameArea.js +0 -1
- package/lib/module/games/falling-sticks/components/GameBackground.js +0 -1
- package/lib/module/games/falling-sticks/components/ScoreBoard.js +0 -1
- package/lib/module/games/find-different-number/FindDifferentNumberService.js +0 -1
- package/lib/module/games/find-different-number/FindDifferentNumberStore.js +0 -1
- package/lib/module/games/find-different-number/components/GameGrid.js +0 -1
- package/lib/module/games/find-different-number/components/ScoreBoard.js +0 -1
- package/lib/module/games/flappy-bird/FlappyBirdStore.js +0 -1
- package/lib/module/games/flappy-bird/components/Bird.js +0 -1
- package/lib/module/games/flappy-bird/components/GameArea.js +0 -1
- package/lib/module/games/flappy-bird/components/GameBackground.js +0 -1
- package/lib/module/games/flappy-bird/components/Pipes.js +0 -1
- package/lib/module/games/flappy-bird/components/ScoreBoard.js +0 -1
- package/lib/module/games/fruit-merger/FruitMergerService.js +0 -1
- package/lib/module/games/fruit-merger/FruitMergerStore.js +0 -1
- package/lib/module/games/fruit-merger/components/FruitItem.js +0 -1
- package/lib/module/games/fruit-merger/components/GameArea.js +0 -1
- package/lib/module/games/fruit-merger/components/ScoreBoard.js +0 -1
- package/lib/module/games/fruit-ninja/FruitNinjaService.js +0 -1
- package/lib/module/games/fruit-ninja/FruitNinjaStore.js +0 -1
- package/lib/module/games/fruit-ninja/components/FruitComponent.js +0 -1
- package/lib/module/games/fruit-ninja/components/GameArea.js +0 -1
- package/lib/module/games/fruit-ninja/components/GameBackground.js +0 -1
- package/lib/module/games/fruit-ninja/components/ScoreBoard.js +0 -1
- package/lib/module/games/game-2048/Game2048Service.js +0 -1
- package/lib/module/games/game-2048/Game2048Store.js +0 -1
- package/lib/module/games/game-2048/components/GameGrid.js +0 -1
- package/lib/module/games/game-2048/components/ScoreBoard.js +0 -1
- package/lib/module/games/knife-hit/KnifeHitService.js +0 -1
- package/lib/module/games/knife-hit/KnifeHitStore.js +0 -1
- package/lib/module/games/knife-hit/components/GameArea.js +0 -1
- package/lib/module/games/knife-hit/components/ScoreBoard.js +0 -1
- package/lib/module/games/ludo-king/LudoKingService.js +0 -1
- package/lib/module/games/ludo-king/LudoKingStore.js +0 -1
- package/lib/module/games/ludo-king/components/Dice.js +0 -1
- package/lib/module/games/ludo-king/components/GameBoard.js +0 -1
- package/lib/module/games/ludo-king/components/ScoreBoard.js +0 -1
- package/lib/module/games/maze-runner/MazeRunnerStore.js +0 -1
- package/lib/module/games/maze-runner/components/EnhancedBallComponent.js +0 -1
- package/lib/module/games/maze-runner/components/EnhancedGameArea.js +0 -1
- package/lib/module/games/maze-runner/components/ScoreBoard.js +0 -1
- package/lib/module/games/maze-runner/components/SkiaPipeComponent.js +0 -1
- package/lib/module/games/maze-runner/components/WallComponent.js +0 -1
- package/lib/module/games/memory-match/MemoryMatchService.js +0 -1
- package/lib/module/games/memory-match/MemoryMatchStore.js +0 -1
- package/lib/module/games/memory-match/components/Card.js +0 -1
- package/lib/module/games/memory-match/components/GameBoard.js +0 -1
- package/lib/module/games/memory-match/components/ScoreBoard.js +0 -1
- package/lib/module/games/mine-sweeper/MineSweeperService.js +0 -1
- package/lib/module/games/mine-sweeper/MineSweeperStore.js +0 -1
- package/lib/module/games/mine-sweeper/components/GameArea.js +0 -1
- package/lib/module/games/mine-sweeper/components/ScoreBoard.js +0 -1
- package/lib/module/games/mob-control/MobControlService.js +0 -1
- package/lib/module/games/mob-control/MobControlStore.js +0 -1
- package/lib/module/games/mob-control/components/GameArea.js +0 -1
- package/lib/module/games/mob-control/components/ScoreBoard.js +0 -1
- package/lib/module/games/number-search/NumberSearchConstants.js +0 -1
- package/lib/module/games/number-search/NumberSearchService.js +0 -1
- package/lib/module/games/number-search/NumberSearchStore.js +0 -1
- package/lib/module/games/number-search/components/GameBoard.js +0 -1
- package/lib/module/games/number-search/components/NumberList.js +0 -1
- package/lib/module/games/number-search/components/ScoreBoard.js +0 -1
- package/lib/module/games/nuts-and-bolts/NutsAndBoltsService.js +0 -1
- package/lib/module/games/nuts-and-bolts/NutsAndBoltsStore.js +0 -1
- package/lib/module/games/nuts-and-bolts/components/GameBoard.js +0 -1
- package/lib/module/games/nuts-and-bolts/components/ScoreBoard.js +0 -1
- package/lib/module/games/pac-man/PacManService.js +0 -1
- package/lib/module/games/pac-man/PacManStore.js +0 -1
- package/lib/module/games/pac-man/components/GameCanvas.js +0 -1
- package/lib/module/games/pac-man/components/ScoreBoard.js +0 -1
- package/lib/module/games/paper-io/PaperIoService.js +0 -1
- package/lib/module/games/paper-io/PaperIoStore.js +0 -1
- package/lib/module/games/paper-io/components/GameArea.js +0 -1
- package/lib/module/games/paper-io/components/ScoreBoard.js +0 -1
- package/lib/module/games/perfect-circle/PerfectCircleService.js +0 -1
- package/lib/module/games/perfect-circle/PerfectCircleStore.js +0 -1
- package/lib/module/games/perfect-circle/components/DrawingCanvas.js +0 -1
- package/lib/module/games/perfect-circle/components/ScoreBoard.js +0 -1
- package/lib/module/games/pipe-connect/PipeConnectService.js +0 -1
- package/lib/module/games/pipe-connect/PipeConnectStore.js +0 -1
- package/lib/module/games/pipe-connect/components/GameArea.js +0 -1
- package/lib/module/games/pipe-connect/components/ScoreBoard.js +0 -1
- package/lib/module/games/popit-fidget/PopitFidgetService.js +0 -1
- package/lib/module/games/popit-fidget/PopitFidgetStore.js +0 -1
- package/lib/module/games/popit-fidget/components/BubbleComponent.js +0 -1
- package/lib/module/games/popit-fidget/components/FidgetGrid.js +0 -1
- package/lib/module/games/popit-fidget/components/ScoreBoard.js +0 -1
- package/lib/module/games/reversi/ReversiStore.js +0 -1
- package/lib/module/games/reversi/components/GameBoard.js +0 -1
- package/lib/module/games/reversi/components/ScoreBoard.js +0 -1
- package/lib/module/games/sliding-numbers/SlidingNumbersService.js +0 -1
- package/lib/module/games/sliding-numbers/SlidingNumbersStore.js +0 -1
- package/lib/module/games/sliding-numbers/components/NumbersGrid.js +0 -1
- package/lib/module/games/sliding-numbers/components/ScoreBoard.js +0 -1
- package/lib/module/games/snake-3d/Snake3DService.js +0 -1
- package/lib/module/games/snake-3d/Snake3DStore.js +0 -1
- package/lib/module/games/snake-3d/components/GameGrid.js +0 -1
- package/lib/module/games/snake-3d/components/ScoreBoard.js +0 -1
- package/lib/module/games/snakes-and-ladders/SnakesAndLaddersService.js +0 -1
- package/lib/module/games/snakes-and-ladders/SnakesAndLaddersStore.js +0 -1
- package/lib/module/games/snakes-and-ladders/components/Dice.js +0 -1
- package/lib/module/games/snakes-and-ladders/components/GameBoard.js +0 -1
- package/lib/module/games/snakes-and-ladders/components/ScoreBoard.js +0 -1
- package/lib/module/games/space-fighter/SpaceFighterService.js +0 -1
- package/lib/module/games/space-fighter/SpaceFighterStore.js +0 -1
- package/lib/module/games/space-fighter/components/AsteroidComponent.js +0 -1
- package/lib/module/games/space-fighter/components/GameArea.js +0 -1
- package/lib/module/games/space-fighter/components/GameBackground.js +0 -1
- package/lib/module/games/space-fighter/components/ScoreBoard.js +0 -1
- package/lib/module/games/space-fighter/components/Spacecraft3D.js +0 -1
- package/lib/module/games/space-fighter/components/SpacecraftPath.js +0 -1
- package/lib/module/games/spider-solitaire/SpiderSolitaireService.js +0 -1
- package/lib/module/games/spider-solitaire/SpiderSolitaireStore.js +0 -1
- package/lib/module/games/spider-solitaire/components/Card.js +0 -1
- package/lib/module/games/spider-solitaire/components/CardPile.js +0 -1
- package/lib/module/games/spider-solitaire/components/ScoreBoard.js +0 -1
- package/lib/module/games/stack-tower/StackTowerService.js +0 -1
- package/lib/module/games/stack-tower/StackTowerStore.js +0 -1
- package/lib/module/games/stack-tower/components/GameArea.js +0 -1
- package/lib/module/games/stack-tower/components/ScoreBoard.js +0 -1
- package/lib/module/games/sudoku/SudokuService.js +0 -1
- package/lib/module/games/sudoku/SudokuStore.js +0 -1
- package/lib/module/games/sudoku/components/GameArea.js +0 -1
- package/lib/module/games/sudoku/components/ScoreBoard.js +0 -1
- package/lib/module/games/tangram/TangramService.js +0 -1
- package/lib/module/games/tangram/TangramStore.js +0 -1
- package/lib/module/games/tangram/components/GameBoard.js +0 -1
- package/lib/module/games/tangram/components/ScoreBoard.js +0 -1
- package/lib/module/games/tank-1990/Tank1990Service.js +0 -1
- package/lib/module/games/tank-1990/Tank1990Store.js +0 -1
- package/lib/module/games/tank-1990/components/Controls.js +0 -1
- package/lib/module/games/tank-1990/components/GameBoard.js +0 -1
- package/lib/module/games/tank-1990/components/ScoreBoard.js +0 -1
- package/lib/module/games/tic-tac-toe/TicTacToeService.js +0 -1
- package/lib/module/games/tic-tac-toe/TicTacToeStore.js +0 -1
- package/lib/module/games/tic-tac-toe/components/GameBoard.js +0 -1
- package/lib/module/games/tic-tac-toe/components/ScoreBoard.js +0 -1
- package/lib/module/games/tile-home/TileHomeService.js +0 -1
- package/lib/module/games/tile-home/TileHomeStore.js +0 -1
- package/lib/module/games/tile-home/components/AnimatingTile.js +0 -1
- package/lib/module/games/tile-home/components/FlyingTile.js +0 -1
- package/lib/module/games/tile-home/components/GameBoard.js +0 -1
- package/lib/module/games/tile-home/components/ScoreBoard.js +0 -1
- package/lib/module/games/tile-home/components/TileItem.js +0 -1
- package/lib/module/games/tile-home/components/TileSlot.js +0 -1
- package/lib/module/games/whack-a-mole/WhackAMoleService.js +0 -1
- package/lib/module/games/whack-a-mole/WhackAMoleStore.js +0 -1
- package/lib/module/games/whack-a-mole/components/GameBackground.js +0 -1
- package/lib/module/games/whack-a-mole/components/GameGrid.js +0 -1
- package/lib/module/games/whack-a-mole/components/GameHole.js +0 -1
- package/lib/module/games/whack-a-mole/components/MoleCharacter.js +0 -1
- package/lib/module/games/whack-a-mole/components/ScoreBoard.js +0 -1
- package/lib/module/games/word-search/WordSearchConstants.js +0 -1
- package/lib/module/games/word-search/WordSearchService.js +0 -1
- package/lib/module/games/word-search/WordSearchStore.js +0 -1
- package/lib/module/games/word-search/components/GameBoard.js +0 -1
- package/lib/module/games/word-search/components/ScoreBoard.js +0 -1
- package/lib/module/games/word-search/components/WordList.js +0 -1
- package/lib/module/helpers/AnimatedScore.js +0 -1
- package/lib/module/helpers/AnimationFrame.js +0 -1
- package/lib/module/helpers/AnimationTracker.js +0 -1
- package/lib/module/helpers/BlastAnimation.js +0 -1
- package/lib/module/helpers/ErrorHandler.js +0 -1
- package/lib/module/helpers/GameBackgroundPattern.js +0 -1
- package/lib/module/helpers/GameControlButton.js +0 -1
- package/lib/module/helpers/GameOverModal.js +0 -1
- package/lib/module/helpers/GameTimer.js +0 -1
- package/lib/module/helpers/Icons.js +0 -1
- package/lib/module/helpers/ParticleBlast.js +0 -1
- package/lib/module/helpers/ScoreBoardContainer.js +0 -1
- package/lib/module/helpers/assets/apple-fruit.js +0 -1
- package/lib/module/helpers/assets/avocado-item.js +0 -1
- package/lib/module/helpers/assets/banana-fruit.js +0 -1
- package/lib/module/helpers/assets/bomb-item.js +0 -1
- package/lib/module/helpers/assets/broccoli-item.js +0 -1
- package/lib/module/helpers/assets/cherries-fruit.js +0 -1
- package/lib/module/helpers/assets/donut-item.js +0 -1
- package/lib/module/helpers/assets/dragonfruit-item.js +0 -1
- package/lib/module/helpers/assets/fries-item.js +0 -1
- package/lib/module/helpers/assets/fruit-helpers.js +0 -1
- package/lib/module/helpers/assets/grapes-fruit.js +0 -1
- package/lib/module/helpers/assets/icecream-item.js +0 -1
- package/lib/module/helpers/assets/index.js +0 -1
- package/lib/module/helpers/assets/kiwi-fruit.js +0 -1
- package/lib/module/helpers/assets/mango-fruit.js +0 -1
- package/lib/module/helpers/assets/orange-fruit.js +0 -1
- package/lib/module/helpers/assets/papaya-fruit.js +0 -1
- package/lib/module/helpers/assets/papaya-full-fruit.js +0 -1
- package/lib/module/helpers/assets/peach-fruit.js +0 -1
- package/lib/module/helpers/assets/pineapple-fruit.js +0 -1
- package/lib/module/helpers/assets/pomegranate-fruit.js +0 -1
- package/lib/module/helpers/assets/pumpkin-fruit.js +0 -1
- package/lib/module/helpers/assets/raspberry-item.js +0 -1
- package/lib/module/helpers/assets/star-item.js +0 -1
- package/lib/module/helpers/assets/strawberry-fruit.js +0 -1
- package/lib/module/helpers/assets/watermelon-fruit.js +0 -1
- package/lib/module/types.d.js +0 -1
- package/lib/typescript/src/games/arrows/ArrowsService.d.ts +0 -6
- package/lib/typescript/src/games/arrows/ArrowsStore.d.ts +0 -51
- package/lib/typescript/src/games/arrows/components/ArrowsGrid.d.ts +0 -13
- package/lib/typescript/src/games/arrows/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/balloon-blaster/BalloonBlasterService.d.ts +0 -80
- package/lib/typescript/src/games/balloon-blaster/BalloonBlasterStore.d.ts +0 -30
- package/lib/typescript/src/games/balloon-blaster/components/BalloonComponent.d.ts +0 -9
- package/lib/typescript/src/games/balloon-blaster/components/GameArea.d.ts +0 -9
- package/lib/typescript/src/games/balloon-blaster/components/GameBackground.d.ts +0 -7
- package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/bike-racing/BikeRacingService.d.ts +0 -44
- package/lib/typescript/src/games/bike-racing/BikeRacingStore.d.ts +0 -68
- package/lib/typescript/src/games/bike-racing/components/BikeComponent.d.ts +0 -12
- package/lib/typescript/src/games/bike-racing/components/GameBackground.d.ts +0 -7
- package/lib/typescript/src/games/bike-racing/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/block-blast/BlockBlastService.d.ts +0 -16
- package/lib/typescript/src/games/block-blast/BlockBlastStore.d.ts +0 -70
- package/lib/typescript/src/games/block-blast/components/BlockPieceComponent.d.ts +0 -11
- package/lib/typescript/src/games/block-blast/components/GameArea.d.ts +0 -11
- package/lib/typescript/src/games/block-blast/components/GridComponent.d.ts +0 -8
- package/lib/typescript/src/games/block-blast/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/block-breaker/BlockBreakerService.d.ts +0 -88
- package/lib/typescript/src/games/block-breaker/BlockBreakerStore.d.ts +0 -47
- package/lib/typescript/src/games/block-breaker/components/BlastAnimation.d.ts +0 -15
- package/lib/typescript/src/games/block-breaker/components/GameArea.d.ts +0 -8
- package/lib/typescript/src/games/block-breaker/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/bluk/BlukService.d.ts +0 -71
- package/lib/typescript/src/games/bluk/BlukStore.d.ts +0 -52
- package/lib/typescript/src/games/bluk/components/GameArea.d.ts +0 -17
- package/lib/typescript/src/games/bluk/components/GameBackground.d.ts +0 -9
- package/lib/typescript/src/games/bluk/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/bubble-shooter/BubbleShooterService.d.ts +0 -35
- package/lib/typescript/src/games/bubble-shooter/BubbleShooterStore.d.ts +0 -63
- package/lib/typescript/src/games/bubble-shooter/components/GameArea.d.ts +0 -8
- package/lib/typescript/src/games/bubble-shooter/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/candy-crush/CandyCrushService.d.ts +0 -37
- package/lib/typescript/src/games/candy-crush/CandyCrushStore.d.ts +0 -53
- package/lib/typescript/src/games/candy-crush/components/CandyItem.d.ts +0 -11
- package/lib/typescript/src/games/candy-crush/components/GameGrid.d.ts +0 -2
- package/lib/typescript/src/games/candy-crush/components/ScoreBoard.d.ts +0 -5
- package/lib/typescript/src/games/car-racing/CarRacingService.d.ts +0 -44
- package/lib/typescript/src/games/car-racing/CarRacingStore.d.ts +0 -68
- package/lib/typescript/src/games/car-racing/components/CarComponent.d.ts +0 -12
- package/lib/typescript/src/games/car-racing/components/GameBackground.d.ts +0 -7
- package/lib/typescript/src/games/car-racing/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/chameleon-run/ChameleonRunService.d.ts +0 -76
- package/lib/typescript/src/games/chameleon-run/ChameleonRunStore.d.ts +0 -48
- package/lib/typescript/src/games/chameleon-run/components/GameArea.d.ts +0 -8
- package/lib/typescript/src/games/chameleon-run/components/GameBackground.d.ts +0 -7
- package/lib/typescript/src/games/chameleon-run/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/checkers/CheckersService.d.ts +0 -6
- package/lib/typescript/src/games/checkers/CheckersStore.d.ts +0 -48
- package/lib/typescript/src/games/checkers/components/GameBoard.d.ts +0 -6
- package/lib/typescript/src/games/checkers/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/color-switch/ColorSwitchService.d.ts +0 -63
- package/lib/typescript/src/games/color-switch/ColorSwitchStore.d.ts +0 -43
- package/lib/typescript/src/games/color-switch/components/GameArea.d.ts +0 -8
- package/lib/typescript/src/games/color-switch/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/colors-sort/ColorsSortService.d.ts +0 -61
- package/lib/typescript/src/games/colors-sort/ColorsSortStore.d.ts +0 -56
- package/lib/typescript/src/games/colors-sort/components/ColorContainer.d.ts +0 -7
- package/lib/typescript/src/games/colors-sort/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/connect-em-all/ConnectEmAllService.d.ts +0 -20
- package/lib/typescript/src/games/connect-em-all/ConnectEmAllStore.d.ts +0 -48
- package/lib/typescript/src/games/connect-em-all/components/GameBoard.d.ts +0 -7
- package/lib/typescript/src/games/connect-em-all/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/crossy-road/CrossyRoadService.d.ts +0 -89
- package/lib/typescript/src/games/crossy-road/CrossyRoadStore.d.ts +0 -39
- package/lib/typescript/src/games/crossy-road/components/GameArea.d.ts +0 -8
- package/lib/typescript/src/games/crossy-road/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/dino-jump/DinoJumpService.d.ts +0 -39
- package/lib/typescript/src/games/dino-jump/DinoJumpStore.d.ts +0 -97
- package/lib/typescript/src/games/dino-jump/components/DinoSprite.d.ts +0 -2
- package/lib/typescript/src/games/dino-jump/components/GameArea.d.ts +0 -7
- package/lib/typescript/src/games/dino-jump/components/GameBackground.d.ts +0 -7
- package/lib/typescript/src/games/dino-jump/components/ObstacleSprite.d.ts +0 -8
- package/lib/typescript/src/games/dino-jump/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/dino-jump/components/StarSprite.d.ts +0 -2
- package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxesService.d.ts +0 -45
- package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxesStore.d.ts +0 -37
- package/lib/typescript/src/games/dots-and-boxes/components/GameBoard.d.ts +0 -7
- package/lib/typescript/src/games/dots-and-boxes/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/falling-sticks/FallingSticksService.d.ts +0 -40
- package/lib/typescript/src/games/falling-sticks/FallingSticksStore.d.ts +0 -31
- package/lib/typescript/src/games/falling-sticks/components/GameArea.d.ts +0 -7
- package/lib/typescript/src/games/falling-sticks/components/GameBackground.d.ts +0 -6
- package/lib/typescript/src/games/falling-sticks/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/find-different-number/FindDifferentNumberService.d.ts +0 -6
- package/lib/typescript/src/games/find-different-number/FindDifferentNumberStore.d.ts +0 -36
- package/lib/typescript/src/games/find-different-number/components/GameGrid.d.ts +0 -7
- package/lib/typescript/src/games/find-different-number/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/flappy-bird/FlappyBirdStore.d.ts +0 -68
- package/lib/typescript/src/games/flappy-bird/components/Bird.d.ts +0 -2
- package/lib/typescript/src/games/flappy-bird/components/GameArea.d.ts +0 -7
- package/lib/typescript/src/games/flappy-bird/components/GameBackground.d.ts +0 -7
- package/lib/typescript/src/games/flappy-bird/components/Pipes.d.ts +0 -8
- package/lib/typescript/src/games/flappy-bird/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/fruit-merger/FruitMergerService.d.ts +0 -3
- package/lib/typescript/src/games/fruit-merger/FruitMergerStore.d.ts +0 -66
- package/lib/typescript/src/games/fruit-merger/components/FruitItem.d.ts +0 -8
- package/lib/typescript/src/games/fruit-merger/components/GameArea.d.ts +0 -8
- package/lib/typescript/src/games/fruit-merger/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/fruit-ninja/FruitNinjaService.d.ts +0 -73
- package/lib/typescript/src/games/fruit-ninja/FruitNinjaStore.d.ts +0 -38
- package/lib/typescript/src/games/fruit-ninja/components/FruitComponent.d.ts +0 -8
- package/lib/typescript/src/games/fruit-ninja/components/GameArea.d.ts +0 -7
- package/lib/typescript/src/games/fruit-ninja/components/GameBackground.d.ts +0 -7
- package/lib/typescript/src/games/fruit-ninja/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/game-2048/Game2048Service.d.ts +0 -102
- package/lib/typescript/src/games/game-2048/Game2048Store.d.ts +0 -44
- package/lib/typescript/src/games/game-2048/components/GameGrid.d.ts +0 -2
- package/lib/typescript/src/games/game-2048/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/knife-hit/KnifeHitService.d.ts +0 -48
- package/lib/typescript/src/games/knife-hit/KnifeHitStore.d.ts +0 -41
- package/lib/typescript/src/games/knife-hit/components/GameArea.d.ts +0 -8
- package/lib/typescript/src/games/knife-hit/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/ludo-king/LudoKingService.d.ts +0 -33
- package/lib/typescript/src/games/ludo-king/LudoKingStore.d.ts +0 -34
- package/lib/typescript/src/games/ludo-king/components/Dice.d.ts +0 -7
- package/lib/typescript/src/games/ludo-king/components/GameBoard.d.ts +0 -7
- package/lib/typescript/src/games/ludo-king/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/maze-runner/MazeRunnerStore.d.ts +0 -62
- package/lib/typescript/src/games/maze-runner/components/EnhancedBallComponent.d.ts +0 -10
- package/lib/typescript/src/games/maze-runner/components/EnhancedGameArea.d.ts +0 -33
- package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts +0 -24
- package/lib/typescript/src/games/maze-runner/components/SkiaPipeComponent.d.ts +0 -24
- package/lib/typescript/src/games/maze-runner/components/WallComponent.d.ts +0 -9
- package/lib/typescript/src/games/memory-match/MemoryMatchService.d.ts +0 -6
- package/lib/typescript/src/games/memory-match/MemoryMatchStore.d.ts +0 -42
- package/lib/typescript/src/games/memory-match/components/Card.d.ts +0 -6
- package/lib/typescript/src/games/memory-match/components/GameBoard.d.ts +0 -6
- package/lib/typescript/src/games/memory-match/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/mine-sweeper/MineSweeperService.d.ts +0 -22
- package/lib/typescript/src/games/mine-sweeper/MineSweeperStore.d.ts +0 -73
- package/lib/typescript/src/games/mine-sweeper/components/GameArea.d.ts +0 -8
- package/lib/typescript/src/games/mine-sweeper/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/mob-control/MobControlService.d.ts +0 -74
- package/lib/typescript/src/games/mob-control/MobControlStore.d.ts +0 -66
- package/lib/typescript/src/games/mob-control/components/GameArea.d.ts +0 -11
- package/lib/typescript/src/games/mob-control/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/number-search/NumberSearchConstants.d.ts +0 -63
- package/lib/typescript/src/games/number-search/NumberSearchService.d.ts +0 -34
- package/lib/typescript/src/games/number-search/NumberSearchStore.d.ts +0 -70
- package/lib/typescript/src/games/number-search/components/GameBoard.d.ts +0 -7
- package/lib/typescript/src/games/number-search/components/NumberList.d.ts +0 -2
- package/lib/typescript/src/games/number-search/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsService.d.ts +0 -67
- package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsStore.d.ts +0 -45
- package/lib/typescript/src/games/nuts-and-bolts/components/GameBoard.d.ts +0 -7
- package/lib/typescript/src/games/nuts-and-bolts/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/pac-man/PacManService.d.ts +0 -73
- package/lib/typescript/src/games/pac-man/PacManStore.d.ts +0 -89
- package/lib/typescript/src/games/pac-man/components/GameCanvas.d.ts +0 -2
- package/lib/typescript/src/games/pac-man/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/paper-io/PaperIoService.d.ts +0 -70
- package/lib/typescript/src/games/paper-io/PaperIoStore.d.ts +0 -51
- package/lib/typescript/src/games/paper-io/components/GameArea.d.ts +0 -8
- package/lib/typescript/src/games/paper-io/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/perfect-circle/PerfectCircleService.d.ts +0 -15
- package/lib/typescript/src/games/perfect-circle/PerfectCircleStore.d.ts +0 -55
- package/lib/typescript/src/games/perfect-circle/components/DrawingCanvas.d.ts +0 -8
- package/lib/typescript/src/games/perfect-circle/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/pipe-connect/PipeConnectService.d.ts +0 -17
- package/lib/typescript/src/games/pipe-connect/PipeConnectStore.d.ts +0 -31
- package/lib/typescript/src/games/pipe-connect/components/GameArea.d.ts +0 -7
- package/lib/typescript/src/games/pipe-connect/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/popit-fidget/PopitFidgetService.d.ts +0 -30
- package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts +0 -33
- package/lib/typescript/src/games/popit-fidget/components/BubbleComponent.d.ts +0 -10
- package/lib/typescript/src/games/popit-fidget/components/FidgetGrid.d.ts +0 -10
- package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/reversi/ReversiStore.d.ts +0 -46
- package/lib/typescript/src/games/reversi/components/GameBoard.d.ts +0 -6
- package/lib/typescript/src/games/reversi/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/sliding-numbers/SlidingNumbersService.d.ts +0 -6
- package/lib/typescript/src/games/sliding-numbers/SlidingNumbersStore.d.ts +0 -38
- package/lib/typescript/src/games/sliding-numbers/components/NumbersGrid.d.ts +0 -7
- package/lib/typescript/src/games/sliding-numbers/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/snake-3d/Snake3DService.d.ts +0 -29
- package/lib/typescript/src/games/snake-3d/Snake3DStore.d.ts +0 -49
- package/lib/typescript/src/games/snake-3d/components/GameGrid.d.ts +0 -2
- package/lib/typescript/src/games/snake-3d/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLaddersService.d.ts +0 -22
- package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLaddersStore.d.ts +0 -40
- package/lib/typescript/src/games/snakes-and-ladders/components/Dice.d.ts +0 -7
- package/lib/typescript/src/games/snakes-and-ladders/components/GameBoard.d.ts +0 -2
- package/lib/typescript/src/games/snakes-and-ladders/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/space-fighter/SpaceFighterService.d.ts +0 -117
- package/lib/typescript/src/games/space-fighter/SpaceFighterStore.d.ts +0 -54
- package/lib/typescript/src/games/space-fighter/components/AsteroidComponent.d.ts +0 -9
- package/lib/typescript/src/games/space-fighter/components/GameArea.d.ts +0 -9
- package/lib/typescript/src/games/space-fighter/components/GameBackground.d.ts +0 -6
- package/lib/typescript/src/games/space-fighter/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/space-fighter/components/Spacecraft3D.d.ts +0 -11
- package/lib/typescript/src/games/space-fighter/components/SpacecraftPath.d.ts +0 -9
- package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireService.d.ts +0 -23
- package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireStore.d.ts +0 -71
- package/lib/typescript/src/games/spider-solitaire/components/Card.d.ts +0 -10
- package/lib/typescript/src/games/spider-solitaire/components/CardPile.d.ts +0 -12
- package/lib/typescript/src/games/spider-solitaire/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/stack-tower/StackTowerService.d.ts +0 -51
- package/lib/typescript/src/games/stack-tower/StackTowerStore.d.ts +0 -52
- package/lib/typescript/src/games/stack-tower/components/GameArea.d.ts +0 -8
- package/lib/typescript/src/games/stack-tower/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/sudoku/SudokuService.d.ts +0 -24
- package/lib/typescript/src/games/sudoku/SudokuStore.d.ts +0 -65
- package/lib/typescript/src/games/sudoku/components/GameArea.d.ts +0 -8
- package/lib/typescript/src/games/sudoku/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/tangram/TangramService.d.ts +0 -6
- package/lib/typescript/src/games/tangram/TangramStore.d.ts +0 -34
- package/lib/typescript/src/games/tangram/components/GameBoard.d.ts +0 -7
- package/lib/typescript/src/games/tangram/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/tank-1990/Tank1990Service.d.ts +0 -80
- package/lib/typescript/src/games/tank-1990/Tank1990Store.d.ts +0 -48
- package/lib/typescript/src/games/tank-1990/components/Controls.d.ts +0 -2
- package/lib/typescript/src/games/tank-1990/components/GameBoard.d.ts +0 -2
- package/lib/typescript/src/games/tank-1990/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/tic-tac-toe/TicTacToeService.d.ts +0 -0
- package/lib/typescript/src/games/tic-tac-toe/TicTacToeStore.d.ts +0 -51
- package/lib/typescript/src/games/tic-tac-toe/components/GameBoard.d.ts +0 -6
- package/lib/typescript/src/games/tic-tac-toe/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/tile-home/TileHomeService.d.ts +0 -1
- package/lib/typescript/src/games/tile-home/TileHomeStore.d.ts +0 -57
- package/lib/typescript/src/games/tile-home/components/AnimatingTile.d.ts +0 -9
- package/lib/typescript/src/games/tile-home/components/FlyingTile.d.ts +0 -16
- package/lib/typescript/src/games/tile-home/components/GameBoard.d.ts +0 -7
- package/lib/typescript/src/games/tile-home/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/tile-home/components/TileItem.d.ts +0 -11
- package/lib/typescript/src/games/tile-home/components/TileSlot.d.ts +0 -7
- package/lib/typescript/src/games/whack-a-mole/WhackAMoleService.d.ts +0 -32
- package/lib/typescript/src/games/whack-a-mole/WhackAMoleStore.d.ts +0 -39
- package/lib/typescript/src/games/whack-a-mole/components/GameBackground.d.ts +0 -7
- package/lib/typescript/src/games/whack-a-mole/components/GameGrid.d.ts +0 -10
- package/lib/typescript/src/games/whack-a-mole/components/GameHole.d.ts +0 -11
- package/lib/typescript/src/games/whack-a-mole/components/MoleCharacter.d.ts +0 -6
- package/lib/typescript/src/games/whack-a-mole/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/word-search/WordSearchConstants.d.ts +0 -63
- package/lib/typescript/src/games/word-search/WordSearchService.d.ts +0 -34
- package/lib/typescript/src/games/word-search/WordSearchStore.d.ts +0 -70
- package/lib/typescript/src/games/word-search/components/GameBoard.d.ts +0 -7
- package/lib/typescript/src/games/word-search/components/ScoreBoard.d.ts +0 -6
- package/lib/typescript/src/games/word-search/components/WordList.d.ts +0 -2
- package/lib/typescript/src/helpers/AnimatedScore.d.ts +0 -36
- package/lib/typescript/src/helpers/AnimationFrame.d.ts +0 -40
- package/lib/typescript/src/helpers/AnimationTracker.d.ts +0 -44
- package/lib/typescript/src/helpers/BlastAnimation.d.ts +0 -16
- package/lib/typescript/src/helpers/ErrorHandler.d.ts +0 -123
- package/lib/typescript/src/helpers/GameBackgroundPattern.d.ts +0 -7
- package/lib/typescript/src/helpers/GameControlButton.d.ts +0 -11
- package/lib/typescript/src/helpers/GameOverModal.d.ts +0 -15
- package/lib/typescript/src/helpers/GameTimer.d.ts +0 -26
- package/lib/typescript/src/helpers/Icons.d.ts +0 -12
- package/lib/typescript/src/helpers/ParticleBlast.d.ts +0 -11
- package/lib/typescript/src/helpers/ScoreBoardContainer.d.ts +0 -85
- package/lib/typescript/src/helpers/assets/apple-fruit.d.ts +0 -4
- package/lib/typescript/src/helpers/assets/avocado-item.d.ts +0 -4
- package/lib/typescript/src/helpers/assets/banana-fruit.d.ts +0 -4
- package/lib/typescript/src/helpers/assets/bomb-item.d.ts +0 -4
- package/lib/typescript/src/helpers/assets/broccoli-item.d.ts +0 -4
- package/lib/typescript/src/helpers/assets/cherries-fruit.d.ts +0 -4
- package/lib/typescript/src/helpers/assets/donut-item.d.ts +0 -4
- package/lib/typescript/src/helpers/assets/dragonfruit-item.d.ts +0 -4
- package/lib/typescript/src/helpers/assets/fries-item.d.ts +0 -4
- package/lib/typescript/src/helpers/assets/fruit-helpers.d.ts +0 -154
- package/lib/typescript/src/helpers/assets/grapes-fruit.d.ts +0 -4
- package/lib/typescript/src/helpers/assets/icecream-item.d.ts +0 -4
- package/lib/typescript/src/helpers/assets/index.d.ts +0 -31
- package/lib/typescript/src/helpers/assets/kiwi-fruit.d.ts +0 -4
- package/lib/typescript/src/helpers/assets/mango-fruit.d.ts +0 -4
- package/lib/typescript/src/helpers/assets/orange-fruit.d.ts +0 -4
- package/lib/typescript/src/helpers/assets/papaya-fruit.d.ts +0 -4
- package/lib/typescript/src/helpers/assets/papaya-full-fruit.d.ts +0 -4
- package/lib/typescript/src/helpers/assets/peach-fruit.d.ts +0 -4
- package/lib/typescript/src/helpers/assets/pineapple-fruit.d.ts +0 -4
- package/lib/typescript/src/helpers/assets/pomegranate-fruit.d.ts +0 -4
- package/lib/typescript/src/helpers/assets/pumpkin-fruit.d.ts +0 -4
- package/lib/typescript/src/helpers/assets/raspberry-item.d.ts +0 -4
- package/lib/typescript/src/helpers/assets/star-item.d.ts +0 -4
- package/lib/typescript/src/helpers/assets/strawberry-fruit.d.ts +0 -4
- package/lib/typescript/src/helpers/assets/watermelon-fruit.d.ts +0 -4
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";!function(){const e=_0x2501,t=_0x1f55();for(;;)try{if(581859==parseInt(e(288,"6cWK"))/1+parseInt(e(276,"hcS5"))/2*(parseInt(e(272,"V3Eu"))/3)+parseInt(e(278,"f5CX"))/4*(parseInt(e(297,"L!!%"))/5)+parseInt(e(274,"Ty#$"))/6*(-parseInt(e(304,"f5CX"))/7)+-parseInt(e(317,"1QDd"))/8*(-parseInt(e(271,"EVw["))/9)+-parseInt(e(262,"4OZh"))/10*(-parseInt(e(277,"u!gE"))/11)+-parseInt(e(312,"B$wP"))/12)break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import{create}from"zustand";import{subscribeWithSelector}from"zustand/middleware";function _0x1f55(){const e=["W4T4W5JdNCoZDmkLDa","ixugWPNdLt8ZnmosdbHHhdK","eSkgnSkhW4CrWP0","W4ZdV8khACor","o2HhrN0vW6RdR8k1WP7cSCoN","W5lcV8kObIWBW77cVa","v1iqycHaWOq3g8kKWQ8","FYfgyINdUmksWRFcTLVdPa","ngiWWO8qWRFcM8kUEmkuECoyaq","jwZcPrhdIG","W6qtod9nWOnJWOBcIG","W5hdMCk4C8ob","W5JdVCkfFSoJWOBdQq","Ae8WgwC","AapcUZ1xWR9xcSoyv8k4W5i","teSxoge","BbmKtCkVgCogW4nvefjFWPe","WQXQgSorW6m","AHeHrmkTgCoeW4HMleL4WOW","zZzLW5jRW7JdJCkL","lSotvSoIW7f9hSoCyXJcQfe","W6DSa8kGWODjW5S","WRVdSJCiDaHo","WQtcRmoKBhfUCxtdIa7cOa","cgJcJN4xW69SW6bVlGdcUa","W7dcS3v6aJjMW6VcLCkD","WPXvW7xdULb+WP4TW6q","jd7dUCoKWPuFWQlcGSk2ECkPWRe","W4T+WQxcJ8kfu8kYwCoeWRRdPq","o1FdQtSyW4xcON0xcCkvWRO","E8osWO1zimk8WOddS03cPvBcSa","WOpcG8odCuS","uLmyAs4rW7eQamkfWQldN0u","Dc1yW4NcRhTMDG","AsryW5TfW7FdGCk5sW","ESkcc8k+WPyQeW","lLzXh8o0FmksW4HTpuTC","BCkgfmk9WQqMcCoYsHJcSh0","WRlcKmoowLG","CZrNW4vb","m8odWRJdTtGMWRCYWPpdSZNdQmkyjW","W48GW5RcS3/dSvO3oM1X","CIa3zmkZoCkTWPHUxMu","ydHuW4/cIe9VA8oDlWC","fq5pjKPnWRa1mCkYWO4","jCkol8kCWOy/la","W6JdKclcJCoxmJ3cNLSXW5uPwq","WPdcLxJdQqJdU0j7qI/cQWe","DmkqnSk3WQa8fmoFqG","kuT9gCont8kAW5T3oK1CWRm","WOTch8o4W6u","DCk1W7xcPNC","nMu7WOCrWR7dRmkAw8kxzCou","W4G9W5BcTuBdLLS5mgHRsmk+","W7dcSa4SmdzcW4O","yCoDW7dcJCoYWObGra","DHBcOG","tCkBhmkUW68pWQbFoG","WRldTIiShZT/W6ZcL8kLWOe","ofhdTc8y","DCoiW7ZcI8owWQbGrmo9WPDHja","xCkyamoxW55MW50iW7rSbCkpW5O"];return(_0x1f55=function(){return e})()}import{immerMiddleware}from"../../services/UtilsService.js";function _0x2501(e,t){e-=260;const o=_0x1f55();let r=o[e];if(void 0===_0x2501.yvQnER){const e=function(e,t){let o,r,n=[],W=0,s="";for(e=function(e){let t="",o="";for(let o,r,n=0,W=0;r=e.charAt(W++);~r&&(o=n%4?64*o+r:r,n++%4)?t+=String.fromCharCode(255&o>>(-2*n&6)):0)r="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(r);for(let e=0,r=t.length;e<r;e++)o+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(o)}(e),r=0;r<256;r++)n[r]=r;for(r=0;r<256;r++)W=(W+n[r]+t.charCodeAt(r%t.length))%256,o=n[r],n[r]=n[W],n[W]=o;r=0,W=0;for(let t=0;t<e.length;t++)r=(r+1)%256,W=(W+n[r])%256,o=n[r],n[r]=n[W],n[W]=o,s+=String.fromCharCode(e.charCodeAt(t)^n[(n[r]+n[W])%256]);return s};_0x2501.pXNkyO=e,_0x2501.eKrrDw={},_0x2501.yvQnER=!0}const n=o[0];_0x2501.oRSJDT!==n&&(_0x2501.eKrrDw={},_0x2501.oRSJDT=n);const W=_0x2501.eKrrDw[e];return void 0===W?(void 0===_0x2501.rBucpk&&(_0x2501.rBucpk=!0),r=_0x2501.pXNkyO(r,t),_0x2501.eKrrDw[e]=r):r=W,r}import{STACK_TOWER_TIME_LIMIT}from"./StackTowerConstants.js";export const useStackTowerStore=create()(subscribeWithSelector(immerMiddleware(e=>({score:0,timeRemaining:STACK_TOWER_TIME_LIMIT,isPlaying:!1,gameOver:!1,gameWon:!1,stackBlocks:[],stackVersion:0,level:0,perfectCount:0,showPerfect:!1,startGame:t=>{e(e=>{const o=_0x2501;e[o(275,"eS[9")]=0,e.timeRemaining=t,e[o(306,"4OZh")]=!0,e[o(305,"uK)p")]=!1,e.gameWon=!1,e.level=0,e[o(301,"BaVE")]=0,e[o(316,"f5CX")]=!1})},stopGame:()=>{e(e=>{e[_0x2501(282,"UYXX")]=!1})},resetGame:()=>{e(e=>{const t=_0x2501;e[t(311,"4OZh")]=0,e[t(263,"lr#g")]=STACK_TOWER_TIME_LIMIT,e[t(298,"5JwF")]=!1,e.gameOver=!1,e[t(284,"eS[9")]=!1,e.stackBlocks=[],e[t(286,"*GxL")]=0,e[t(287,"OR$x")]=0,e[t(299,"0obx")]=0,e[t(279,"k4rR")]=!1})},updateScore:t=>{e(e=>{e[_0x2501(275,"eS[9")]=e.score+t})},updateTimeRemaining:t=>{e(e=>{const o=_0x2501;e[o(321,"6cWK")]=Math[o(266,"*GxL")](0,e.timeRemaining+t)})},setGameOver:()=>{e(e=>{const t=_0x2501;e.gameOver=!0,e[t(267,"Ty#$")]=!1})},setGameWon:()=>{e(e=>{const t=_0x2501;e.gameWon=!0,e[t(265,"Vkmt")]=!0,e.isPlaying=!1})},addStackBlock:t=>{const o=_0x2501,r={HaQDj:function(e,t){return e+t},Fftkv:function(e,t){return e(t)}};r[o(260,"D#y4")](e,e=>{const n=o;e[n(268,"L!!%")].push(t),e[n(308,"6cWK")]=r[n(285,"OR$x")](e[n(296,"Xt2d")],1)})},setStackBlocks:t=>{e(e=>{const o=_0x2501;if("TGHjj"!==o(303,"NJku"))return _0x5ea183.timeRemaining;e[o(313,"lr#g")]=t,e.stackVersion=e[o(270,"Vkmt")]+1})},incrementLevel:()=>{const t={aNqBp:function(e,t){return e+t},aGlun:function(e,t){return e(t)}};t.aGlun(e,e=>{const o=_0x2501;e[o(281,"7H]6")]=t[o(289,"D#y4")](e.level,1)})},setPerfectCount:t=>{e(e=>{e[_0x2501(309,"1QDd")]=t})},setShowPerfect:t=>{e(e=>{e[_0x2501(314,"bK]J")]=t})}}))));export const useScore=()=>useStackTowerStore(_temp);export const useTimeRemaining=()=>({VicaT:function(e,t){return e(t)}}[_0x2501(261,"*ht5")](useStackTowerStore,_temp2));export const useIsPlaying=()=>useStackTowerStore(_temp3);export const useGameOver=()=>useStackTowerStore(_temp4);export const useGameWon=()=>useStackTowerStore(_temp5);export const useStackBlocks=()=>({nEPhu:function(e,t){return e(t)}}[_0x2501(283,"eS[9")](useStackTowerStore,_temp6));export const useStackVersion=()=>({eTEAy:function(e,t){return e(t)}}[_0x2501(310,"NJku")](useStackTowerStore,_temp7));export const useLevel=()=>useStackTowerStore(_temp8);export const useShowPerfect=()=>useStackTowerStore(_temp9);function _temp(e){return e[_0x2501(269,"BaVE")]}function _temp2(e){return e[_0x2501(321,"6cWK")]}function _temp3(e){return e[_0x2501(320,"1QDd")]}function _temp4(e){return e[_0x2501(291,"4OZh")]}function _temp5(e){return e[_0x2501(307,"1QDd")]}function _temp6(e){return e[_0x2501(315,"uK)p")]}function _temp7(e){return e[_0x2501(319,"]YXT")]}function _temp8(e){return e.level}function _temp9(e){return e[_0x2501(295,"NJku")]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const _0x3929eb=_0x2941;!function(){const e=_0x2941,t=_0xd30d();for(;;)try{if(157337==-parseInt(e(536,"Itop"))/1+-parseInt(e(563,"i[Gu"))/2+parseInt(e(561,"ZY$m"))/3*(-parseInt(e(587,"wyAz"))/4)+parseInt(e(450,"%VSh"))/5*(parseInt(e(399,"jCaX"))/6)+-parseInt(e(579,"LlR$"))/7+-parseInt(e(472,"[UFF"))/8+parseInt(e(567,"h4hC"))/9)break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import{c as _0x46e93d}from"react/compiler-runtime";import _0x3bfcf5 from"react";import{View,Text,StyleSheet}from"react-native";import{Gesture,GestureDetector}from"react-native-gesture-handler";import _0x5139e7,{useSharedValue,useAnimatedStyle,runOnJS,FadeOut,ZoomIn}from"react-native-reanimated";import{Canvas,Rect,Path,Skia,LinearGradient,vec,Group}from"@shopify/react-native-skia";import{useStackTowerStore,useShowPerfect}from"../StackTowerStore.js";import{STACK_TOWER_GAME_CONFIG,BLOCK_COLORS,GRID_HEIGHT}from"../StackTowerConstants.js";import{ParticleBlast}from"../../../helpers/index.js";import{getGameDimensions}from"../../../services/UtilsService.js";import{lighten as _0x3218f1,darken as _0x29e47b}from"../../../services/GamesConstants.js";import{jsx as _0x4cccd4,jsxs as _0x297fda,Fragment as _0x19ffc6}from"react/jsx-runtime";const{screenWidth:screenWidth}=getGameDimensions(),DEPTH=STACK_TOWER_GAME_CONFIG[_0x3929eb(645,"lgpU")],BLOCK_H=STACK_TOWER_GAME_CONFIG.BLOCK_HEIGHT,INITIAL_BW=STACK_TOWER_GAME_CONFIG.INITIAL_BLOCK_WIDTH,STACK_CANVAS_HEIGHT=Math[_0x3929eb(603,"08*8")](Math[_0x3929eb(383,"Yqy1")](2*GRID_HEIGHT),200),BLOCK_3D_COLORS=BLOCK_COLORS[_0x3929eb(435,"%VSh")](e=>({top:_0x3218f1(e,.4),front:e,frontBottom:_0x29e47b(e,.12),side:_0x29e47b(e,.25),sideBottom:_0x29e47b(e,.4),bottom:_0x29e47b(e,.35)})),makeBlockPaths=e=>{const t=_0x3929eb,o={};o[t(575,"HIN#")]=function(e,t){return e+t};const W=o,n=Skia[t(627,"Yqy1")][t(619,"%VSh")]();n[t(409,"hpvv")](0,DEPTH),n.lineTo(DEPTH,0),n.lineTo(e+DEPTH,0),n[t(448,"(T$Q")](e,DEPTH),n.close();const r=Skia[t(446,"Gry&")][t(547,"lgpU")]();r[t(598,"VTpu")](e,DEPTH),r[t(586,"]F62")](W[t(650,"jCaX")](e,DEPTH),0),r.lineTo(e+DEPTH,BLOCK_H),r.lineTo(e,DEPTH+BLOCK_H),r[t(473,"Ps3&")]();const a={};return a[t(513,"VTpu")]=n,a.rightPath=r,a},getBlockPaths=(e,t)=>{const o=_0x3929eb;let W=t[o(602,"9kV9")](e);return W||(W={gtcKV:function(e,t){return e(t)}}[o(443,"[q(1")](makeBlockPaths,e),t[o(551,"]F62")](e,W),W)},buildBlockSkia=(e,t)=>{const o=_0x3929eb,W={Tdqms:function(e,t){return e-t},yVcrg:function(e,t,o){return e(t,o)},DGECY:function(e,t,o){return e(t,o)},ZKIza:function(e,t){return e+t}},n=BLOCK_COLORS[o(622,"LhPE")](e.color),r=BLOCK_3D_COLORS[n>=0?n:0],a=Math[o(367,"YyWX")](e.width,1),{topPath:x,rightPath:d}=getBlockPaths(a,t),s={};s[o(484,"RbzS")]=e.x;const _={};return _[o(531,"hpvv")]=x,_[o(569,"HIN#")]=r.top,_0x297fda(Group,{transform:[s,{translateY:W.Tdqms(e.y,DEPTH)}],children:[_0x4cccd4(Path,_),_0x4cccd4(Path,{path:d,children:_0x4cccd4(LinearGradient,{start:W[o(648,"fuZK")](vec,a,0),end:W[o(462,"nXB@")](vec,W[o(644,"ygFa")](a,DEPTH),0),colors:[r[o(578,"#TJS")],r[o(398,"wyAz")]]})}),_0x4cccd4(Rect,{x:0,y:DEPTH,width:a,height:BLOCK_H,children:_0x4cccd4(LinearGradient,{start:vec(0,DEPTH),end:vec(0,DEPTH+BLOCK_H),colors:[r.front,r.frontBottom]})}),_0x4cccd4(Rect,{x:0,y:DEPTH,width:a,height:2,color:o(420,"Ltpv")})]},e.id)},StackBlocksCanvas=_0x3bfcf5[_0x3929eb(447,"LhrM")](({cameraOffsetY:e})=>{const t="HaSw",o=_0x3929eb,W={};W[o(511,"K61g")]=function(e,t){return e!==t},W[o(468,"hpvv")]="PHqDb",W[o(492,"[UFF")]=function(e,t){return e<t};const n=W,[r,a]=_0x3bfcf5[o(533,"VTpu")](0),x=_0x3bfcf5[o(523,"08*8")](new Map),d=_0x3bfcf5[o(395,"L!h%")]([]),s=_0x3bfcf5.useRef(0);_0x3bfcf5[o(540,"jCaX")](()=>{const e=o,t=useStackTowerStore[e(410,"L!h%")](t=>t[e(471,"MbGw")],()=>{a(e=>e+1)});return()=>{const o=e;n[o(474,"$ZjM")](n[o(596,"M[!)")],"PHqDb")||(t(),x.current[o(386,"fgkJ")]())}},[]);const _={};_.translateY=e.value;const f=useAnimatedStyle(()=>({transform:[_]})),{blockElements:i,groupOffsetY:u,viewTopOffset:S}=_0x3bfcf5[o(521,"Ltpv")](()=>{const e=o,W=useStackTowerStore[e(537,"i[Gu")]()[e(656,"RbzS")];if(0===W.length){d.current=[],s.current=0;const t={blockElements:[]};return t[e(560,"08*8")]=0,t[e(558,"Ltpv")]=0,t}const r=x[e(553,"7s(q")];let a=W[0].y;for(let o=1;o<W[e(633,t)];o++)n[e(570,"#TJS")](W[o].y,a)&&(a=W[o].y);const _=-a+DEPTH+BLOCK_H,f=s[e(658,"h4hC")];if(W[e(487,"nXB@")]<f){const o=W[e(647,"PYNp")](e=>buildBlockSkia(e,r));d[e(550,"z!mD")]=o,s[e(655,t)]=W[e(628,"Ltpv")]}else if(W[e(404,"M[!)")]>f){for(let t=f;n[e(604,"$ZjM")](t,W[e(624,"%VSh")]);t++)d[e(636,"RbzS")][e(599,"9kV9")](buildBlockSkia(W[t],r));s.current=W[e(614,"$ZjM")]}const i={};return i[e(549,"z!mD")]=d.current,i[e(629,"h4hC")]=_,i[e(441,"Itop")]=-_,i},[r]),h=_0x3bfcf5[o(572,"8he8")](()=>({top:S}),[S]),l={};l[o(494,"nXB@")]=u;const m={};return m[o(566,"hpvv")]=[l],m[o(436,"LhrM")]=i,_0x4cccd4(_0x5139e7[o(542,"nXB@")],{style:[styles[o(376,"fgkJ")],h,f],children:_0x4cccd4(Canvas,{style:styles[o(370,"MbGw")],pointerEvents:o(623,"VTpu"),children:_0x4cccd4(Group,m)})})});StackBlocksCanvas[_0x3929eb(467,"gs2Y")]=_0x3929eb(615,"z!mD");const MovingBlockView=_0x3bfcf5[_0x3929eb(617,"8he8")](({movingX:e,movingY:t,movingWidth:o,movingOpacity:W,cameraOffsetY:n})=>{const r="7s(q",a=_0x3929eb,x={kOjtS:a(483,"!aou"),DYtZZ:function(e,t){return e(t)},CVMFL:function(e,t){return e+t},AgJgM:function(e,t,o){return e(t,o)},Tqsje:function(e,t,o){return e(t,o)},qwTYQ:function(e,t,o){return e(t,o)}},[d,s]=_0x3bfcf5.useState(0);_0x3bfcf5[a(432,"$nE)")](()=>{const e=a;if(e(505,"hpvv")!==x[e(613,"HaSw")])return useStackTowerStore[e(403,"%VSh")](t=>t[e(573,"[UFF")],e=>{s(e)});_0x5358a3[e(527,"fuZK")]()},[]);const _={};_.translateX=e[a(640,"K61g")];const f={};f[a(426,"]F62")]=t[a(475,"$ZjM")]+n[a(493,"ZY$m")]-DEPTH;const i=x[a(594,"Gry&")](useAnimatedStyle,()=>({transform:[_,f],opacity:W[a(642,"Ltpv")]})),u=_0x3bfcf5.useRef(new Map);_0x3bfcf5.useEffect(()=>()=>{u[_0x2941(574,"VTpu")].clear()},[]);const{colors3d:S,bw:h,paths:l}=_0x3bfcf5[a(534,"08*8")](()=>{const e=a,t=d%BLOCK_COLORS[e(565,"ygFa")],W=Math.max(o[e(564,"nXB@")],1);return{colors3d:BLOCK_3D_COLORS[t],bw:W,paths:getBlockPaths(W,u[e(391,"jCaX")])}},[d]),m=Math[a(466,r)](h+DEPTH+1,1),b=x[a(495,"lgpU")](DEPTH,BLOCK_H),k={};k.width=m,k[a(555,"HIN#")]=b;const P={};P.width=m,P.height=b;const C={};return C.path=l[a(606,"9kV9")],C[a(425,"fuZK")]=S[a(442,"MbGw")],_0x4cccd4(_0x5139e7[a(618,r)],{style:[movingBlockStyles[a(584,"K61g")],k,i],children:x[a(444,"92UQ")](_0x297fda,Canvas,{style:P,pointerEvents:a(452,"i[Gu"),children:[x.Tqsje(_0x4cccd4,Path,C),_0x4cccd4(Path,{path:l[a(368,"HIN#")],children:_0x4cccd4(LinearGradient,{start:x.AgJgM(vec,h,0),end:vec(h+DEPTH,0),colors:[S[a(371,"Ltpv")],S.sideBottom]})}),x[a(478,"VTpu")](_0x4cccd4,Rect,{x:0,y:DEPTH,width:h,height:BLOCK_H,children:_0x4cccd4(LinearGradient,{start:vec(0,DEPTH),end:vec(0,DEPTH+BLOCK_H),colors:[S.front,S.frontBottom]})}),x[a(384,"[UFF")](_0x4cccd4,Rect,{x:0,y:DEPTH,width:h,height:2,color:a(592,"LhPE")})]})})});MovingBlockView[_0x3929eb(653,"fgkJ")]=_0x3929eb(583,"jCaX");const _0x2ddead={position:"absolute"},_0x45bf88={};_0x45bf88[_0x3929eb(590,"Cz^9")]=_0x2ddead;const movingBlockStyles=StyleSheet[_0x3929eb(385,"ygFa")](_0x45bf88),PerfectIndicator=_0x3bfcf5[_0x3929eb(417,"wyAz")](()=>{const e="$nE)",t=_0x3929eb,o={gQWBS:t(515,"$ZjM"),SyolB:function(e,t,o){return e(t,o)},kXtQp:function(e,t){return e!==t}},W=_0x46e93d(6);if(!useShowPerfect())return null;let n,r,a,x,d;if(W[0]===Symbol.for(o.gQWBS)){n=ZoomIn[t(548,"gs2Y")](250)[t(461,e)](),r=FadeOut[t(423,"fgkJ")](300);const d={};d[t(554,"fgkJ")]=styles.perfectText,d.children=t(434,"RbzS"),a=_0x4cccd4(Text,d);const s={};s[t(510,"HIN#")]=styles[t(455,"UYEL")],x=o[t(373,"LhrM")](_0x4cccd4,View,s),W[0]=n,W[1]=r,W[2]=a,W[3]=x}else n=W[0],r=W[1],a=W[2],x=W[3];if(o.kXtQp(W[4],n)){const o={};o[t(610,e)]=styles[t(654,"YyWX")],o.entering=n,o.exiting=r,o[t(486,"!aou")]=[a,x],d=_0x297fda(_0x5139e7[t(571,"wyAz")],o),W[4]=n,W[5]=d}else{if("mZwcs"!==t(626,"K61g")){const e=[..._0x2f8917,_0x27e66e];return e[t(538,"(owc")]>3?e[t(516,"lgpU")](-3):e}d=W[5]}return d});PerfectIndicator[_0x3929eb(545,"Yqy1")]=_0x3929eb(477,"8he8");const MemoizedBlast=_0x3bfcf5[_0x3929eb(363,"m2]r")](e=>{const t=_0x3929eb,o={aKdyj:function(e,t){return e(t)},GiVnt:t(544,"m2]r"),WFpzd:function(e,t){return e!==t},WeVcd:t(517,"gs2Y"),TxhoN:"wsqlY"},W=o[t(381,"08*8")](_0x46e93d,10),{blast:n,onComplete:r}=e;let a,x,d;if(W[0]!==n.color?(a=[n.color,o[t(463,"K61g")],n[t(438,"h4hC")]],W[0]=n[t(458,"]F62")],W[1]=a):a=W[1],W[2]!==n.id||W[3]!==r?(x=()=>r(n.id),W[2]=n.id,W[3]=r,W[4]=x):x=W[4],W[5]!==n.x||W[6]!==n.y||W[7]!==a||o.WFpzd(W[8],x))if("QRNKu"===o[t(428,"YyWX")])_0x3acf9f=()=>{if(0===_0x5c33fc.length)return;const e=_0x43e10f(()=>{_0x53f2d9([])},2e3);return()=>_0x7830de(e)},_0x4275cf=[_0x37ffbb[t(487,"nXB@")]],_0x2c56c6[2]=_0x885f8[t(565,"ygFa")],_0x57f7c4[3]=_0x2aacf0,_0x4ea884[4]=_0x1d3c15;else{const e={};e.x=n.x,e.y=n.y,e.colors=a,e.particleCount=5,e.duration=400,e[t(499,"nXB@")]=x,d=_0x4cccd4(ParticleBlast,e),W[5]=n.x,W[6]=n.y,W[7]=a,W[8]=x,W[9]=d}else o.TxhoN!=o.TxhoN?_0x3f46d6.stopPhysicsLoop():d=W[9];return d});MemoizedBlast.displayName=_0x3929eb(408,"HaSw");const BlastEffectsLayer=_0x3bfcf5[_0x3929eb(411,"MbGw")](e=>{const t=_0x3929eb,o={remcl:function(e,t){return e(t)},xTWEK:"OzHVx",hSGBg:function(e,t){return e<=t},fFsUR:function(e,t){return e-t},sXdfZ:function(e,t){return e/t},zMJyF:function(e,t){return e(t)},aiKBJ:t(528,"[q(1"),goSCx:function(e,t){return e!==t},jikEq:function(e,t){return e===t},nzwqz:function(e,t){return e===t},pVOac:function(e,t,o){return e(t,o)}},W=_0x46e93d(13),{cameraOffsetY:n}=e;let r;W[0]===Symbol[t(402,"08*8")](o[t(529,"$ZjM")])?(r=[],W[0]=r):r=W[0];const[a,x]=_0x3bfcf5[t(490,"%VSh")](r);let d;W[1]===Symbol[t(524,"Yqy1")]("react.memo_cache_sentinel")?(d=e=>{const W=t;o[W(456,"Itop")](x,t=>t[W(413,"M[!)")](t=>t.id!==e))},W[1]=d):d=W[1];const s=d;let _,f,i,u,S,h;if(o[t(377,"YyWX")](W[2],a.length)?(_=()=>{const e=t;if(o.xTWEK!==e(608,"hpvv")){if(0===a[e(421,"!aou")])return;const t=setTimeout(()=>{x([])},2e3);return()=>clearTimeout(t)}_0x8b6c43=_0x472b16[0]},f=[a.length],W[2]=a.length,W[3]=_,W[4]=f):(_=W[3],f=W[4]),_0x3bfcf5[t(388,"Ps3&")](_,f),W[5]!==n?(i=()=>{const e=t,W={};W[e(552,"#TJS")]=function(e,t){return e>t};const r=W;let a=!0;const d=useStackTowerStore[e(401,"M[!)")](_temp,()=>{const t=e;if(!a)return;const W=useStackTowerStore[t(429,"(T$Q")]()[t(439,"Ps3&")];if(o.hSGBg(W.length,1))return;const d=W[o[t(451,"HIN#")](W[t(504,"92UQ")],1)];if(!d)return;const s=d.y+o[t(405,"[q(1")](d[t(605,"$nE)")],2)+n.value,_={id:t(366,"(owc")+Date[t(639,"Yqy1")]()+"-"+d.id,x:d.x+o[t(634,"ZY$m")](d.width,2),y:s,color:d[t(491,"LhrM")]};o[t(489,"Itop")](x,e=>{const o=t;if(o(518,"HIN#")===o(485,"ygFa")){const t=[...e,_];return r.RwYQj(t[o(638,"ZY$m")],3)?t[o(556,"Gry&")](-3):t}for(let e=_0x360390;e<_0x3e37b7[o(525,"LhPE")];e++)_0x2284b6[o(465,"LhrM")][o(501,"LlR$")](_0xf27353(_0x58bc33[e],_0x463db4));_0x31731e[o(601,"hpvv")]=_0x2f32c.length})});return()=>{a=!1,d()}},u=[n],W[5]=n,W[6]=i,W[7]=u):(i=W[6],u=W[7]),_0x3bfcf5[t(576,"$ZjM")](i,u),o[t(611,"08*8")](a[t(433,"MbGw")],0))return null;if(o[t(424,"RbzS")](W[8],a)){let e;o[t(591,"h4hC")](W[10],Symbol.for(o[t(593,"Ltpv")]))?t(507,"9kV9")!==t(412,"ZY$m")?(_0x4b120c=[],_0x38aa52[0]=_0x1af931):(e=e=>_0x4cccd4(MemoizedBlast,{blast:e,onComplete:s},e.id),W[10]=e):e=W[10],S=a[t(532,"$nE)")](e),W[8]=a,W[9]=S}else S=W[9];if(W[11]!==S){const e={};e.children=S,h=o[t(437,"wyAz")](_0x4cccd4,_0x19ffc6,e),W[11]=S,W[12]=h}else h=W[12];return h});BlastEffectsLayer[_0x3929eb(581,"#TJS")]=_0x3929eb(577,"ygFa");const FADE_HEIGHT=60,FadeOverlay=_0x3bfcf5[_0x3929eb(422,"z!mD")](()=>{const e=_0x3929eb,t={};t[e(390,"$nE)")]=e(657,"Ltpv");const o=t,W=_0x46e93d(1);let n;return W[0]===Symbol.for(e(445,"9kV9"))?(n=_0x4cccd4(View,{style:styles[e(643,"$ZjM")],pointerEvents:o[e(498,"9kV9")],children:_0x4cccd4(Canvas,{style:styles.fadeCanvas,children:_0x4cccd4(Rect,{x:0,y:0,width:screenWidth,height:60,children:_0x4cccd4(LinearGradient,{start:vec(0,0),end:vec(0,60),colors:[e(459,"#TJS"),e(481,"nXB@"),e(496,"RbzS")]})})})}),W[0]=n):n=W[0],n});FadeOverlay[_0x3929eb(632,"VTpu")]=_0x3929eb(406,"!aou");const GameAreaComponent=({gameService:e})=>{const t=_0x3929eb,o={vlbJz:function(e,t){return e!==t},kObEA:function(e,t){return e(t)},SgYEg:function(e,t,o){return e(t,o)},pevWr:function(e,t,o){return e(t,o)},rlpeD:function(e,t,o){return e(t,o)}},W=useSharedValue(0),n=useSharedValue(0),r=useSharedValue(INITIAL_BW),a=o.kObEA(useSharedValue,0),x=useSharedValue(0);_0x3bfcf5[t(621,"#TJS")](()=>{const o=t,d={};d.x=W,d.y=n,d[o(582,"YyWX")]=r,d[o(488,"(T$Q")]=a,e.registerMovingBlockSharedValues(d);const s={};s[o(430,"ygFa")]=x,e[o(365,"HIN#")](s)},[e,W,n,r,a,x]);const d=_0x3bfcf5[t(476,"RbzS")](!1);_0x3bfcf5[t(431,"L!h%")](()=>{const e=t;return d.current=useStackTowerStore.getState()[e(374,"hpvv")],useStackTowerStore[e(469,"Ltpv")](t=>t[e(392,"nXB@")],t=>{d[e(522,"(T$Q")]=t})},[]);const s=_0x3bfcf5[t(502,"[UFF")](e);s[t(480,"$nE)")]=e;const _=_0x3bfcf5[t(419,"Gry&")](()=>{const e=t;d[e(503,"9kV9")]&&s[e(460,"lZbG")][e(519,"VTpu")]()},[]);_0x3bfcf5[t(393,"m2]r")](()=>{const W=t;return useStackTowerStore[W(375,"Gry&")](e=>e[W(400,"fgkJ")],t=>{const n=W;if(t)e[n(440,"h4hC")]();else{if(o[n(500,"Ltpv")]("Afzbc",n(449,"z!mD"))){const e=_0x5e701a[n(382,"[UFF")](e=>e.stackVersion,()=>{_0x1fdb17(e=>e+1)});return()=>{e(),_0x256e3a.current.clear()}}e.stopPhysicsLoop()}})},[e]);const f=_0x3bfcf5.useMemo(()=>{const e=t;return Gesture[e(546,"8he8")]()[e(520,"RbzS")](()=>{runOnJS(_)()})},[_]),i={};i.cameraOffsetY=x;const u={};u[t(631,"LhPE")]=W,u[t(535,"]F62")]=n,u[t(512,"$ZjM")]=r,u[t(380,"LhrM")]=a,u[t(387,"!aou")]=x;const S={};return S[t(453,"%VSh")]=x,_0x4cccd4(GestureDetector,{gesture:f,children:o[t(508,"%VSh")](_0x4cccd4,View,{style:styles.container,children:o[t(543,"Ps3&")](_0x297fda,View,{style:styles[t(637,"LhrM")],children:[_0x4cccd4(StackBlocksCanvas,i),o[t(568,"nXB@")](_0x4cccd4,MovingBlockView,u),o[t(378,"HIN#")](_0x4cccd4,PerfectIndicator,{}),_0x4cccd4(BlastEffectsLayer,S),o.rlpeD(_0x4cccd4,FadeOverlay,{})]})})})},_0x2d9690={};function _0x2941(e,t){e-=363;const o=_0xd30d();let W=o[e];if(void 0===_0x2941.HwPvOi){const e=function(e,t){let o,W,n=[],r=0,a="";for(e=function(e){let t="",o="";for(let o,W,n=0,r=0;W=e.charAt(r++);~W&&(o=n%4?64*o+W:W,n++%4)?t+=String.fromCharCode(255&o>>(-2*n&6)):0)W="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(W);for(let e=0,W=t.length;e<W;e++)o+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(o)}(e),W=0;W<256;W++)n[W]=W;for(W=0;W<256;W++)r=(r+n[W]+t.charCodeAt(W%t.length))%256,o=n[W],n[W]=n[r],n[r]=o;W=0,r=0;for(let t=0;t<e.length;t++)W=(W+1)%256,r=(r+n[W])%256,o=n[W],n[W]=n[r],n[r]=o,a+=String.fromCharCode(e.charCodeAt(t)^n[(n[W]+n[r])%256]);return a};_0x2941.VOqaqS=e,_0x2941.RndObL={},_0x2941.HwPvOi=!0}const n=o[0];_0x2941.taMTFA!==n&&(_0x2941.RndObL={},_0x2941.taMTFA=n);const r=_0x2941.RndObL[e];return void 0===r?(void 0===_0x2941.UDglXp&&(_0x2941.UDglXp=!0),W=_0x2941.VOqaqS(W,t),_0x2941.RndObL[e]=W):W=r,W}_0x2d9690.flex=1;const _0x531e2c={};_0x531e2c[_0x3929eb(509,"!aou")]=1,_0x531e2c[_0x3929eb(470,"jCaX")]=screenWidth,_0x531e2c.overflow=_0x3929eb(416,"$nE)");const _0x5ae2bb={};_0x5ae2bb[_0x3929eb(562,"(T$Q")]=_0x3929eb(497,"LlR$"),_0x5ae2bb[_0x3929eb(539,"(owc")]=screenWidth,_0x5ae2bb.height=STACK_CANVAS_HEIGHT;const _0x3ad373={};_0x3ad373.width=screenWidth,_0x3ad373[_0x3929eb(414,"L!h%")]=STACK_CANVAS_HEIGHT;const _0x2f5f7a={};_0x2f5f7a[_0x3929eb(394,"Ps3&")]="absolute",_0x2f5f7a.bottom=0,_0x2f5f7a[_0x3929eb(616,"(owc")]=0,_0x2f5f7a[_0x3929eb(585,"(T$Q")]=0,_0x2f5f7a[_0x3929eb(612,"z!mD")]=60;const _0x14e670={};_0x14e670[_0x3929eb(652,"MbGw")]=screenWidth,_0x14e670[_0x3929eb(600,"K61g")]=60;const _0x2f6c80={};_0x2f6c80[_0x3929eb(364,"L!h%")]=_0x3929eb(580,"fgkJ"),_0x2f6c80[_0x3929eb(514,"(T$Q")]=.32*GRID_HEIGHT,_0x2f6c80[_0x3929eb(630,"YyWX")]=0,_0x2f6c80.right=0,_0x2f6c80[_0x3929eb(415,"jCaX")]=_0x3929eb(407,"M[!)"),_0x2f6c80[_0x3929eb(389,"ZY$m")]=20;const _0x26a1fa={};_0x26a1fa[_0x3929eb(582,"YyWX")]=0,_0x26a1fa.height=0;const _0x4e5196={};_0x4e5196[_0x3929eb(588,"(T$Q")]=32,_0x4e5196[_0x3929eb(530,"wyAz")]=_0x3929eb(506,"ZY$m"),_0x4e5196[_0x3929eb(651,"!aou")]=_0x3929eb(369,"Yqy1"),_0x4e5196[_0x3929eb(526,"Itop")]="rgba(255, 215, 0, 0.6)",_0x4e5196.textShadowOffset=_0x26a1fa,_0x4e5196[_0x3929eb(457,"[UFF")]=12,_0x4e5196.letterSpacing=3;const _0x6eca7d={};function _0xd30d(){const e=["W4FcQvSHWRpdOq","fHjTFG","Aeqwpw0H","WQdcLtOowcP1","aqjQ","emoQrq","WO/cLIDtwa","n03cLSkRWOFdJq","eGHUrLtdJmkH","C1uEow4dWQT3WPiDkgS","WRNcRd0XFG","WQmFWOtdJ33dMaBcNCorW4j6W79KotBcKq","lfZcHSkGWOO","f8oIvLSJ","WPbyWRpcVLji","rWpcOr16","WQtcSb59rGm","WQTjWRVcULf+DbyPeraXWPpdG3NcTSoQ","jmkLh0y","WP5NAKK","rCk7hbS","W4q4W5X2","cCoKtq","mc7dHmkCWQGHemo9W7i","g8o2CCkCW6XCea","W4tcQumH","W6u8W5L0W5Wl","WQpdOWecW6ayzvy","BxSioxy","W4CdcxK","WOTuWQCOeSoL","rb15iSkot8khWOhcSSoyWR87","oCokWRr7","h8o3y8kqW7P0lG","W47cR140WOVdR2m9W7ddKNK","qcNcPq5Dsq","WRtcQxVdTmoD","W65AWQ3dKCkQu8k5WQpcTahcTCog","wubPd2ZdUmo2","WPmgoYDwt8oFW7dcKs8mWOK6","WQVcLhhdTCoZW4u","W7KncG","DKatl2a","W5FcUa8dWOCYb8kyW4Dgi2q","WPfqWQu6aW","WQ7cTbr/Fr12W4mvfmoW","o8oKWReZWQe","W5pcMdOPW68+uKfVWPL6","W7ddMhXnc3XuFSo9ds5S","WRiiW6K","WQOSWPxdM38","vmkZfaNcL8kxW50N","W5VdUg5GWQ0","jh84FuK","pmomW5udW50","W6z7rConfCosWRtdIaFdJCoX","jCokWQbPltmplNpcPZ7dR8kKWPhdT8oq","tZNcUrTmt3W","suf6hMldLmoUW4RcMgxcIW","WOLEWQCQ","qbPKjCkBBSkv","hCkfsse","lczJomklW6FcL8oI","ESk7W4RcImofW7/dNmoem8kKW7pdVCoLWRhdTbbFWOhdSSkkWR1Fncz4WPm","kSkSgehcQbO","omooWQO","ESk3W4RcICocW5VdMmocga","WRqKo1xdKwui","omorW5auW54fWQSrWQ7cH8k5","WPryWQ0Q","j8ogWRvNpa","WQmEoJ11","WQRcKXGqxd1Ox8ox","WO7cPmoCymorymkIWPhdKW","W7fMv8oEeSoWWQldQbldGCo9W7z9AG","mSoaWOfmma","ESkYW53cHmoY","ngq1CvbOgSk8W6JcRLFcKhH0","WP0iiZHzw8ohW7lcKtWvWPGX","hmoawwC4","ECo6W7nFWPXigSk7Cq","W6unch/cGG","xSo+W6jgWPO","aSoDWP0OWRtdKW","W6f+u8oCcW","jhe5D0LkoSk0W7RcVfVcIKq","WPFdU1nWW5DHeSkwW7K","WR3cUhhdTSoIW5u","ch7cKSkMWRC","W7xdRL99WQaJnW","ESo3psxcLZZcJ8kyW7a","bCktqqSFW7m/W6lcQG","WPldP0vCW4vUgmkB","ktP1a8kAW6G","iCoMqf3dOmotW4eNcCoXpWG","uCoUahZcJNBcUCkp","W5H2W6ZdGMODW4q3WPKz","WQddIvXxWPWggq","W6THzSorgmokWQtdQae","WOdcTg/cVtFcGMdcTMC","g8oKtW","W7OSW5vGW4SrWODDW5G","WP/cPgpcQsdcMa","WPFcGSo8WRnS","axeWD3rDemkGW7dcRKC","WPdcPgpcUJhcGG","ysNcPGzaw23dGLSwpwej","WQ7cJZ4zAsS","lZXYiSkCW7ZcKCoUWOe","jSoaW5Wy","WR3cVvFdNSoe","WPxcQghcUJhcGG","ncX5nSkxW7O","W7FdT0rOWQSen8oqWRPL","n0hcM8kOWORdLW","W4z6W6xdIa","ubT3nmkvq8kaWONcT8oCWRG","WOJcOSoBumotFSkNWPhdL2Xt","WPvwWQSUtSk/vSo+xmkFzxhcJCoVWPe5wadcGCkldq","k3u6Du9d","WPvyWRFcTG","W6zNrmoCdCoAWQldQa","xvPipNe","WRavWPRdHMO","WPiWoYuXW5bPcCkiBG","WPPsWQ7cRvvr","aSokWOrSla","EfjQWQFcRh4Hwq","dSojWP46WQxdGSoL","ktP1fmkzW6JcNCoVWPa","kLVcMSkjWONdN8kEW5xdMG","j8oaW58qW4eU","4PQBfuS4w8oqW4FdPSkVl8oy4PUx","W6q4W4C","WPmppd1ttSoTW6W","W5TjW4FdHKS","qab6omkm","WPhdVfDwW5Pfg8kAW658mG","ubT3jCkkumkjWP7cSSouWQGrdgn8eq","W63dPCoRW5XNrmoGWQlcGbG0W6hdGa","p8okW4e","WOpcRSo7WP5G","e1OLBSkL","faj/DuhcLSkKWODBfg9YWRmQsmkmWObUW6/dGCo4FHNcHCoR","WQ3cSmokEW","WP0cod4","C15WWPhcJha","WRLBWQdcU1K","WRXPWO4LWP5wWP5sW7DsW5Cf","BSkyW57cTmoK","xSoJhxy","W6O4W5P2W5OcWQfzW5TWW5aEWPC","WPryWRZcRq","kmoBW4FdHmkKW6LOW5SoW4RdQG","W6NdQCoJW4HF","FSoQW6LyWQXseSk9EYaAWPhdH8k2W79T","WOuTnIqW","ms/dGmk3WR03fmoSW6mJEq","eKddLY8Ha3K","lfJcJCkLWOhdNSksW5ddLW","v8odkaRcRW","r0GPnhe","WQ3dNSo/W7nQymok","WPmsjYnsuSo8","FSkZaq","WRb1kCofW7pcN8olsfzMpa","WQRcOsWyta","WPreWQS8bCo/cSkPfq","W6hdSKL7WQ0","omorW5auW54qWQ8nWQVcJ8kLW7e","oCk3WQuDW4KcjSkwws0nWR0","WOhdPfLgW5q","WPdcLWftrq","WR7cTbXVvW","t0z+l2ZdSa","WQnNDuddRg8gWOL4WOPbmmkAnNxdUW","W5VcSxKDWRy","WOqJosaLW45Ncmkdu8kofCknxKq","pf3cJCk+WORdL8kp","yCoJdYJdNNFdKmoAWRDfWPvHfCoCWRnqkCoFavJdPG","b8k8sYRdLtddV8k/rCkcW61kW6O","iuKdyhC","tKD6e3RdUSoJW5hcNLy","eCoMWRayWRm","jhG9FL9zemk8","F8oHaY7cGI0","CeD/WPFcSwSS","W6hdGCoeW5j1","W7WQW5jaW5WcWPPA","WPmiot5f","tComW4zLWPu","WRhcKhpdP8oI","z8o2dcFcHsNcH8kcW7iU","W5lcGJGSW6G","sfj5hchcPmk0WONdMZZdJLRcQSkkD0JdT3T8W45I","r8o4sqncWPpcOtq","mtfZFg0","FmoQlIBcMZxcISktW6ms","WPfDWQSfha","vSoVsqq","F8o8W7r+WPPC","brjSzfddLSk9","pLGbBSkCWOO","WPVcUJi6DW","WQxcNNpdTG","hcTwwNy","W5O+W65wW48","ixWXAG","E8kQW5tcJCot","wgmoe3i","WQxcUGzZxaXeW5GDaCoH","W57cQv0uWOBdUNi","A1HU","WRRcSbf5rKv+W5qugSowWOpcJKqVW4ldR8kxw8oaguz4sSoo","W6lcUbWjW4e","WOfummoWW7K","EmkxW6xcSmof","W5RcQKWNWOldJhyCW7ldLa","vvTicwJdPmo2","WPjcWQWca8oGda","FejSWOBcVxeH","cmo4weW3W7m","W7endW","hSo9E8kEW6b7","W6/dQCo2W59Gq8oXWONcIqKeW6VdMfXV","WQaoWPFdM2ZdQXRcP8onW4vTW61bodZcKW","WPBcV8o5WRzcWPNcKSkpW6GCWRaaWQmzq8oOWPhcOwShCgCdo3y","WQNcVdTyEa","W41WW6BdK38xW5KKWP4a","WRpcGtWu","mKNcJW","W5/cTuGxWPpdR24w","cmo4wfm3W7HC","WOSTlciSW5Tr","WQRcUSk7WPKgeSo4WOBcOsSVW6e","v8oPb0dcLMlcUCkp","jmkLf1xcQf8","p8kPhuBcTa","W6pdQeHkWQmRjSowWQm","Cmo2ccJcGIa","rCoTcd4","WRhdR29WW5y","u8kgqIGFW7m8","W7mldMhcIJrbyHf3CG","WQDJDW","W5ZcTr4p","WRbPkmouW6VcL8oDAa","WPPrWRxcULf5DbWNhW0gWOe","WPTiWQJcQ19sBa","WPuNlG","fYRdUmkiWQq","CmkNcX7cS8klW4W","W7fMt8orha","ymk7W4tcHSoEW78","WO7cVCoxCmox","l0FcJmkLWPVdKmkuW5G","WPfyWQW4mSoIe8kefSoliYhdLq","jh86zLPcg8k3W64","gSo5uMSIW5PvW64CWPddULC","W7xdHMVdUSodW5tdQWO","B1HTWP3cRhy6uG","aSk4sIldLdxcTmklEmkqW7nk","zCoLatZcKW","dCokWPyUWRtdNG","WRFcKIKstIjUq8oD","ff8UBSojm8otWRlcRCoeWPW4mW","y8oHgX7cHa","A8kXW4hcJSoe","aH7dTSkqWQq","W712W63dKa","WOzXyMVdRgeD","zSoQW6DjWPm","W4NcS182WOldOg4","rCk9W67cJSoE","WR3cPHvFva12W5in","i8odWPK6WRtdS8oAW4LFBefGWQbvW754ua","nJtdHCk8","emkUc1WDW5/cMZv8W54MWOW","W6nWrCosfCogWRNdOW","ittdKSkPWQiMdmoqW6CGAa","iSogWRz7ia","W5VdTfTMWQSQaCozWRH1W4VcQ8okW5Sp","y04rlMq8WQbGWPm","Bv55WPZcRa","WOORnc4wW5m","WPOSWRZcKrPgW7isWPKwW7jX","EvHWWOdcI3yVwq","uWPKmCkBy8kvWQdcRCosWRW","n8k3WQddQ8kMFsvXW6e","trvHjSke","amo/D8kyWRWHq2NcKsG1nSkoASkMDWFcMXlcNmoJ","WOzyWOinla","WRNcImoksCoO","aaz6C3RdJSkSWPbAgKK","WPRcGgNcQIu","WQRcLhldVq"];return(_0xd30d=function(){return e})()}_0x6eca7d[_0x3929eb(557,"$nE)")]=_0x3929eb(397,"i[Gu"),_0x6eca7d[_0x3929eb(620,"08*8")]=-8,_0x6eca7d[_0x3929eb(454,"z!mD")]="25%",_0x6eca7d[_0x3929eb(372,"YyWX")]="25%",_0x6eca7d[_0x3929eb(427,"z!mD")]=-8,_0x6eca7d.borderRadius=20,_0x6eca7d[_0x3929eb(479,"]F62")]="rgba(255, 215, 0, 0.12)";const _0x553c98={};_0x553c98[_0x3929eb(559,"!aou")]=_0x2d9690,_0x553c98.canvasWrapper=_0x531e2c,_0x553c98[_0x3929eb(379,"!aou")]=_0x5ae2bb,_0x553c98[_0x3929eb(418,"h4hC")]=_0x3ad373,_0x553c98[_0x3929eb(595,"9kV9")]=_0x2f5f7a,_0x553c98.fadeCanvas=_0x14e670,_0x553c98[_0x3929eb(609,"fuZK")]=_0x2f6c80,_0x553c98.perfectText=_0x4e5196,_0x553c98[_0x3929eb(589,"h4hC")]=_0x6eca7d;const styles=StyleSheet[_0x3929eb(541,"nXB@")](_0x553c98);export const GameArea=_0x3bfcf5[_0x3929eb(597,"ZY$m")](GameAreaComponent);function _temp(e){return e[_0x3929eb(607,"K61g")]}GameArea.displayName=_0x3929eb(649,"7s(q");
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const _0x452669=_0x13a0;function _0x13a0(r,e){r-=450;const t=_0x31ad();let o=t[r];if(void 0===_0x13a0.UwUlFR){const r=function(r,e){let t,o,n=[],a=0,x="";for(r=function(r){let e="",t="";for(let t,o,n=0,a=0;o=r.charAt(a++);~o&&(t=n%4?64*t+o:o,n++%4)?e+=String.fromCharCode(255&t>>(-2*n&6)):0)o="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(o);for(let r=0,o=e.length;r<o;r++)t+="%"+("00"+e.charCodeAt(r).toString(16)).slice(-2);return decodeURIComponent(t)}(r),o=0;o<256;o++)n[o]=o;for(o=0;o<256;o++)a=(a+n[o]+e.charCodeAt(o%e.length))%256,t=n[o],n[o]=n[a],n[a]=t;o=0,a=0;for(let e=0;e<r.length;e++)o=(o+1)%256,a=(a+n[o])%256,t=n[o],n[o]=n[a],n[a]=t,x+=String.fromCharCode(r.charCodeAt(e)^n[(n[o]+n[a])%256]);return x};_0x13a0.LeazQL=r,_0x13a0.FkMRVS={},_0x13a0.UwUlFR=!0}const n=t[0];_0x13a0.kHPahA!==n&&(_0x13a0.FkMRVS={},_0x13a0.kHPahA=n);const a=_0x13a0.FkMRVS[r];return void 0===a?(void 0===_0x13a0.DQpSBc&&(_0x13a0.DQpSBc=!0),o=_0x13a0.LeazQL(o,e),_0x13a0.FkMRVS[r]=o):o=a,o}!function(){const r=_0x13a0,e=_0x31ad();for(;;)try{if(404251==-parseInt(r(484,"2]2P"))/1+-parseInt(r(459,"z&0M"))/2+-parseInt(r(475,"v!rL"))/3*(-parseInt(r(461,"kSAQ"))/4)+parseInt(r(455,"gK6l"))/5*(-parseInt(r(470,"Xbi@"))/6)+parseInt(r(476,"WjGr"))/7+-parseInt(r(462,"h^FM"))/8+-parseInt(r(465,"vE@g"))/9*(-parseInt(r(481,"rg$&"))/10))break;e.push(e.shift())}catch(r){e.push(e.shift())}}();import{c as _0x24b2e5}from"react/compiler-runtime";import _0x42184b from"react";import{View}from"react-native";import{ScoreBoardContainer,ScoreValue,ScoreTimer,scoreBoardStyles as _0x58466d}from"../../../helpers/index.js";function _0x31ad(){const r=["lSoSmYymW5zDldVcKgHu","dmo+W7ZcLH0","W5VcMayEdW","tG7cUCoIWPL3qM3cOSob","DX7dJmoGWRK","WO3dU8oeW5Wk","r8kFEgtcJa","WOO7WQJcS8ke","WOpdQh/dQCosWRJdIq","WQlcNu7cULW","WQpdVxPmvfJcIwC9tCo4FSoV","WQxdTxDfwGxdHN8pz8oT","W7ddKSoRqmoVuZv9nf3cIbG","W67cJs7dGaG","W6TMt8kWn8oqW4Cgdmkxhq","WQDPW6BcP8oEkbdcKCoRl19jWP8","C8oHWRCtW7q","WPDdeH95cs3dMG","mtVdK8kPW540i8otade","W4JdQGL/","gYFcNmkzB13cN07cJSkv","W7O4iSk8WRWydSow","WPVcMCkdeCk/","W6xdIHhdUGJcNctcO8k5Frvgta","W6uNrIFdG8oYWOBcLKhdMCkLtq","W7jAW5ddQ8owuY8YbI16WRib","W7y8rCoTW6POm8oUkmkSW6XR","jYlcLCkyB2S","W6lcVmoZW6SyeWtdJG","W6iUtMldLCkBvCkHWRxdOgddNXK","W4jlot5e","W6ldIrBdVaRcNYtcUCkHyYLNsq","A8orga","W6tcQc0BaGJdGW","rmotWR82fYXxfquUEq","WQLntmoxy1GvW78YaqC","rCkyW7zrhG"];return(_0x31ad=function(){return r})()}import{useScore,useTimeRemaining}from"../StackTowerStore.js";import{jsx as _0x149186,jsxs as _0x1f07a1}from"react/jsx-runtime";export const ScoreBoard=_0x42184b[_0x452669(466,"RDr*")](r=>{const e=_0x452669,t={sYxqx:function(r,e,t){return r(e,t)},akqcx:function(r){return r()},LUHjc:function(r,e){return r!==e},ShQxF:function(r,e){return r!==e},ZpaUp:e(469,"z&0M"),uoOMR:function(r,e){return r!==e},AQRka:function(r,e){return r===e},fwxcB:"TwYZg",nLnFQ:function(r,e){return r!==e},LJqOn:function(r,e,t){return r(e,t)}},o=_0x24b2e5(10),{offset:n}=r,a=void 0===n?0:n,x=t[e(451,"R&Bs")](useScore),d=useTimeRemaining();let i,s,W,f;if(t[e(486,"f]^m")](o[0],x)){const r={};r[e(456,"Xbi@")]=x,i=_0x149186(ScoreValue,r),o[0]=x,o[1]=i}else i=o[1];if(t[e(460,"wRSg")](o[2],d)){const r={};r[e(480,"f]^m")]=d,s=_0x149186(ScoreTimer,r),o[2]=d,o[3]=s}else if(t[e(454,"Id2j")](t[e(452,"v!rL")],e(463,"VP^b"))){const r={};r[e(477,"$BS*")]=_0x215ce8,_0x3418f5=t[e(453,"Ponk")](_0x3c6e90,_0x221381,r),_0x299cbc[0]=_0x1f55d6,_0x10a980[1]=_0x1dd6b2}else s=o[3];if(t[e(483,"Cfa#")](o[4],i)||o[5]!==s){const r={};r[e(485,"4JRC")]=_0x58466d[e(479,"UxFf")],r.children=[i,s],W=_0x1f07a1(View,r),o[4]=i,o[5]=s,o[6]=W}else t.AQRka("TwYZg",t.fwxcB)?W=o[6]:_0x5323d8=_0x4b0b2[9];if(t.nLnFQ(o[7],a)||o[8]!==W){const r={};r[e(474,"JaK8")]=a,r[e(464,"Ybml")]=W,f=t.LJqOn(_0x149186,ScoreBoardContainer,r),o[7]=a,o[8]=W,o[9]=f}else f=o[9];return f});ScoreBoard[_0x452669(482,"eSR&")]=_0x452669(467,"JaK8");
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const _0x337171=_0x53b1;function _0x53b1(t,W){t-=213;const o=_0x220e();let e=o[t];if(void 0===_0x53b1.abEnBi){const t=function(t,W){let o,e,r=[],d=0,n="";for(t=function(t){let W="",o="";for(let o,e,r=0,d=0;e=t.charAt(d++);~e&&(o=r%4?64*o+e:e,r++%4)?W+=String.fromCharCode(255&o>>(-2*r&6)):0)e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(e);for(let t=0,e=W.length;t<e;t++)o+="%"+("00"+W.charCodeAt(t).toString(16)).slice(-2);return decodeURIComponent(o)}(t),e=0;e<256;e++)r[e]=e;for(e=0;e<256;e++)d=(d+r[e]+W.charCodeAt(e%W.length))%256,o=r[e],r[e]=r[d],r[d]=o;e=0,d=0;for(let W=0;W<t.length;W++)e=(e+1)%256,d=(d+r[e])%256,o=r[e],r[e]=r[d],r[d]=o,n+=String.fromCharCode(t.charCodeAt(W)^r[(r[e]+r[d])%256]);return n};_0x53b1.fAxzgf=t,_0x53b1.CUHfDj={},_0x53b1.abEnBi=!0}const r=o[0];_0x53b1.sAPJbY!==r&&(_0x53b1.CUHfDj={},_0x53b1.sAPJbY=r);const d=_0x53b1.CUHfDj[t];return void 0===d?(void 0===_0x53b1.jnfpyH&&(_0x53b1.jnfpyH=!0),e=_0x53b1.fAxzgf(e,W),_0x53b1.CUHfDj[t]=e):e=d,e}!function(){const t=_0x53b1,W=_0x220e();for(;;)try{if(171017==parseInt(t(308,"$Zvo"))/1+parseInt(t(301,"@NB]"))/2*(-parseInt(t(288,"sR!p"))/3)+-parseInt(t(310,"YWJ@"))/4*(-parseInt(t(215,"kg9M"))/5)+-parseInt(t(284,"o(UR"))/6+parseInt(t(294,"7[18"))/7*(parseInt(t(223,"z8$j"))/8)+parseInt(t(259,"TnA*"))/9+parseInt(t(230,"QvB^"))/10)break;W.push(W.shift())}catch(t){W.push(W.shift())}}();import{useSudokuStore}from"./SudokuStore.js";import{SUDOKU_GAME_CONFIG}from"./SudokuConstants.js";function _0x220e(){const t=["WRBdNmoBW7xcRMNdGf7dHW","WODGWRddRe9SW4ZcTCo9","omktWPVdLKG/WO5R","WR9yWPCj","WQ0MW4NcULy","tCokg0qDW7ddUmoMW5W","ASk8w8oFdW","W5ldLSotxZuNy8oM","zCkUWPVcV8oaWQRdTSo+WPq","ACkOtCorh3LZnMtcM2maW6HhmLn/W6G/","W75PtN85c8kSkdjk","B8kFE8oxha","lqddMCooWQavd0RdIa5Zbq","umoCwSogW6a","ECogWQ7cT2DXd20ZW5q","hCk7W5mVW4a/WPe1WPFdI8oVWRGruMJdQq","W53dOd/cN8onpG","W6iJW4ldGh0","lb0gW4RcIa","W7bVimkLW6tcLZ/cUmkfhgBdRq","W5u9wSkEWONdOIZdTLi","A0XEWOBdLufXW5FcJ8otWPlcTW","rd4AW4z0","WR/dPCkxW7/dP8kBW5FdNG","W57cHmkGs8oxeSk6nG","W5GRBSkdWO3dQdS","E8klDSo8iG","W6rIwuO9c8kSesLJWRmwW63dHXZcVs4JtYm","WQjgWOH6","W6xdLCojWPldGmkpWPpcSW","WO7dHCkLWRddVI9mzSoNWQ0D","F8k5WR0","W71cAvdcJSopWPGvW4ddJs3cNa","W4i1W73dMKr0W6tcHmoUWPpdUe8","WOhdKwCTmHxdIW5hgapdLCoAxra","W6JcHmojW4FcReFdHf4","WPbhW5BdMCoLxty2W5OoWOOZ","bmkiemkXmehdMcqGWP7cImkx","WPlcHmo6AYu","W7mqW6BcNmoRW5VdLxxcHq","rCoFrmo0BttdHYibWRxcMmkXW4VdMx3cGSkcW752","WRddR8kXACox","WQqmWO7dMCkx","W7ZcNColWQfJWPxcGgJdKmkuWQyI","FvtcGSkwW6u","FIRcMCoiCSkX","WOXbW6tdNSoUvaqyW4y","CmkZWR8MASkU","WRtdTaBdG8o2W4JcU8oUWRLvxq","WOvDW4ZdKG","dmkYW5GOW4qr","WRe/BCoXW4ZcSH3cRSkCkG","W5xdKmoeWRRdVG","WQOuW4VcR2RcPCkhof3cTb0","WRCfW4hcQNlcPCkxpL7cQITIW6ZdHSkHeq","h8kgWP7cJmosWO/dPNy","cmkmoCkzWRvCWPzXu8kZFa","WRnyufRdNa","f3NdI1VcSmkuWQmlW58rrq","W73dT8oVCWldJ8onW7q","F0NcLCksW7u","csyKFSkT","WRu0emkcW7FcLbZcNa","gmk+kdhcSSogcMldLXz/irG","iCkplcJdUg96xCo9","WQ0lW5G","W5G+W6RdQ0b1W63cImo7WRFdOvvnECk7lmoQamk0W7G","dCk2W4iFW4qqWOSSWO7dImoK","WOddJCkNWRJdTY5kE8oZWRam","p8krW7hdOKvDbLuSW7u","evtdMu7cLa","WRTdWRDboa","d3pdKv3cQmkO","BSo+B8o5q3pcVmkAW6/cP8k4ca","hceq","WQXAWPWfvrxdJqfpvZu","W7vuW7tdTCkZBSk5dgi","W5C5W6xdTwD3W7a","W6TaAfdcJSopWPSdW5xdHsq","W5iQtmklWO/dQaxdPKXRW4VdJG","WPtcICo3FsugumoUWPPimG","WRP8WRDHe1BdUCo1W6BdImoNxCkPW5xcTKXHq1C","WPTpWRytW6hdPZ1JW7KtW7uKW6XAqJSs","nSkfWQJdReO7WPq","W6xcUSoPmSkrW4NcHSoAW4ZcNSks","W6SFW4/dN28","W6GAW4XDguBdUa9qsGdcSa","nriPW5dcNWvYW5NcI8oSWQ7cTa4q","e1ddMxNcSG","W4RdTr1GdNtdGmkLgcK0W5vQla","WPtdMhWrjq","WPhdRSk/WOtdSG","WR3dJCkgW7q9W47cLu7dSCkPWPuC","uSovw8o2EHNdKsyx","W6xdSCoxBrC","W7fxoCkvW4W","WOvdW4ZdKmoX","W5yIW6ddVq","cXPXW5qjW4xdHu4fW4ONsa","W5GRECkgWPRdTdZdVve","WQunWQhdRmkBDCkf","eCkjWPdcM8o4WPtdPMOXkWLsWQeUWP5FW4VdLmk6W7S","asaPsmkxW7q","CSo1tmomxNtcVW","WQ1AWO5JWP/cS8oFemonW6WHmgBcJCkhfW","W6JcOCkTW4e","W6ldTHRcOCoH","WOVdGmkSWR3dTt5/","W63cU8kNW4/dO8ktW6VdNmkKFJDnus7dNaG","ESkGjSocWPK","WR7cOmopCdm","W7KsW6dcJ8o8W7xdLxFcNCotW5mkrSk3WP8QeCkZWOddLW","W5JdTHBcKCopm8ka","WODwWQHvWPe","pSkKWRFdPK0","W7vIteGrDgJdGGq","W4OZW4xcU8ot","W68sW4XtfKtdPJfqzIBcMG","mW88W57cGr5ZW6RcK8oDWQhcSaaqqSoa","W5ZcMmowWOXq"];return(_0x220e=function(){return t})()}const{POINTS_PER_CORRECT:POINTS_PER_CORRECT,POINTS_PER_COMPLETE_ROW:POINTS_PER_COMPLETE_ROW,POINTS_PER_COMPLETE_COL:POINTS_PER_COMPLETE_COL,POINTS_PER_COMPLETE_BOX:POINTS_PER_COMPLETE_BOX,WIN_BONUS:WIN_BONUS,CLUES_COUNT:CLUES_COUNT}=SUDOKU_GAME_CONFIG;export class SudokuService{[_0x337171(231,"qRpP")]=!1;constructor(){}[_0x337171(320,"sR!p")](t,W,o,e,r){const d=_0x337171;this.onCorrectPlace=t,this[d(265,"WxZt")]=W,this[d(295,"FI3z")]=e,this[d(269,"HJh5")]=r}generateSolvedBoard(){const t=_0x337171,W={};W[t(237,"a%%q")]=function(t,W){return t<W};const o=W,e={};e[t(239,"a%%q")]=9;const r=Array[t(272,"YWJ@")](e,()=>Array(9).fill(0));for(let W=0;o[t(291,"p4ck")](W,9);W+=3)this[t(267,"QNX2")](r,W,W);return this[t(327,"%R!Q")](r),r}[_0x337171(244,"sR!p")](t,W,o){const e=_0x337171,r={};r[e(228,"HJh5")]=function(t,W){return t+W};const d=r,n=this[e(323,"%JpZ")]([1,2,3,4,5,6,7,8,9]);let s=0;for(let r=0;r<3;r++)for(let i=0;i<3;i++)t[d[e(329,"QNX2")](W,r)][o+i]=n[s],s++}solveBoardBacktrack(t){const W=_0x337171,o={CbOBg:function(t,W){return t<W}};for(let e=0;o[W(280,"ZP7v")](e,9);e++)for(let o=0;o<9;o++)if(0===t[e][o]){const r=this.shuffleArray([1,2,3,4,5,6,7,8,9]);for(const d of r)if(this[W(285,"$Zvo")](t,e,o,d)){if(t[e][o]=d,this[W(248,"wYmJ")](t))return!0;t[e][o]=0}return!1}return!0}isValidPlacement(t,W,o,e){const r=_0x337171,d={};d[r(298,"bh$x")]=function(t,W){return t*W},d[r(262,"tqPR")]=function(t,W){return t/W},d[r(300,"z8$j")]=function(t,W){return t/W};const n=d;for(let o=0;o<9;o++)if(t[W][o]===e)return!1;for(let W=0;W<9;W++)if(t[W][o]===e)return!1;const s=n[r(281,"HHvd")](Math[r(257,"FJio")](n[r(238,"wYmJ")](W,3)),3),i=3*Math[r(263,"%JpZ")](n[r(261,"8Do%")](o,3));for(let W=s;W<s+3;W++)for(let o=i;o<i+3;o++)if(t[W][o]===e)return!1;return!0}[_0x337171(306,"tqPR")](t){const W=_0x337171,o={};o[W(255,"a%%q")]=function(t,W){return t-W};const e=[...t];for(let t=o.pFfCn(e[W(214,"UjUu")],1);t>0;t--){const o=Math[W(328,"6J)&")](Math[W(217,"(mH3")]()*(t+1));[e[t],e[o]]=[e[o],e[t]]}return e}[_0x337171(319,"k3tB")](t){const W=_0x337171,o={UcutM:function(t,W){return t>=W}},e={};e[W(303,"(1Oo")]=9;const r={length:9},d=Array[W(290,"o(UR")](e,(o,e)=>Array[W(315,"ZP7v")](r,(W,o)=>({value:t[e][o],isGiven:!0,isError:!1,notes:[]}))),n=81-CLUES_COUNT,s={};s[W(332,"Iw#M")]=81;const i=this[W(330,"TnA*")](Array[W(216,"%JpZ")](s,(t,o)=>({row:Math[W(276,"1uv5")](o/9),col:o%9})));let u=0;for(const t of i){if(o[W(224,"SYTS")](u,n))break;d[t[W(232,"p4ck")]][t[W(318,"UjUu")]][W(325,"7[18")]=0,d[t[W(241,"HJh5")]][t.col].isGiven=!1,u++}return d}[_0x337171(271,"ZP7v")](){const t="444N",W=_0x337171,o={yBvXi:function(t,W){return t<W}},e=this[W(296,"bh$x")](),r=this[W(246,t)](e),d=useSudokuStore[W(289,"HHvd")]();d[W(234,"(mH3")](e),d[W(270,"5xo!")](r);let n=0;for(let e=0;o[W(258,"b0j#")](e,9);e++)for(let o=0;o<9;o++)r[e][o][W(312,t)]||n++;d[W(256,"[kRl")](n),d[W(233,"sR!p")]()}[_0x337171(249,"RN$f")](t){const W=_0x337171;if(this.destroyed)return;const o=useSudokuStore.getState();if(!o.isPlaying||o[W(222,"tixU")])return;const{selectedRow:e,selectedCol:r,grid:d,notesMode:n}=o;if(e<0||r<0)return;const s=d[e]?.[r];if(!s||s[W(250,"HHvd")])return;if(n){if(0!==s.value)return;return o[W(236,"@NB]")](e,r,t),o[W(314,"#R0L")](),void this.onNote?.()}const i=o[W(311,"UGlN")],u=i[e]?.[r],k=t===u;o[W(247,"7[18")](e,r,t,k),k?(o.incrementFilledCount(),o.updateScore(POINTS_PER_CORRECT),o.removeNoteFromPeers(e,r,t),this[W(275,"YWJ@")](e,r),o[W(268,"tixU")](),this.onCorrectPlace?.(),this[W(316,"2vEI")]()):(o[W(278,"j!iq")](),this[W(240,"5xo!")]?.())}[_0x337171(221,"p4ck")](t,W){const o=_0x337171;if(this[o(260,"%R!Q")])return;const e=useSudokuStore.getState();e[o(292,"ZyKq")]&&!e.gameOver&&e[o(321,"FJio")](t,W)}[_0x337171(235,"b0j#")](){const t=_0x337171;if(this[t(307,"444N")])return;const W=useSudokuStore.getState();if(!W[t(266,"444N")]||W.gameOver)return;const{selectedRow:o,selectedCol:e,grid:r}=W;if(o<0||e<0)return;const d=r[o]?.[e];d&&!d[t(279,"(1Oo")]&&0!==d[t(309,"UWjJ")]&&(W[t(326,"j!iq")](o,e),W.incrementGridVersion())}[_0x337171(302,"(mH3")](t,W){const o="0y%k",e=_0x337171,r={};r[e(313,"bh$x")]=function(t,W){return t!==W},r[e(252,"sR!p")]=function(t,W){return t!==W},r[e(286,"TnA*")]=function(t,W){return t*W},r[e(293,"bh$x")]=function(t,W){return t/W},r[e(304,"sR!p")]=function(t,W){return t+W},r[e(277,"7[18")]=function(t,W){return t<W};const d=r,n=useSudokuStore.getState(),s=n[e(264,"sR!p")],i=n[e(226,"8Do%")];let u=!0;for(let W=0;W<9;W++)if(d.uFUHO(s[t][W].value,i[t][W])){u=!1;break}u&&n[e(245,"k3tB")](POINTS_PER_COMPLETE_ROW);let k=!0;for(let t=0;t<9;t++)if(d[e(283,"j!iq")](s[t][W][e(305,"$Zvo")],i[t][W])){k=!1;break}k&&n.updateScore(POINTS_PER_COMPLETE_COL);const S=3*Math[e(331,o)](t/3),f=d[e(219,"2vEI")](Math[e(263,"%JpZ")](d[e(227,o)](W,3)),3);let C=!0;for(let t=S;t<d[e(273,"(1Oo")](S,3);t++){for(let W=f;d.ZEYns(W,f+3);W++)if(s[t][W][e(309,"UWjJ")]!==i[t][W]){C=!1;break}if(!C)break}C&&n[e(242,"o(UR")](POINTS_PER_COMPLETE_BOX)}checkWin(){const t=_0x337171,W=useSudokuStore.getState();W[t(317,"b0j#")]>=W[t(225,"a%%q")]&&(W[t(220,"p4ck")](WIN_BONUS),W[t(297,"#R0L")](),this[t(287,"ormY")]?.())}startGame(){this.destroyed=!1}[_0x337171(282,"SQ8J")](){}[_0x337171(274,"b0j#")](){const t=_0x337171;this.destroyed=!0,this[t(254,"$Zvo")]=void 0,this.onWrongPlace=void 0,this[t(213,"%JpZ")]=void 0,this.onNote=void 0}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";!function(){const e=_0x8f00,o=_0x110b();for(;;)try{if(260926==parseInt(e(436,"fZiq"))/1+parseInt(e(430,"noOM"))/2*(-parseInt(e(424,"gQUY"))/3)+-parseInt(e(482,"#Vii"))/4+parseInt(e(414,"AB4Y"))/5+parseInt(e(456,"vqXn"))/6*(parseInt(e(563,"N6iH"))/7)+-parseInt(e(538,"8CrW"))/8*(parseInt(e(476,"Xz[i"))/9)+parseInt(e(481,"0Lcy"))/10*(parseInt(e(527,"6@rZ"))/11))break;o.push(o.shift())}catch(e){o.push(o.shift())}}();import{c as _0x2579cc}from"react/compiler-runtime";import{create}from"zustand";import{subscribeWithSelector}from"zustand/middleware";import{immerMiddleware}from"../../services/UtilsService.js";import{SUDOKU_TIME_LIMIT}from"./SudokuConstants.js";import{calculateTimeBasedScore}from"../../services/ScoringService.js";export const useSudokuStore=create()(subscribeWithSelector(immerMiddleware(e=>({score:0,timeRemaining:SUDOKU_TIME_LIMIT,isPlaying:!1,gameOver:!1,gameWon:!1,grid:[],solution:[],selectedRow:-1,selectedCol:-1,filledCount:0,totalToFill:0,notesMode:!1,gridVersion:0,selectionVersion:0,startGame:o=>{const t=_0x8f00,n={yoDjr:t(525,"&PsJ"),DUlyI:t(514,"VqJz"),vTiwP:function(e,o){return e(o)}};n.vTiwP(e,e=>{const W=t;n[W(501,"450L")]!==n[W(545,"Xk4b")]?(e[W(470,"!9F2")]=0,e.timeRemaining=o,e[W(555,")OD)")]=!0,e[W(427,"450L")]=!1,e[W(438,"j2HQ")]=!1,e[W(447,"6TP1")]=0,e.notesMode=!1,e[W(464,"Jxon")]=-1,e[W(546,"N6iH")]=-1):(_0x1aad82[W(428,"XcU*")]=0,_0x48e3f3[W(485,"is$#")]=_0x456813,_0x3a16ae[W(468,"lvmf")]=!1,_0x2d3ea9[W(419,"j2HQ")]=!1,_0xfe9dd9[W(409,"C5wu")]=!1,_0x21b732[W(523,"VqJz")]=[],_0x3507eb[W(425,"%YU3")]=[],_0x208ee7[W(518,"RY5#")]=-1,_0x14b032[W(457,"Xz[i")]=-1,_0x23a251[W(533,"noOM")]=0,_0x5f2c6f[W(557,")OD)")]=0,_0x1ccb73[W(478,"gVlO")]=!1,_0x4ac630[W(441,"lvmf")]=0,_0x4b4c15[W(502,"&PUw")]=0)})},resetGame:()=>{const o=_0x8f00;({DRbiQ:function(e,o){return e(o)}})[o(406,"N6iH")](e,e=>{const t=o;e[t(500,"!Aao")]=0,e[t(408,"C5wu")]=SUDOKU_TIME_LIMIT,e[t(524,"P2!F")]=!1,e[t(488,"Z%1J")]=!1,e.gameWon=!1,e[t(506,"Jxon")]=[],e[t(498,"br6e")]=[],e[t(418,"tGnq")]=-1,e[t(504,"Ery)")]=-1,e.filledCount=0,e.totalToFill=0,e[t(540,"RY5#")]=!1,e[t(496,"C5wu")]=0,e[t(510,"Osd]")]=0})},updateScore:o=>{const t=_0x8f00;({wADdB:function(e,o){return e(o)}})[t(452,"Osd]")](e,e=>{e[t(440,"gVlO")]=e.score+o})},updateTimeRemaining:o=>{const t=_0x8f00,n={OcmPl:function(e,o){return e+o},keyXV:function(e,o){return e(o)}};n[t(489,"fZiq")](e,e=>{const W=t;W(531,"d]G]")!==W(559,"vweF")?(_0x2e4ac3[W(435,"Xk4b")]=_0x1c7367,_0x25f873[W(473,"Jxon")]=_0x1d5333,_0xb33607.selectionVersion=n[W(432,"gQUY")](_0x5f5625.selectionVersion,1)):e[W(521,"N6iH")]=Math[W(562,"G5xu")](0,n[W(534,"P2!F")](e[W(520,"RBJc")],o))})},setGameOver:()=>{const o=_0x8f00;({ftIed:function(e,o){return e(o)}})[o(422,"Xk4b")](e,e=>{e[o(427,"450L")]=!0,e.isPlaying=!1})},setGameWon:()=>{const o=_0x8f00,t={};t[o(455,"Jxon")]=function(e,o){return e-o};const n=t;e(e=>{const t=o,W=n[t(554,"Osd]")](SUDOKU_TIME_LIMIT,e[t(467,"AVZI")]);e.score=calculateTimeBasedScore(W,SUDOKU_TIME_LIMIT,e[t(535,"&F4[")]),e[t(458,"Jxon")]=!0,e[t(450,"br6e")]=!0,e[t(493,"noOM")]=!1})},setGrid:o=>{e(e=>{e.grid=o})},setSolution:o=>{e(e=>{e[_0x8f00(413,"P2!F")]=o})},setSelectedCell:(o,t)=>{e(e=>{const n=_0x8f00;e[n(518,"RY5#")]=o,e[n(433,"!6!x")]=t,e[n(560,"Jxon")]=e[n(472,"Hm(G")]+1})},placeNumber:(o,t,n,W)=>{const r=_0x8f00;({EQljA:function(e,o){return e(o)}})[r(543,"Jxon")](e,e=>{const i=r;e.grid[o]&&e[i(561,"6@rZ")][o][t]&&(e[i(547,"XcU*")][o][t][i(443,"EU5G")]=n,e.grid[o][t][i(453,"Hm(G")]=!W,e[i(541,"450L")][o][t][i(426,"tGnq")]=[])})},clearCell:(o,t)=>{const n=_0x8f00;({xPFbA:function(e,o){return e(o)}})[n(437,"gVlO")](e,e=>{const W=n;e[W(495,"#Vii")][o]&&e.grid[o][t]&&!e[W(541,"450L")][o][t][W(497,"is$#")]&&(e[W(529,"gQUY")][o][t][W(483,"RY5#")]=0,e.grid[o][t][W(515,"C5wu")]=!1,e[W(487,"6TP1")][o][t].notes=[])})},toggleNote:(o,t,n)=>{e(e=>{const W=_0x8f00;if(e.grid[o]&&e[W(541,"450L")][o][t]&&!e[W(403,"%YU3")][o][t][W(416,"!Aao")]&&0===e[W(552,"fZiq")][o][t][W(454,"lvmf")]){const r=e[W(530,"Osd]")][o][t].notes,i=r.indexOf(n);i>=0?r.splice(i,1):r.push(n)}})},incrementFilledCount:()=>{e(e=>{const o=_0x8f00;e[o(512,"8CrW")]=e[o(407,"0Lcy")]+1})},setTotalToFill:o=>{e(e=>{e[_0x8f00(461,"!Aao")]=o})},toggleNotesMode:()=>{e(e=>{const o=_0x8f00;e[o(551,"d]G]")]=!e[o(492,"!Aao")]})},incrementGridVersion:()=>{const o=_0x8f00,t={XrsWx:o(404,"gQUY"),FeNwq:function(e,o){return e+o},QkgBG:function(e,o){return e(o)}};t[o(528,"N6iH")](e,e=>{const n=o;if(n(423,"Xk4b")===t[n(479,"8CrW")]){const e={_0x4b9f2a:537,_0x4be0f6:"XcU*"};_0x4609dd(o=>{o[n(e._0x4b9f2a,e._0x4be0f6)]=o.gridVersion+1})}else e[n(508,"%YU3")]=t[n(460,"!9F2")](e[n(469,"noOM")],1)})},incrementSelectionVersion:()=>{e(e=>{const o=_0x8f00;e[o(472,"Hm(G")]=e[o(553,"%YU3")]+1})},removeNoteFromPeers:(o,t,n)=>{const W="&F4[",r=_0x8f00,i={};i[r(549,"Xz[i")]=function(e,o){return e!==o},i[r(556,"noOM")]=function(e,o){return e>=o},i[r(503,"vqXn")]=function(e,o){return e<o},i[r(513,"0TCP")]=function(e,o){return e!==o},i.GpeAh=function(e,o){return e<o},i.qWJLq=function(e,o){return e+o},i[r(519,"br6e")]=function(e,o){return e===o};const d=i;e(e=>{const i=r,s=e[i(526,"lvmf")];if(!s.length)return;for(let e=0;e<9;e++)if(d[i(549,"Xz[i")](e,t)&&s[o][e]){const t=s[o][e][i(539,"fZiq")],r=t[i(415,W)](n);d[i(405,"6TP1")](r,0)&&t[i(509,"Jxon")](r,1)}for(let e=0;d[i(410,"#Vii")](e,9);e++)if(d.cGKFi(e,o)&&s[e][t]){const o=s[e][t][i(550,"0TCP")],W=o[i(522,"d]G]")](n);W>=0&&o[i(484,"vweF")](W,1)}const u=3*Math[i(475,"zyjE")](o/3),f=3*Math[i(517,"Jxon")](t/3);for(let e=u;d[i(542,"vweF")](e,d[i(477,"vweF")](u,3));e++)if(d[i(516,"vqXn")](i(411,"fZiq"),"MpAce")){for(let W=f;d.ZrBTV(W,d[i(471,"!9F2")](f,3));W++)if((e!==o||W!==t)&&s[e][W]){const o=s[e][W].notes,t=o.indexOf(n);t>=0&&o[i(463,"6TP1")](t,1)}}else _0xd1b8a[i(486,W)](_0x128c3c,1)})}}))));export const useScore=()=>useSudokuStore(_temp);export const useTimeRemaining=()=>useSudokuStore(_temp2);export const useIsPlaying=()=>useSudokuStore(_temp3);export const useGameOver=()=>useSudokuStore(_temp4);export const useGameWon=()=>useSudokuStore(_temp5);export const useGrid=()=>useSudokuStore(_temp6);export const useSelectedRow=()=>useSudokuStore(_temp7);export const useSelectedCol=()=>useSudokuStore(_temp8);export const useNotesMode=()=>({diaAb:function(e,o){return e(o)}}[_0x8f00(445,"&PsJ")](useSudokuStore,_temp9));export const useGridVersion=()=>useSudokuStore(_temp0);export const useSelectionVersion=()=>useSudokuStore(_temp1);export const useCellSig=(e,o)=>{const t=_0x8f00,n={};n.ZIGZL=t(412,"Xk4b");const W=n,r=_0x2579cc(3);let i;return r[0]!==o||r[1]!==e?(i=n=>{const r=t;({})[r(420,"is$#")]=function(e,o){return e!==o};const i=n[r(507,"vweF")][e]?.[o];if(!i){if(W[r(449,"vqXn")]===W[r(431,"0TCP")])return"";if(jQyzDw[r(505,"0Lcy")](_0x394ae5,_0x186d98)&&_0x12187d[_0x5ca6ec][_0x2ca942]){const e=_0x3be1d2[_0x107734][_0x366bd].notes,o=e.indexOf(_0x2ccf6f);o>=0&&e.splice(o,1)}}return i[r(446,"Osd]")]+":"+i[r(462,"h[dm")]+":"+i.isError+":"+i[r(434,"zyjE")].join(",")},r[0]=o,r[1]=e,r[2]=i):i=r[2],useSudokuStore(i)};export const useSelectionSig=()=>useSudokuStore(_temp10);export const useGridReady=()=>({BZpxu:function(e,o){return e(o)}}[_0x8f00(429,"&F4[")](useSudokuStore,_temp11));function _temp(e){return e[_0x8f00(442,"&PsJ")]}function _0x8f00(e,o){e-=403;const t=_0x110b();let n=t[e];if(void 0===_0x8f00.dSmmSq){const e=function(e,o){let t,n,W=[],r=0,i="";for(e=function(e){let o="",t="";for(let t,n,W=0,r=0;n=e.charAt(r++);~n&&(t=W%4?64*t+n:n,W++%4)?o+=String.fromCharCode(255&t>>(-2*W&6)):0)n="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(n);for(let e=0,n=o.length;e<n;e++)t+="%"+("00"+o.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(t)}(e),n=0;n<256;n++)W[n]=n;for(n=0;n<256;n++)r=(r+W[n]+o.charCodeAt(n%o.length))%256,t=W[n],W[n]=W[r],W[r]=t;n=0,r=0;for(let o=0;o<e.length;o++)n=(n+1)%256,r=(r+W[n])%256,t=W[n],W[n]=W[r],W[r]=t,i+=String.fromCharCode(e.charCodeAt(o)^W[(W[n]+W[r])%256]);return i};_0x8f00.isAmTU=e,_0x8f00.kYtpZz={},_0x8f00.dSmmSq=!0}const W=t[0];_0x8f00.BDfUZZ!==W&&(_0x8f00.kYtpZz={},_0x8f00.BDfUZZ=W);const r=_0x8f00.kYtpZz[e];return void 0===r?(void 0===_0x8f00.xFiCzf&&(_0x8f00.xFiCzf=!0),n=_0x8f00.isAmTU(n,o),_0x8f00.kYtpZz[e]=n):n=r,n}function _temp2(e){return e[_0x8f00(544,"fZiq")]}function _temp3(e){return e.isPlaying}function _temp4(e){return e[_0x8f00(499,"0TCP")]}function _0x110b(){const e=["CSo5WQFdR8k0eZO","D8kLoColBgJcLa","qSk9WPH7ANTKd0dcGCkF","zSk/WRBdJmkukmoNWO/cG2dcMa","F8kCtCkzCLNdJfi","oW8DW4PT","W5i4WR4Ovq","A8oyWRzcW7i","z8oOWRvkW58","WP/cI8kPxeBcRCoWjCo3","W7aKwSkBW6X8D04","E8k1WQ7dJmke","WQBdKSkBsHRdNvKN","WROnCSodCG","wConWRpdSSk5","WRfPW4TUaaGKWQ9rW7vK","iCkUs8oHW5G","W6hdN8oZyw4","hwjzWRvYWQ3dQmoZWQpcMmk8","e8krfSknWRm","FSojWPncW7vcW5pcRx9MW6S","WRGAfrhcGqjBW5XZrdXg","W6NcHZ8QW7q","F8kCtCkzAKddHW","WPtcQSkTWO/dKWDpW415mv3cVq","W6lcTby6W5a","amoWu8k5WOydfbtdQNRcQq","W6CmqCoYqa","WOhdKSoKWPuV","WP/dRbNdMmkFWPTxW6xcGcPe","W7agt8obrW","FYaFvCkT","cM5QWPLHtvZdHIBcQCkR","weJdTee","atdcH8koWPi","ncfSW6/cUIFcV8o9","B8o3DIiDkfBdKq","FGa3rmkk","n8kCD8kOWRLmbW","eCoJvSkOWRu","mSoTEmk9eG","Au/dTCoGW6LUbSosWQbbWO/dIG","WPncW4zUoXBcGMpcLYDh","i8o/r8kScSoQWQa","W4JdVYhdGJS","WOBdQ8o9WOqL","ASk5cSodDLNcLrNcRCkvW6u","wmkRWRn3F2PV","h3DQWPXNta","n8o7rSkSpSoXWQVcPs/cHh8","W4JcIJdcISo+","WPZdS3BdSmksdSoMjCkZkZjbaq","W6yQW5ddTW3dOZxcSe7cOmkkWRfO","dSoXASkXWReFdWNdPa","W6COWPO/zbSJWR1uW71V","WRpdRCoCWOeX","WRhdMCo5WR8L","lCkkxSk/WQHxhapcM8k1WRpdP8kDW5BcK2G","n8o7rSkSpSoXWQVcPt7cHgq","W50SWRORmSklWO/cQKGbCW","g8ksdCkhWRi","W5utW5btntdcGfC","W7f+WQRcKCoB","W7/cUa0TW4yHWQ1jfa","WPZdN8kpW5u4","t8orpCkpWQatzqhcOmk/dhNdMq","W6WgpgBcUv/cLCo+fmoVhftcVG","WO/cR37cHMRdL8k1jCoTW4e9wSka","ddVdHMbW","W7nzWOZcTmojsG","iXWaW6Tzbg4JWPS3W4VcRsO","AmoNWQ/dO8kVoq","c3vVWPe","WR3dGsZcIcy4zHq","W6jgwxRdOa","WQpdN8kvW6ywAuRdLgimiG","WRzJW4DPbuWWWQDkW5zRlG","Cmk5cSohAudcLtVcOq","W6KPWQm3uWC4WQbA","WOtdLSoKWOuPhc3dTSkho8km","W5NdRctdKW","oSk9vcWip2pdGg8CgW","pGyQW6D9bg0","ic9TW7/cGtJcTCoH","hmkgyCoEW5TumaS","BCk1eCoqFW","WRJdNmkYrsC","W7RcGmobtbFcRMj+W5u8EriUW7r1WPq","aqVcGSkaWOG","W4/cNmoYq8kTb8kxgdNdOg0","WRrkFrBdQW","i8oSq8kT","W6DBWONcUq","W6q5x8kkW45WALmrW63cTW","n8oUrSkGpSoG","EIqFrCkRqJa9W7H8WO7cGf9ZW6ZcSq","FSojWPncW7vcW5pcRw5MW7a","WQldHmkqW64LAhVdIh4noa","gmkGr8o9W70","WORcKx52eq","nmk8EdOSnwm","csZcICkUWOG","iSoYrCkMlW","ct/dHNb2smk9W5jmW4tcLq","arviW7dcOW","W5hdUSo1W5NcTLb6W6PIbxFcOai","s1pdSedcHSodW5/dQmo1CwBcRdS","WQT+W7nObmo4W5a","WRtcGLbt","W6/cLG5EWQNcUCkgWOqe","W40DASoHxW","amoWu8k5","oMTjWQPCW7yKW5y","BLhdUMFcKW","W4NdJSo3vq","BJmAra","WQfaW6rFkW","B8o9uti8k0VdOq","W6yZWP83vXOsWQfiW7X1","W4NcHJnIWQq","Amo0WQZdUmkP","vSk5WPL7xMbV","WQ4CDmovqCksWPVcMItcPmkR","W7lcLmoiWRb3pLNdJNWNjK4","W6DmveFdHq","fdxdNNbMCCk3W5j7","WQBdGCkFsW","W4DzWOxcNmoc","aCoprSkJha","W71ktuFdPfvUW7TOCbzBWRu","sCo5WPnEW58","tf/dSudcT8osW5FdRCoFCgm","WQ4CDmov","W7nmWOZcUmojw0xdJCoyW6baW5j1W7NcJva","WOLdW4rnmW","fCkiEmoEW6C","WQX/W6nOd8o6W5LmcW","W65rsuy","W7aUwSklW7THCu8wW5tcVf7dVICCCq","FZiHvmkh","W4tcSrxcRCohq8k7lCkm","W7aFWPC8DW","W5NcRthcOmokBSk9bCkcabm","crVcJCkNWRK","W6n5WPpcJ8o9","n8o7rSkSpSoXWQFcRHpcVw0jW61IzJG","BYTmWRq","W4pcVLK","dqldLK/cL8ouW7xdQW","hmkvzCoF","W6q5x8kk","W6BdKmoAzLS","hejIWPjb","E2JdV0ZcHq","WR5zyt7dQaRdPSoPkCotma","kCkMuc0mp3ZdKM8DhmkvWQy","oSkUuc0jnx8","W6tdRa/dOWG","W4rtyuhdKW","w8o+WPbfW7e","W7xcIJjhWRZcQCkaWOq","xvzMe8khW4xdIdNdHNNdKZu"];return(_0x110b=function(){return e})()}function _temp5(e){return e[_0x8f00(536,"h[dm")]}function _temp6(e){return e[_0x8f00(564,"0TCP")]}function _temp7(e){return e[_0x8f00(474,"@^jl")]}function _temp8(e){return e.selectedCol}function _temp9(e){return e.notesMode}function _temp0(e){return e[_0x8f00(490,"8CrW")]}function _temp1(e){return e[_0x8f00(548,"vweF")]}function _temp10(e){const o=_0x8f00,t={};t[o(558,"vqXn")]=function(e,o){return e>=o};const n=t,W=e[o(494,"EU5G")]>=0&&n[o(421,"noOM")](e.selectedCol,0)?e[o(403,"%YU3")][e[o(474,"@^jl")]]?.[e[o(417,"h[dm")]]?.[o(459,"#Vii")]??0:0;return e.selectedRow+":"+e[o(511,"Xk4b")]+":"+W}function _temp11(e){const o=_0x8f00,t={};return t[o(465,")OD)")]=function(e,o){return e>o},t.eHuKX(e[o(448,"N6iH")].length,0)}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const _0x2ded3e=_0x5a99;!function(){const e=_0x5a99,t=_0x532c();for(;;)try{if(532448==parseInt(e(485,"UKPg"))/1+parseInt(e(338,"cGRE"))/2+-parseInt(e(558,"(4B("))/3*(parseInt(e(520,"(4B("))/4)+-parseInt(e(404,"amIt"))/5*(-parseInt(e(503,"V2B@"))/6)+-parseInt(e(320,"Vp56"))/7*(-parseInt(e(574,"in]s"))/8)+-parseInt(e(375,"wXeM"))/9*(-parseInt(e(559,"FTfv"))/10)+-parseInt(e(335,"wXeM"))/11)break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import{c as _0x4afc93}from"react/compiler-runtime";import _0x4acbac,{useMemo,useRef,useEffect,useCallback}from"react";import{View,StyleSheet,Platform}from"react-native";function _0x532c(){const e=["WQ/cM0ldQfDyyCoKcSoAWP1AfMFdQa","W79qs8k3w8kP","W4WoWRuIWPCsWO1IeW","mCkyWOvKWQVdLSoJ","AYlcSwrXW78FW6rL","WQPVWOm","DN0/WOddTg3cOhTqeY3dTX7dTa","BfO1BCk1WOK","pInWW7eO","imkDcSk7oSkmW6i5ANxcK14","iLBcOgFcLG","wXCOsmkl","kmkEWRfL","suavvSoG","W6bar8kJtmkZWPfYWO0","W5XuWROIW6G3WRDcxW","WOqDCCo6WQGuW6j1","W78yWPCaW75yW6hcNq","WPJcTCoeq8oXDmoWobNdP18","Fmk6W5rpW64bW403Aga","s1uSFmku","W4tcJHSRW6K","q8kwr8kUzW","W4pcQde2W7ldTCkuW5e","W4DWFCkeCmkeWQPcWQDH","CSolvCo6E8ovW4mCtN3cUf3dJCkXqKiE","W7TxfrO","W6HkdX7dRCkbzmkL","W5ruWQy7W5OV","WOddSJFcJXK","W5fQW4tdGmk1zmka","A8kNW5LoW68","WOlcHKBdPLzyvmoR","WRmKsfTHyhxcNhJcSSoIqCow","rWpdHqvj","mrDvW4u4WOtcNSo7za","DaxdRYO","W4CelCkJWOhdUCoBW7hdKSoRia","z8oqiSo7WOK","W7ddUHZdP8kMsCkjg8kuW7XFW4xdRxHicW","mGnkW6aLWOtcJmo7ENC","W61pkqCa","iu3cPx3cJCoyW55BdG","W4WXWROOW5nKW4m","yXxdRZzvesy","W5q3W5RcNmoJWORdLSk0cqe","wCk+wSkP","nSkfWRbSWO0","AmkYwCkOtG","WP1UWQFdUG","y1WqESk/","W4bmu8kvaG","W4CynCkRWOS","W6vusCkLsG","WPpcIghdUNBdVI7dG8kzuHRcHCkNWRqYwSokW6OD","W5HewSoCWReOW4X3W6e","WRxcUmoCWP7cS3Dlka","W4dcQZO0W4ddQmkhW5Sg","W4zaxa","W7PgymkIxCkUWOO","WR98WP5iEW","WPddPM/dOmksBqOQWO4","yLaYFSkkWPJcKXCxhW","Cgys","W5OEWP3cKCk+WOdcNci","WR/dIfZdLCk/xbGxWReFWQ0","cNn9me8","W7qRW4vOy8o4AmoAuG","eKTMlKiNnSoXW6ZcSSkLWPuRW7K4","W4f0yCkzESks","BqpdJc5bgIPdDG","WRrapr4+pIK","CJrOW6tcUWdcT1pcGNFdUCo7DG","y8onp8oJWOq","p8koWRzEWQNdKSo5qW","WQ/cMmo1E8okvSozfW","q8o0WO92ra","ymomnCoN","W6qwhSkPWRG","ymoEW7q9W6/cI8k9sSoYWQiJW7xcMq","W7z2dSoIDWNcVCkJaaTI","W4RcTZ4HW4JdQmkx","DCofvSo+ymouW4G","ESoGWPjqqW","W5epWRewWPqrWQ5+dNS","oHLjW5ycWP7cS8o4Cq","WQ/cLCoYy8olvG","zaBdTsBdJCkiW7X/bmocW5Kv","jMNcIfhcTq","W6BcTayfW4G","WPtdTgT2WPtcR8oyW5C8cSoNWQVdIW","WP/cOmoFnmob","WODUWQFdPM3cHZGOWOuyWPRdJSo7yG","W5RdPrBdGSo9","W5xdLmoKyNK","WOpcMmooWRJcHufXaf0","tqmjqra","f8ktmmkSnNFdIGjKBW","W6bbxmk8sG","WPlcI1S","pwfkeW","WPPYWRddPMW","ECokfSoJWOdcLXtdNmkF","sdVdIZPz","W5qyWOZcISkl","WQ8/mXPcW6eHkSoLWRaRW7W","W7i7WRNcR8k/","cCk7WOHPWP4","W74FWP8EW75JW6RcNCk8W4e","WRn7WPTBCG","F2ypwSolb1y+","WOvDFSkbWPRdL8oPW4/dRq","W5DEWRK5","W55sWQCMW5CIWRDGw8ogna","WR7dGLhdI8kKrXSvWQOz","WQlcUmoHWP7cOhDlkN8","W6ZdKSoZCNKdh2WZ","WR7dHZpcQKq","W4HNkJ7dLSkGqmkgW6qYf8oEw8oOWQ9Zia","Ba8tsJa","WO/cOxRdHey","W5fmt8osWQWcW7LSW7a","WQ1/WP5jF8ov","oHPiW40J","vCk+rmkGA8oz","W4y9W4ZcNa","W58TW6ZcPZpdL3vFWOGeWQZdQSotCq","W7rWdW","W6RdUbFdOCoMdq","WOnQWOBdKCktW57cJCkQeXT6W4Pt","FCobvCoPFCos","W5CFWRuJWPKi","WPhcM1ZdOG","WQdcMxZdQ2G","W5T0CCkScW","cuqsWPJdLNRdGa","W5bythW2WObzaSohWPyqW6fc","ncrUW5VcTZ7dPGPebahdGIS","DSowkmo7WRBcIXtdLCkqW5u","zH/dPg9odc1i","W49Oz8kQbIhcGW","WORcRSoDnCofW5CqWRRcJa","WOq9W7H3kaOUcwFdM8k3WOvTWQtcOWJcVCoqW5PAeq","W5zkrmouWQO","W6z6bCoMsbZcTG","W6ddSH/dTmoQmmolrCoDWR4","yCo9WOXxEq","xmoyb8o5WO4","Dmo8dSoMWOa","W5uTW6tcOZldLYSdWPibWRBdKW","m8kZca","i8k/gmkuaq","WOT3WRVdVxy","W4HSW7ddGq","W6O4WPeLW7S","EmkuESkbvCoYueNdRmorWQOqW53dQdBcRa","W6f6eCo3EbW","W79qq8kK","WPu1W7z5CG","ecP3","WOFdJWBcL3eBW5mi","W7TWzCoKWPOsW5zhW4m9WRtdMs8kW6yEWO8","F8olvCoR","zd3cJMDI","aGPgW5pcTG","WP9+WRxdSxddJYWoWOCzWRhdImo0DCokd8ooWOBcKvNcTY0vWOtdRW","W5r+WQBdQMxcPqO","FMWv","WROUW69+Da","mLRcSedcISoFW4vm","W6eeWQS9W57dHCkZWR7dHa","WQCoW6NdN0DMFmoA","ASo3WOLFy30","WOWYW7tdSNLaqa","W75yomowwG","WRZcN8o1ECoAqCoopcZdH3veWOO","WPVdQhpdS8k9yJmSWPiO","WPydgJfO","CItcKMa","nd50W50","ubaEvSkdxmo+WOu1W4Og","BmkTW5naW6GbW5G","WOmUW5/dTe1ox8o2WPRcRq","lcPPW5hcRZ7dMJPFaWRdHbhdVxdcRdy","W5yjWPSTWOCzWOy","W40zWOq","W7L+WPGAW6qgWPX8DCo5","WQxdMKDDWRrNW6LcW7zc","W4OcWP3cM8k8WPZcNd/cRG","W51EWQa","W7OZWRJcSCkfWQhcUahcMmkZnrXBW5vDFa","mYjJW4hcQW","zSoykSo6WOq","WQ1iWQCTW6P4W77cNG","xCkFFSkOEW","WQruW6z6WR7cNCoNWOVdIq7cMsqf","W6vYca","WOdcO3FdIey","WOyyfYfwW5aDbSoyWPOD","W5idiSkZWRNdQ8oXW7NdLSoW","tCkyBSkFFG","WOGKW5ddS35Dv8olWPpcRmoS","WQ4kW7jqva","oanvW4mLWOpcPCo6","WPJcKCoS","W7P6fmo1CXW","qXajuSkh","B8o3WOflFNT2lHFcQmoZ","W6/dVay","WQtdMKPaWQi","W7ieWQCAW73dJCkJWQ8","W5P8ECkTbG","vWKvsbZcVq","W5eWW53cHmobWPNdNSkZ","W4hdUbldQSo9oSoerCooWQ0a","zLa9Emk5WRlcJWqAgq","WOhcPmoAjSomW4O","WPxdMqZcLhG","iMTseMi","WQFcPeNdGKe","W6/dIsZdP8oz","W5zqwSojWR0OW6W","W7W/WPaiWQ4VWQ1DjuX2WRvX","W79hhGBdMSkhCW","W51jWR0Y","EMynqCoQ","WPeZW5ddRNHdu8oRWPpcJq","W74KWR3cUCkfWRdcTHtcGSkQmGvA","B2S1E8k7","W598W7FdUSk3ymkAW4m","W5OzWPJcKSkO","shqlCSkK","W4pcQde2W7ldQmkxW5Gn","W48pWQ8S","W7ddMmoQu08EgG","W5XSW7hdImk3AmkbW4G","W4XcmtawbW3cOhJcPmo+","WO0KW5JdP2nB","AfOYBCkPWPu","WOKpfYjOW4e","WOddGHVcJa","W6z3atZdMW","W7tdVbldS8oR","nqvGW4SNWO/cPa","yf4XESk0WPpcNq","W5SdWOabW5K","WQn1WPLAqmoeCmoSAxi","WRFdGfvh","W6fIdH0XptC","A8o9WPm","WP80W7L6DvX+tW","W54tWOdcRSkUWPpcJsK","WPa2W7v5CG","BMafwSoW","W4KdWOFcLq","nYPPW4BdRIJdSt1BbW","WRyIW57dPu8","eInQW70tWR7cHmolueO5W6xdRCk2W61GswBdKmow","prPoW4u/WQpcVSoXExa","g0LQlMm","WQZdTrFcQcy","WOa7W7zJzq","W6CeWRiQW73cGSk6WQ/dGqNcKc0Th8oUfbRdISogaSkUW5OjrMm","W4r4Fmk/cZS","igWtvSo5kMC","W5XOzSkW","WPmGW53dTw4","vXWduSkktW","W4ZcSIJcTmommM4eWPS5WQ9sWPq","WPpcP8oAj8oi","WQ/cUmo7WO/cSG","aI4Sv8kfumoT","WOZdOY/cIbG","ACo0amo1WOa","WOWphZz1W4CkiCouWO0h","ymkTW5XgW7uz","peBcRhmwvsLfACo3WQddUG","WOJdGGFcLxWc"];return(_0x532c=function(){return e})()}import{Canvas,RoundedRect,Rect,Group,Text as _0xc1ee76,matchFont}from"@shopify/react-native-skia";import _0x77ecc5,{useSharedValue,useAnimatedStyle,withSpring,withSequence,withTiming,Easing,runOnJS}from"react-native-reanimated";import{Gesture,GestureDetector}from"react-native-gesture-handler";import{getGameDimensions}from"../../../services/UtilsService.js";import{useSudokuStore,useGridReady,useGridVersion,useSelectionVersion}from"../SudokuStore.js";import{SUDOKU_GAME_CONFIG,SUDOKU_COLORS,BOARD_3D}from"../SudokuConstants.js";import{jsx as _0x15cb24,jsxs as _0x285043}from"react/jsx-runtime";const{CELL_SIZE:CELL_SIZE,CELL_SPACING:CELL_SPACING,BOX_BORDER:BOX_BORDER}=SUDOKU_GAME_CONFIG,{width:gameWidth}=getGameDimensions(),BOARD_DEPTH=BOARD_3D.DEPTH,BOARD_PAD=BOARD_3D[_0x2ded3e(530,"k76L")],BOARD_R=BOARD_3D[_0x2ded3e(556,"@zas")],CELL_DEPTH=2,CELL_TOTAL_H=CELL_SIZE+2,NUM_BTN_DEPTH=4,NUM_BTN_H=52,NUM_BTN_TOTAL_H=56,CELL_POSITIONS=[];(()=>{const e=_0x2ded3e,t={};t[e(440,"TH)E")]=function(e,t){return e<t},t.axYzr=function(e,t){return e+t},t[e(468,"UpSl")]=function(e,t){return e%t};const W=t;let o=BOX_BORDER;for(let t=0;W[e(312,"UKPg")](t,9);t++){CELL_POSITIONS[t]=[];let n=BOX_BORDER;for(let e=0;e<9;e++){const _={};_.x=n,_.y=o,CELL_POSITIONS[t][e]=_,n+=CELL_SIZE,e<8&&(n+=W.axYzr(e,1)%3==0?BOX_BORDER:CELL_SPACING)}o+=CELL_TOTAL_H,W.LKWxy(t,8)&&(o+=0===W[e(315,"%YDY")](t+1,3)?BOX_BORDER:CELL_SPACING)}})();const LAST_CELL=CELL_POSITIONS[8][8],GRID_CONTENT_W=LAST_CELL.x+CELL_SIZE,GRID_CONTENT_H=LAST_CELL.y+CELL_TOTAL_H,GRID_BOX_W=GRID_CONTENT_W+BOX_BORDER,GRID_BOX_H=GRID_CONTENT_H+BOX_BORDER,BOARD_W=GRID_BOX_W+2*BOARD_PAD,BOARD_CONTENT_H=GRID_BOX_H+2*BOARD_PAD,BOARD_H=BOARD_CONTENT_H+BOARD_DEPTH,NUM_PAD_MARGIN=2,NUM_BTN_W=Math.floor((gameWidth-24-36)/9),NUM_PAD_Y_OFFSET=0,NUM_BTN_POSITIONS=[];for(let e=0;e<9;e++){const t={};t.x=12+e*(NUM_BTN_W+4)+2,t.y=0,NUM_BTN_POSITIONS[_0x2ded3e(513,"EDh$")](t)}const NUM_PAD_CANVAS_W=gameWidth,NUM_PAD_CANVAS_H=60,CELL_FONT_SIZE=Math[_0x2ded3e(427,"UpSl")](.55*CELL_SIZE),NOTE_FONT_SIZE_PX=Math[_0x2ded3e(305,"r$$U")](.25*CELL_SIZE),NOTE_CELL_THIRD=Math[_0x2ded3e(332,"K5ak")](CELL_SIZE/3),NUM_BTN_FONT_SIZE=22,NUM_REMAINING_FONT_SIZE=8,_0x1c805e={};_0x1c805e[_0x2ded3e(550,"TBLg")]="Helvetica",_0x1c805e[_0x2ded3e(390,"DNtv")]=_0x2ded3e(464,"#sJe");const FONT_FAMILY=Platform[_0x2ded3e(365,"h82P")](_0x1c805e);let _fontCache=null;const getFontCache=()=>{const e=_0x2ded3e,t={};t.mUgNR=e(515,"vUef");const W=t;if(_fontCache)return _fontCache;const o={};o[e(532,"cGRE")]=FONT_FAMILY,o.fontSize=CELL_FONT_SIZE,o[e(455,"IGmJ")]=e(533,"jqSU"),o[e(441,"iuFP")]=W[e(450,"EDh$")];const n=matchFont(o),_={};_.fontFamily=FONT_FAMILY,_[e(319,"TBLg")]=NOTE_FONT_SIZE_PX,_[e(408,"Vp56")]=e(515,"vUef"),_[e(572,"K5ak")]="normal";const d=matchFont(_),O={};O[e(391,"^O&c")]=FONT_FAMILY,O[e(510,"iuFP")]=22,O[e(549,"TH)E")]="bold",O.fontStyle=e(333,"jqSU");const r=matchFont(O),s={};s[e(385,"(J7I")]=FONT_FAMILY,s.fontSize=8,s[e(347,"Oyol")]=e(333,"jqSU"),s[e(502,"vUef")]=e(486,"m2M]");const a=matchFont(s),S=new Map;for(let t=1;t<=9;t++){const W=t[e(543,"ehl3")]();S[e(545,"V2B@")](t,{textStr:W,textWidth:n.measureText(W)[e(343,"kh]u")],noteWidth:d[e(410,"^O&c")](W).width,btnWidth:r[e(483,"i@vY")](W).width})}const i=new Map;for(let t=0;t<=9;t++){const W=t.toString();i[e(308,"sm3*")](t,{textStr:W,width:a[e(416,"e*4f")](W).width})}const u={};return u.cellFont=n,u.noteFont=d,u[e(527,"K5ak")]=r,u[e(571,"hUzw")]=a,u[e(330,"V2B@")]=S,u[e(443,"x!O4")]=i,_fontCache=u,_fontCache};let _k=0;const buildBoardElements=()=>{const e=_0x2ded3e,t={WicuW:function(e,t,W,o){return e(t,W,o)},lQFMa:function(e,t){return e-t},FAAfu:function(e,t){return e+t},DDnvO:function(e,t){return e-t},lGEDA:function(e,t,W,o){return e(t,W,o)}},W=[],o={x:0};o.y=BOARD_DEPTH,o[e(415,"wOV!")]=BOARD_W,o[e(414,"h82P")]=BOARD_CONTENT_H,o.r=BOARD_R,o[e(518,"DNtv")]=SUDOKU_COLORS[e(552,"(J7I")],W.push(t[e(303,"x!O4")](_0x15cb24,RoundedRect,o,_k++));const n={x:0,y:0};n.width=BOARD_W,n[e(381,"e*4f")]=BOARD_CONTENT_H,n.r=BOARD_R,n.color=SUDOKU_COLORS[e(304,"ehl3")],W.push(_0x15cb24(RoundedRect,n,_k++));const _={x:6,y:3};_[e(462,"TBLg")]=BOARD_W-12,_[e(484,"DNtv")]=3,_.color=SUDOKU_COLORS[e(555,"UpSl")],_[e(568,"iuFP")]=.5,W[e(387,"Xfp(")](_0x15cb24(Rect,_,_k++)),W.push(_0x15cb24(RoundedRect,{x:BOARD_PAD-2,y:t[e(538,"kh]u")](BOARD_PAD,2),width:t[e(373,"#sJe")](GRID_BOX_W,4),height:GRID_BOX_H+4,r:t.DDnvO(BOARD_R,4),color:SUDOKU_COLORS.BOARD_INNER},_k++));const d={};d.x=BOARD_PAD,d.y=BOARD_PAD,d[e(360,"UMPB")]=GRID_BOX_W,d.height=GRID_BOX_H,d.r=6,d[e(352,"V2B@")]=SUDOKU_COLORS[e(436,"%YDY")],W[e(388,"#sJe")](t[e(383,"h82P")](_0x15cb24,RoundedRect,d,_k++));const O={};return O.x=BOARD_PAD,O.y=BOARD_PAD,O[e(386,"i@vY")]=GRID_BOX_W,O[e(448,"i@vY")]=GRID_BOX_H,O[e(418,"#goh")]=SUDOKU_COLORS[e(380,"^O&c")],W[e(499,"ECZG")](_0x15cb24(Rect,O,_k++)),W},BOARD_ELEMENTS=buildBoardElements(),CELL_GROUP_KEYS=[];for(let e=0;e<81;e++)CELL_GROUP_KEYS[_0x2ded3e(536,"wXeM")](_k++);const NUM_BTN_KEYS=[];for(let e=0;e<9;e++)NUM_BTN_KEYS[_0x2ded3e(499,"ECZG")](_k++);const CELL_OFFSET_X=BOARD_PAD,CELL_OFFSET_Y=BOARD_PAD,StaticBoardCanvas=_0x4acbac[_0x2ded3e(309,"UpSl")](()=>{const e=_0x2ded3e,t={};t[e(547,"IGmJ")]=function(e,t){return e===t},t.bUWSy=e(374,"wXeM");const W=t,o=_0x4afc93(1);let n;if(W[e(478,"^Db*")](o[0],Symbol.for(W[e(495,"K5ak")]))){const t={};t.style=boardCanvasStyle,t[e(551,"%YDY")]=BOARD_ELEMENTS,n=_0x15cb24(Canvas,t),o[0]=n}else n=o[0];return n});StaticBoardCanvas[_0x2ded3e(322,"vUef")]="StaticBoardCanvas";const CellsCanvas=_0x4acbac[_0x2ded3e(321,"vUef")](()=>{const e="vUef",t="%YDY",W="e*4f",o="sm3*",n="Oyol",_=_0x2ded3e,d={xGqcm:function(e,t){return e>=t},XZNeR:function(e,t){return e+t},MTMDS:function(e,t){return e===t},kTiqf:function(e,t){return e===t},muSWb:function(e,t){return e/t},fNHeq:function(e,t){return e>t},mnxwQ:function(e,t){return e-t},LaAvo:function(e,t){return e>t},xrrhH:function(e,t){return e<=t},dzimm:function(e,t){return e*t},mTRaW:function(e,t){return e*t},AwSaZ:function(e,t,W,o){return e(t,W,o)},PHkOt:_(371,"2[Zz")},O=useGridVersion(),r=useSelectionVersion(),s=useMemo(()=>{const O=_,r=useSudokuStore[O(460,"%YDY")](),{grid:s,selectedRow:a,selectedCol:S}=r;if(0===s[O(447,"TH)E")])return null;const{cellFont:i,noteFont:u,digitData:C}=getFontCache(),R=d[O(509,"jqSU")](a,0)&&S>=0?s[a]?.[S]?.[O(470,"qRwn")]??0:0,x=[];for(let _=0;_<9;_++)for(let r=0;r<9;r++){const f=s[_]?.[r];if(!f)continue;const m=CELL_POSITIONS[_][r],L=CELL_OFFSET_X+m.x,D=CELL_OFFSET_Y+m.y,E=d.XZNeR(9*_,r),P=_===a&&r===S,k=R>0&&f[O(420,"kh]u")]===R&&!P,l=!P&&(_===a||d.MTMDS(r,S)||d[O(437,"TH)E")](Math[O(461,"qRwn")](_/3),Math[O(372,"Xfp(")](a/3))&&Math.floor(r/3)===Math.floor(d.muSWb(S,3)));let N=SUDOKU_COLORS[O(344,"FTfv")],T=SUDOKU_COLORS[O(323,"(J7I")];P?(N=SUDOKU_COLORS[O(431,"hUzw")],T=SUDOKU_COLORS[O(541,"h^$#")]):f[O(546,"@zas")]?(N=SUDOKU_COLORS[O(395,e)],T=SUDOKU_COLORS.CELL_ERROR_DEPTH):k?N=SUDOKU_COLORS[O(399,t)]:l?N=SUDOKU_COLORS[O(327,"EDh$")]:f[O(490,"ECZG")]&&(N=SUDOKU_COLORS[O(306,"UMPB")],T=SUDOKU_COLORS[O(364,"jqSU")]);const h=[],U={x:0,y:2};U[O(525,"Oyol")]=CELL_SIZE,U[O(381,"e*4f")]=CELL_SIZE,U.r=2,U[O(439,"%YDY")]=T,h[O(474,"kh]u")](_0x15cb24(RoundedRect,U,0));const B={x:0,y:0};B[O(400,"#sJe")]=CELL_SIZE,B.height=CELL_SIZE,B.r=2,B[O(355,W)]=N,h[O(523,"UKPg")](_0x15cb24(RoundedRect,B,1));const I={x:1,y:0};if(I.width=CELL_SIZE-2,I[O(337,"(p)d")]=2,I.color=f[O(393,"hUzw")]?O(526,"(p)d"):O(351,"qRwn"),h[O(341,o)](_0x15cb24(Rect,I,2)),d[O(403,"jqSU")](f[O(401,"Oyol")],0)){const e=C[O(359,"UMPB")](f[O(475,"^O&c")]);if(e){let W=SUDOKU_COLORS.TEXT_PLACED;f[O(452,"K5ak")]&&(W=SUDOKU_COLORS.TEXT_GIVEN),f[O(382,"^O&c")]&&(W=SUDOKU_COLORS[O(511,"@zas")]),h[O(564,n)](_0x15cb24(_0xc1ee76,{x:d[O(313,t)](CELL_SIZE,e[O(379,"amIt")])/2,y:.68*CELL_SIZE,text:e[O(353,"h82P")],font:i,color:W},3))}}else if(d[O(356,n)](f.notes[O(339,"2[Zz")],0))for(let t=1;d[O(570,W)](t,9);t++)if(f[O(479,"ehl3")][O(459,"qRwn")](t)){const W=C[O(398,e)](t);if(W){const e=(t-1)%3,o=Math[O(361,"wXeM")]((t-1)/3),n=d.dzimm(e,NOTE_CELL_THIRD)+(NOTE_CELL_THIRD-W[O(325,"x!O4")])/2,_=o*NOTE_CELL_THIRD+d[O(429,"(p)d")](NOTE_FONT_SIZE_PX,.85),r={};r.x=n,r.y=_,r[O(334,"cGRE")]=W.textStr,r[O(449,"m2M]")]=u,r[O(367,"qRwn")]=SUDOKU_COLORS[O(505,"#&%*")],h.push(_0x15cb24(_0xc1ee76,r,10+t))}}const G={};G.translateX=L;const A={};A[O(435,"^O&c")]=D;const b={};b[O(529,"in]s")]=[G,A],b[O(422,"cGRE")]=h,x[O(456,"#goh")](d[O(342,o)](_0x15cb24,Group,b,CELL_GROUP_KEYS[E]))}return x},[O,r]),a={};return a[_(560,"Oyol")]=boardCanvasStyle,a[_(346,"#sJe")]=d.PHkOt,a.children=s,_0x15cb24(Canvas,a)});CellsCanvas[_0x2ded3e(389,"wOV!")]=_0x2ded3e(423,"(p)d");const NumberPadCanvas=_0x4acbac.memo(({onNumberPress:e})=>{const t=_0x2ded3e,W={nOUNt:function(e){return e()},sVLBK:function(e,t){return e-t},XxhDs:function(e,t){return e<t},yezfq:function(e,t){return e<=t},PzRnV:function(e,t,W,o){return e(t,W,o)},DvWPz:function(e,t){return e/t},gcLpb:function(e,t){return e>t},yMFza:function(e,t){return e*t},XPhFT:function(e,t){return e<t},vHoIa:function(e,t){return e>=t},dEHia:function(e,t){return e+t},Ltuht:function(e,t,W){return e(t,W)}},o=useGridVersion(),n=useMemo(()=>{const e=_0x5a99,{numBtnFont:t,numRemFont:o,digitData:n,remData:_}=W[e(329,"sm3*")](getFontCache),d=useSudokuStore[e(561,"ECZG")]()[e(433,"vUef")],O=[0,9,9,9,9,9,9,9,9,9];if(d[e(488,"@zas")]>0)for(let t=0;t<9;t++)for(let o=0;o<9;o++){const n=d[t]?.[o],_=n?.[e(318,"IGmJ")];_&&_>0&&!n.isError&&(O[_]=Math[e(417,"(p)d")](0,W[e(575,"in]s")](O[_],1)))}const r=[];for(let d=0;W[e(302,"(p)d")](d,9);d++){const s=d+1,a=NUM_BTN_POSITIONS[d],S=O[s],i=W[e(469,"@KXS")](S,0),u=[],C={x:0,y:4};C[e(428,"h^$#")]=NUM_BTN_W,C[e(331,"IGmJ")]=52,C.r=10,C[e(434,"TBLg")]=i?SUDOKU_COLORS.NUM_BTN_DISABLED_FRONT:SUDOKU_COLORS.NUM_BTN_FRONT,u[e(463,"%YDY")](_0x15cb24(RoundedRect,C,0));const R={x:0,y:0};if(R[e(462,"TBLg")]=NUM_BTN_W,R[e(446,"^O&c")]=52,R.r=10,R[e(418,"#goh")]=i?SUDOKU_COLORS[e(466,"K5ak")]:SUDOKU_COLORS[e(445,"(4B(")],u[e(442,"hUzw")](_0x15cb24(RoundedRect,R,1)),!i){const t={x:4,y:2};t.width=NUM_BTN_W-8,t[e(421,"r$$U")]=2,t.color=SUDOKU_COLORS.NUM_BTN_HIGHLIGHT,t.opacity=.5,u[e(499,"ECZG")](W[e(565,"Vp56")](_0x15cb24,Rect,t,2))}const x=n[e(376,"TBLg")](s);if(x&&u[e(513,"EDh$")](_0x15cb24(_0xc1ee76,{x:W.DvWPz(NUM_BTN_W-x.btnWidth,2),y:52*.58,text:x[e(432,"EDh$")],font:t,color:i?SUDOKU_COLORS.NUM_BTN_DISABLED_TEXT:SUDOKU_COLORS[e(314,"i@vY")]},3)),W[e(537,"TH)E")](S,0)){const t=_[e(405,"(4B(")](S);t&&u[e(362,"mGok")](_0x15cb24(_0xc1ee76,{x:(NUM_BTN_W-t[e(497,"in]s")])/2,y:W[e(482,"Oyol")](52,.82),text:t.textStr,font:o,color:SUDOKU_COLORS[e(370,"V2B@")]},4))}const f={};f.translateX=a.x;const m={};m[e(506,"DNtv")]=a.y;const L={};L.transform=[f,m],L[e(514,"EDh$")]=u,r.push(_0x15cb24(Group,L,NUM_BTN_KEYS[d]))}return r},[o]),_=useRef(e);_[t(457,"(4B(")]=e;const d=useCallback((e,o)=>{const n=t;if(useSudokuStore.getState()[n(311,"Oyol")])for(let t=0;W[n(411,"qRwn")](t,9);t++)if("tPPqg"===n(409,"jqSU")){const e={};e.onNumberPress=_0x135821,_0x5d0688=_0x594a39(_0x248aa2,e),_0x36d321[21]=_0x8785e6,_0xb26929[22]=_0x4087f7}else{const d=NUM_BTN_POSITIONS[t];if(W[n(363,"k76L")](e,d.x)&&e<=d.x+NUM_BTN_W&&o>=d.y&&o<=W[n(357,"Oyol")](d.y,56)){const e=t+1;return void _[n(349,"kh]u")](e)}}},[]),O=W.Ltuht(useMemo,()=>Gesture[t(413,"#&%*")]()[t(498,"wOV!")](e=>{runOnJS(d)(e.x,e.y)}),[d]),r={};return r[t(539,"Vp56")]=numPadCanvasStyle,r[t(384,"#&%*")]=t(348,"UKPg"),r[t(504,"k76L")]=n,W[t(377,"qRwn")](_0x15cb24,GestureDetector,{gesture:O,children:_0x15cb24(View,{style:styles.controlsContainer,children:_0x15cb24(Canvas,r)})})});NumberPadCanvas.displayName=_0x2ded3e(487,"sm3*");const GameAreaComponent=e=>{const t=_0x2ded3e,W={oXUhT:function(e,t,W){return e(t,W)},OjpvI:function(e,t,W){return e(t,W)},ScoeD:function(e,t,W){return e(t,W)},YsBFO:function(e,t){return e-t},aIDiH:function(e,t){return e<t},PItxx:function(e,t){return e>=t},nnraP:function(e,t){return e+t},XjFRY:function(e,t){return e===t},ZwZLI:function(e,t){return e!==t},XSblt:"WAXzo",snZrf:function(e,t){return e===t},AfoNO:function(e,t){return e!==t},aMXBt:function(e,t){return e!==t},UbZAN:"scwtn"},o=_0x4afc93(27),{gameService:n,offset:_}=e,d=W[t(326,"m2M]")](_,void 0)?0:_,O=useGridReady(),r=useSharedValue(1),s=useRef(0);let a,S;o[0]!==r?(a=()=>{const e=t,o=useSudokuStore[e(501,"@zas")](_temp,t=>{const o=e,n=s[o(430,"V2B@")];if(s.current=t,0===n)return;const _=useSudokuStore[o(378,"in]s")](),{selectedRow:d,selectedCol:O,grid:a}=_;if(d<0||O<0)return;const S=a[d]?.[O];if(S)if(S.isError&&S[o(540,"@zas")]>0){const e={duration:40},t={};t[o(412,"K5ak")]=40;const n={};n[o(444,"mGok")]=40;const _={duration:40},d={};d[o(453,"TH)E")]=14,d[o(397,"%YDY")]=300,r.value=withSequence(withTiming(1.02,e),W[o(528,"(4B(")](withTiming,.98,t),W[o(507,"TH)E")](withTiming,1.01,n),withTiming(.99,_),W[o(328,"r$$U")](withSpring,1,d))}else if(S[o(451,"(p)d")]>0&&!S[o(517,"mGok")]){const e={};e[o(569,"2[Zz")]=12,e[o(489,"hUzw")]=280,r[o(300,"^Db*")]=withSequence(withTiming(1.015,{duration:60,easing:Easing[o(492,"IGmJ")](Easing.cubic)}),W.ScoeD(withSpring,1,e))}});return()=>o()},S=[r],o[0]=r,o[1]=a,o[2]=S):(a=o[1],S=o[2]),useEffect(a,S);const i={};i.scale=r.value;const u=useAnimatedStyle(()=>({transform:[i]}));let C;o[3]!==n?(C=(e,o)=>{const _=t;if(!useSudokuStore[_(438,"mGok")]()[_(491,"Xfp(")])return;const d=W[_(481,"@KXS")](e,CELL_OFFSET_X),O=o-CELL_OFFSET_Y;for(let e=0;W[_(508,"iuFP")](e,9);e++)for(let t=0;t<9;t++){const o=CELL_POSITIONS[e][t];if(d>=o.x&&d<=o.x+CELL_SIZE&&W[_(500,"TBLg")](O,o.y)&&O<=W[_(534,"ECZG")](o.y,CELL_TOTAL_H))return void n.handleCellSelect(e,t)}},o[3]=n,o[4]=C):C=o[4];const R=C;let x;W[t(553,"UpSl")](o[5],n)?(x=e=>{const W=t;useSudokuStore[W(419,"amIt")]()[W(557,"UKPg")]&&n[W(392,"#sJe")](e)},o[5]=n,o[6]=x):x=o[6];const f=x;let m;if(o[7]!==R)m=Gesture[t(368,"#sJe")]().onEnd(e=>{runOnJS(R)(e.x,e.y)}),o[7]=R,o[8]=m;else{if("lOLau"===W.XSblt)return;m=o[8]}const L=m;if(!O){let e;if(o[9]!==d){const n={};n[t(548,"(J7I")]=d;const _={};_[t(426,"m2M]")]=[styles[t(350,"^Db*")],n],e=W[t(535,"jqSU")](_0x15cb24,View,_),o[9]=d,o[10]=e}else e=o[10];return e}let D,E,P,k,l,N,T;if(o[11]!==d){const e={};e[t(522,"K5ak")]=d,D=[styles[t(324,"ehl3")],e],o[11]=d,o[12]=D}else D=o[12];if(o[13]!==u?(E=[styles[t(396,"#goh")],u],o[13]=u,o[14]=E):E=o[14],o[15]===Symbol[t(336,"h82P")](t(471,"amIt"))?(P=_0x285043(View,{style:styles[t(354,"(p)d")],children:[W[t(465,"^O&c")](_0x15cb24,StaticBoardCanvas,{}),_0x15cb24(CellsCanvas,{})]}),o[15]=P):W.snZrf(t(298,"iuFP"),t(521,"UKPg"))?P=o[15]:_0x3404ae=_0x429073[15],o[16]!==L){if("QPJdC"!==t(316,"ECZG"))return;{const e={};e[t(531,"UKPg")]=L,e[t(519,"sm3*")]=P,k=_0x15cb24(GestureDetector,e),o[16]=L,o[17]=k}}else k=o[17];if(o[18]!==k||W[t(563,"e*4f")](o[19],E)){const e={};e[t(307,"@zas")]=E,e[t(562,"#&%*")]=k,l=_0x15cb24(_0x77ecc5.View,e),o[18]=k,o[19]=E,o[20]=l}else l=o[20];if(W[t(406,"sm3*")](o[21],f)){const e={};e.onNumberPress=f,N=_0x15cb24(NumberPadCanvas,e),o[21]=f,o[22]=N}else N=o[22];if(W.ZwZLI(o[23],l)||o[24]!==N||o[25]!==D){const e={};e.style=D,e.children=[l,N],T=_0x285043(View,e),o[23]=l,o[24]=N,o[25]=D,o[26]=T}else{if(W[t(516,"@KXS")]===t(454,"amIt"))return;T=o[26]}return T},_0x14e728={};_0x14e728.position=_0x2ded3e(369,"m2M]"),_0x14e728.width=BOARD_W,_0x14e728[_0x2ded3e(472,"kh]u")]=BOARD_H,_0x14e728[_0x2ded3e(394,"%YDY")]=0,_0x14e728[_0x2ded3e(366,"@zas")]=0;const boardCanvasStyle=_0x14e728,_0x401796={};_0x401796[_0x2ded3e(428,"h^$#")]=NUM_PAD_CANVAS_W,_0x401796[_0x2ded3e(494,"TH)E")]=60;const numPadCanvasStyle=_0x401796,_0x62bb51={};function _0x5a99(e,t){e-=298;const W=_0x532c();let o=W[e];if(void 0===_0x5a99.HIZEEx){const e=function(e,t){let W,o,n=[],_=0,d="";for(e=function(e){let t="",W="";for(let W,o,n=0,_=0;o=e.charAt(_++);~o&&(W=n%4?64*W+o:o,n++%4)?t+=String.fromCharCode(255&W>>(-2*n&6)):0)o="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(o);for(let e=0,o=t.length;e<o;e++)W+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(W)}(e),o=0;o<256;o++)n[o]=o;for(o=0;o<256;o++)_=(_+n[o]+t.charCodeAt(o%t.length))%256,W=n[o],n[o]=n[_],n[_]=W;o=0,_=0;for(let t=0;t<e.length;t++)o=(o+1)%256,_=(_+n[o])%256,W=n[o],n[o]=n[_],n[_]=W,d+=String.fromCharCode(e.charCodeAt(t)^n[(n[o]+n[_])%256]);return d};_0x5a99.iOAgYz=e,_0x5a99.JOOmZC={},_0x5a99.HIZEEx=!0}const n=W[0];_0x5a99.sGEWgV!==n&&(_0x5a99.JOOmZC={},_0x5a99.sGEWgV=n);const _=_0x5a99.JOOmZC[e];return void 0===_?(void 0===_0x5a99.gwsRpt&&(_0x5a99.gwsRpt=!0),o=_0x5a99.iOAgYz(o,t),_0x5a99.JOOmZC[e]=o):o=_,o}_0x62bb51.flex=1,_0x62bb51[_0x2ded3e(467,"K5ak")]=_0x2ded3e(476,"wOV!"),_0x62bb51[_0x2ded3e(301,"wXeM")]=_0x2ded3e(573,"#&%*");const _0x18e928={width:0};_0x18e928[_0x2ded3e(425,"^Db*")]=6;const _0x26bc5c={};_0x26bc5c[_0x2ded3e(524,"Vp56")]="#000",_0x26bc5c.shadowOffset=_0x18e928,_0x26bc5c.shadowOpacity=.35,_0x26bc5c.shadowRadius=12;const _0x37f9bc={};_0x37f9bc[_0x2ded3e(544,"iuFP")]=12;const _0x5bcef8={width:BOARD_W,height:BOARD_H,...Platform.OS===_0x2ded3e(458,"e*4f")?_0x26bc5c:_0x37f9bc},_0x6cc7c6={};_0x6cc7c6[_0x2ded3e(310,"wXeM")]=BOARD_W,_0x6cc7c6[_0x2ded3e(340,"hUzw")]=BOARD_H;const _0x11fe8f={};_0x11fe8f.width=gameWidth,_0x11fe8f[_0x2ded3e(542,"V2B@")]=20;const _0x13a54d={};_0x13a54d.container=_0x62bb51,_0x13a54d[_0x2ded3e(424,"TH)E")]=_0x5bcef8,_0x13a54d[_0x2ded3e(317,"k76L")]=_0x6cc7c6,_0x13a54d[_0x2ded3e(512,"2[Zz")]=_0x11fe8f;const styles=StyleSheet.create(_0x13a54d);export const GameArea=_0x4acbac.memo(GameAreaComponent);function _temp(e){return e[_0x2ded3e(407,"i@vY")]}GameArea[_0x2ded3e(567,"h82P")]="GameArea";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";function _0x2607(o,e){o-=458;const r=_0x425e();let t=r[o];if(void 0===_0x2607.telQsq){const o=function(o,e){let r,t,n=[],W=0,s="";for(o=function(o){let e="",r="";for(let r,t,n=0,W=0;t=o.charAt(W++);~t&&(r=n%4?64*r+t:t,n++%4)?e+=String.fromCharCode(255&r>>(-2*n&6)):0)t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(t);for(let o=0,t=e.length;o<t;o++)r+="%"+("00"+e.charCodeAt(o).toString(16)).slice(-2);return decodeURIComponent(r)}(o),t=0;t<256;t++)n[t]=t;for(t=0;t<256;t++)W=(W+n[t]+e.charCodeAt(t%e.length))%256,r=n[t],n[t]=n[W],n[W]=r;t=0,W=0;for(let e=0;e<o.length;e++)t=(t+1)%256,W=(W+n[t])%256,r=n[t],n[t]=n[W],n[W]=r,s+=String.fromCharCode(o.charCodeAt(e)^n[(n[t]+n[W])%256]);return s};_0x2607.eiaoXv=o,_0x2607.ResdPW={},_0x2607.telQsq=!0}const n=r[0];_0x2607.mVXcON!==n&&(_0x2607.ResdPW={},_0x2607.mVXcON=n);const W=_0x2607.ResdPW[o];return void 0===W?(void 0===_0x2607.wAWZOK&&(_0x2607.wAWZOK=!0),t=_0x2607.eiaoXv(t,e),_0x2607.ResdPW[o]=t):t=W,t}const _0x46c4f9=_0x2607;!function(){const o=_0x2607,e=_0x425e();for(;;)try{if(874341==-parseInt(o(488,"*lID"))/1+-parseInt(o(473,"hXBj"))/2*(parseInt(o(469,"Fs55"))/3)+parseInt(o(482,"hXBj"))/4*(-parseInt(o(470,"oNxG"))/5)+parseInt(o(474,"7SW("))/6*(-parseInt(o(465,"mT8A"))/7)+-parseInt(o(461,"oNxG"))/8+parseInt(o(459,"4HDy"))/9+-parseInt(o(481,"FZ#b"))/10*(-parseInt(o(479,"4HDy"))/11))break;e.push(e.shift())}catch(o){e.push(e.shift())}}();import{c as _0x79fd20}from"react/compiler-runtime";import _0x527447 from"react";import{View}from"react-native";import{ScoreBoardContainer,ScoreValue,ScoreTimer,scoreBoardStyles as _0x1fd7f1}from"../../../helpers/index.js";import{useScore,useTimeRemaining}from"../SudokuStore.js";import{jsx as _0x97f3d7,jsxs as _0x590fbf}from"react/jsx-runtime";export const ScoreBoard=_0x527447[_0x46c4f9(476,"!Umf")](o=>{const e=_0x46c4f9,r={QOIup:function(o){return o()},gYsQW:function(o,e){return o!==e},dKJSB:function(o,e){return o!==e},JIOWp:function(o,e){return o!==e},AKoFI:function(o,e,r){return o(e,r)}},t=_0x79fd20(10),{offset:n}=o,W=void 0===n?0:n,s=r[e(464,"hXBj")](useScore),i=useTimeRemaining();let f,x,d,m;if(r.gYsQW(t[0],s)){const o={};o.score=s,f=_0x97f3d7(ScoreValue,o),t[0]=s,t[1]=f}else f=t[1];if(t[2]!==i){const o={};o[e(468,"3W05")]=i,o[e(486,"FZ#b")]=60,x=_0x97f3d7(ScoreTimer,o),t[2]=i,t[3]=x}else x=t[3];if(t[4]!==f||r[e(472,"Fs55")](t[5],x)){const o={};o.style=_0x1fd7f1[e(484,"FjOP")],o[e(460,"plVx")]=[f,x],d=_0x590fbf(View,o),t[4]=f,t[5]=x,t[6]=d}else d=t[6];if(t[7]!==W||r[e(478,"3W05")](t[8],d)){const o={};o[e(467,"mT8A")]=W,o[e(475,"j5MM")]=d,m=r.AKoFI(_0x97f3d7,ScoreBoardContainer,o),t[7]=W,t[8]=d,t[9]=m}else m=t[9];return m});function _0x425e(){const o=["WOCWWPeOASoZkq","CCkNgCoLW4tcNJ7cGub2BSoCWQG","dJ4Ah8oJtLBcNa","W7CFWRNcNYZcSc0pBmkbcxbcWRy","W7CbW6NcLmocW7Hxbs7dMYq1","t8o0WPvwhmkUW7aqWQmCmXxcQ1q","vmoLW77dImkS","ECouWQVcImkYpYK","x2vfrCk+cWBdGSopWP9NW4PTcW","iCoFWOdcVmk7aW","WQLUxCkPW5CCWOu","emkMW73cJ8oUrmkL","W7nLW6NdRx7dG3e","DmoPuKFcGSoVW6tdQW","r8kgW6hcKCoC","nmkFWOFcHmoLW7xdT35lWRaMWPzp","WOSFW5yoW77cVJtcLCohhqpcOSkc","WO4jydVdNdi8ga","k8k+ruC","W7iFWRJcLIFcTIX2rCkjbung","WPbcCCkrW4K","E8kGv8k8WOVdS1pcIq","CxK0qSo8WQL8","rSooAqVdTmoeWONcKv0xox5dWOm","mCkAWOFcJCoUW7tdU3TXWO8gWP5K","WQ7dOCkwzwVdHmo2gmogwXRcS8kG","WPC1AW","WPOrt8kBW7erW73cNKrVcG","gmkskgNcPCkbW5NdKKqHah0","W64iygTAW65tt8oIDmkgWRjw","WRf+WOxdJxBcMCkIaZ1nW5pcNG"];return(_0x425e=function(){return o})()}ScoreBoard[_0x46c4f9(485,"$evo")]="ScoreBoard";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var _0x4d0a18=_0x5bb1;function _0x2646(){var r=["qsVcRxddMKBcTSkYW5xcP0VcJa","WPdcSSo8W6S7W47dQ8oIWOi","ACocWOlcU2FcTmkHW6VcIG","nSkwW5VdQaRdRCkJW4NcLmkCW6ne","WRzzbmoqeCoJxvb+","dN7dMGNdJCo7xmoHW6ddLrG","W5xcHGVdRxFdICkkW7qwrq","W7G8wfWFBSkY","wgbziHrlFmo3","WORdRL7dJeZdSvWKgCkwb8oCka","W4VdKSkscXFcLLu","W7a2W4NdG8o/smo7","WO7dVSkxnstcRx19ga","W5ZcVWVcNY3cQaymcq","WPldMMeKW4XgpW","W7znWQZcG8kFo8kxe8kcyCkjux4","zmkSAsDdFeauW4u","q8klESkMh2FdIa","W71xCwuXASkIzW","WPJcRhO0W4Lwk0e","W7JdKmkhW5ZcOCo/aCo5","DW07W7q5WPxdRvRdQa","uw1Daq1XFCoD","F8oze8oCW6JdJmo5shJcJCo7W4u","yGZcG8kNWPXfW6JcTsu","WRORWPBcJSk3E3VdV8kfW4hdQhBdGW","WPxcUCoruu1orw1uAwpdICoK","W6RdSHjKW47cOmonWQPTc8kk","hmk4W6qQW5vOamkhdX1Gpde","WPpcQWvOWQ85jgldVSkIWOZcOa","W67dTbDIW4ZdVmosWPLbp8k6na"];return(_0x2646=function(){return r})()}function _0x5bb1(r,a){r-=112;var e=_0x2646(),W=e[r];void 0===_0x5bb1.FkUKbI&&(_0x5bb1.FdDFfS=function(r,a){var e,W,t=[],d=0,o="";for(r=function(r){for(var a,e,W="",t="",d=0,o=0;e=r.charAt(o++);~e&&(a=d%4?64*a+e:e,d++%4)?W+=String.fromCharCode(255&a>>(-2*d&6)):0)e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(e);for(var n=0,x=W.length;n<x;n++)t+="%"+("00"+W.charCodeAt(n).toString(16)).slice(-2);return decodeURIComponent(t)}(r),W=0;W<256;W++)t[W]=W;for(W=0;W<256;W++)d=(d+t[W]+a.charCodeAt(W%a.length))%256,e=t[W],t[W]=t[d],t[d]=e;W=0,d=0;for(var n=0;n<r.length;n++)d=(d+t[W=(W+1)%256])%256,e=t[W],t[W]=t[d],t[d]=e,o+=String.fromCharCode(r.charCodeAt(n)^t[(t[W]+t[d])%256]);return o},_0x5bb1.TYFUqJ={},_0x5bb1.FkUKbI=!0);var t=e[0];_0x5bb1.QXAVfG!==t&&(_0x5bb1.TYFUqJ={},_0x5bb1.QXAVfG=t);var d=_0x5bb1.TYFUqJ[r];return void 0===d?(void 0===_0x5bb1.nugaME&&(_0x5bb1.nugaME=!0),W=_0x5bb1.FdDFfS(W,a),_0x5bb1.TYFUqJ[r]=W):W=d,W}!function(){for(var r=_0x5bb1,a=_0x2646();;)try{if(302467==parseInt(r(126,"DW3U"))/1*(-parseInt(r(142,"DW3U"))/2)+parseInt(r(137,"6Q9J"))/3+parseInt(r(124,"sSYt"))/4*(parseInt(r(116,"DW3U"))/5)+parseInt(r(135,"!ePq"))/6*(-parseInt(r(123,"4ABE"))/7)+parseInt(r(122,"oRK3"))/8+parseInt(r(117,"B4dh"))/9*(-parseInt(r(131,"6Ag)"))/10)+-parseInt(r(115,"!ePq"))/11*(parseInt(r(127,"sSYt"))/12))break;a.push(a.shift())}catch(r){a.push(a.shift())}}();import{setGameInterval,clearGameInterval}from"../../helpers/GameTimer.js";export class TangramService{[_0x4d0a18(118,"FM&A")]=null;[_0x4d0a18(134,"2bA$")](r){var a=_0x4d0a18;this[a(113,"q*s7")](),this[a(121,"xoB%")]=setGameInterval(r,1e3)}[_0x4d0a18(140,"wibO")](){var r=_0x4d0a18;this[r(130,"6Ag)")]&&(clearGameInterval(this[r(132,"Ofbi")]),this[r(141,"6Q9J")]=null)}[_0x4d0a18(114,"%8@T")](){this[_0x4d0a18(129,"gtEy")]()}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const _0x241be0=_0x407f;function _0x407f(e,t){e-=117;const o=_0x4a94();let r=o[e];if(void 0===_0x407f.nQoYkA){const e=function(e,t){let o,r,n=[],W=0,s="";for(e=function(e){let t="",o="";for(let o,r,n=0,W=0;r=e.charAt(W++);~r&&(o=n%4?64*o+r:r,n++%4)?t+=String.fromCharCode(255&o>>(-2*n&6)):0)r="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(r);for(let e=0,r=t.length;e<r;e++)o+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(o)}(e),r=0;r<256;r++)n[r]=r;for(r=0;r<256;r++)W=(W+n[r]+t.charCodeAt(r%t.length))%256,o=n[r],n[r]=n[W],n[W]=o;r=0,W=0;for(let t=0;t<e.length;t++)r=(r+1)%256,W=(W+n[r])%256,o=n[r],n[r]=n[W],n[W]=o,s+=String.fromCharCode(e.charCodeAt(t)^n[(n[r]+n[W])%256]);return s};_0x407f.KfDccK=e,_0x407f.iDlxwv={},_0x407f.nQoYkA=!0}const n=o[0];_0x407f.NEgMQQ!==n&&(_0x407f.iDlxwv={},_0x407f.NEgMQQ=n);const W=_0x407f.iDlxwv[e];return void 0===W?(void 0===_0x407f.XHIgkI&&(_0x407f.XHIgkI=!0),r=_0x407f.KfDccK(r,t),_0x407f.iDlxwv[e]=r):r=W,r}!function(){const e=_0x407f,t=_0x4a94();for(;;)try{if(416387==-parseInt(e(149,"C*#$"))/1*(-parseInt(e(124,"Wno^"))/2)+-parseInt(e(164,"@CDv"))/3+-parseInt(e(126,"@CDv"))/4+-parseInt(e(162,"RM]W"))/5+parseInt(e(148,"l)@j"))/6*(parseInt(e(163,"%JIJ"))/7)+-parseInt(e(150,"q7(W"))/8+-parseInt(e(144,"rhnq"))/9*(-parseInt(e(179,"q*tM"))/10))break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import{create}from"zustand";import{subscribeWithSelector}from"zustand/middleware";function _0x4a94(){const e=["emoXW7bvncddTq","W6lcNCk0z3e","WP5FjfFcMN/cNMBcPa","j8k0W6hcNuFcI8oEW7DHwSojWQdcNa","W5tdNmk1W5WlW7PG","x8o0W4dcT8oB","ACo/bCkCWQvjFmooWQqAoCow","v8krfSkHW64KW7/dVCk3WPVcMsNdKq","W7ZdMmokbhPOCdpcHSobWOBcNmkk","W5SNWRldP8oC","WOVdISkaW5K1W71JWQ1yW6K","W6ddSCkyCd/dRwRdPW","eCoct8oRWR0","xSkGW5VcUmoy","W4PwWRyyBG","WPVcVXHzeW","W4FdOrJdT0O","vCoBW6JcG8oQ","W6mnWPddG8o8evhcLafllSkr","puJcIbVcRq","W6PLWOqtqSo4W7RdRCogWOChWPS","WPBdI8kTgmk0W43cSCkQW6r0","c8osD8o2WRy","WOKMW43cNKhcLfldHCoCWQb+W7q","y8o0sbmaF8krWRZcGHO","W6KgW6rVeq","WQ9IWOK8FmomifG","cSkkW6FdLhhcG8obWP7cPtyO","FmkjW7JdP8kioaRcUW","WOVcSJnqkuWcWO/cO3DkW5bF","pmoIFry+Emks","eCk8u2ZcL8o9WRW","wCk3BSkvsCoZgSo/WR9eDdjA","zSojWQ03W7FdIgZdN0a","W6pdLCoEu8kr","W7tdKmk9EaaAnXu","omkTW7tcSr4","WO/dLSkXW50R","W6GnW7fldmksWQZdNmkAWOJcPa","W7rLWOetwG","W78OWP0Fv8oZoNm6","W4uNWRFdP8oeggtcRZDHbmkS","WPRcMmkEFJW","W7VdKSksubpcP1ldV24f","WRNdO8olAxVcICkdw2tcNZyY","phtcVSoWWOvJW792pJHNWOiz","W7ZdKmoiaN9RCrNcOSoYWRRcI8kM","AmowWQyyWOBcIeddSYG","pmkgxua4l8ortCo7WPRcGXi","cSkmW77dKfhcTSooWO8","h8oNnCoipmkUsmoI","iCo4dmoApq","o2RcG8kXFa","emkzW43cU33cQ8oiW4Pvymo0","WQSiWPldHcO","pSklW45OWQBcHthdKKZcRSk6WPldMq","WOvSW7lcJ1eCW4rX","WPBdI8k9fSk3","xCokWR/cV3DdDCoKWRVdTwHYEG","lSkUrSojW6CNyCo/WR8IhmoI","a33cVbxcUXzPW60FWOyLka","W5FdPwSHrmkhWRxdOhhdJ3/cPW","l8oThSoxeW","eCoGkrFdV8kHW4iBBI18WQdcIG"];return(_0x4a94=function(){return e})()}import{TANGRAM_GAME_CONFIG}from"./TangramConstants.js";import{calculateTimeBasedScore}from"../../services/ScoringService.js";const _0x40fadc={};_0x40fadc[_0x241be0(158,"rhnq")]=!1,_0x40fadc[_0x241be0(175,"WyOw")]=!1,_0x40fadc.isGameOver=!1,_0x40fadc[_0x241be0(157,"NEtE")]=0,_0x40fadc[_0x241be0(145,"5qoJ")]=TANGRAM_GAME_CONFIG[_0x241be0(141,"^Q*(")],_0x40fadc[_0x241be0(156,"tX1)")]=0,_0x40fadc.resetVersion=0,_0x40fadc[_0x241be0(130,"w([*")]=0,_0x40fadc[_0x241be0(131,"bfsc")]=0,_0x40fadc[_0x241be0(146,"5eL@")]=TANGRAM_GAME_CONFIG.GAME_DURATION;const INITIAL_STATE=_0x40fadc;export const useTangramStore=create()(subscribeWithSelector((e,t)=>({...INITIAL_STATE,setupLevel:t=>{const o=_0x241be0;e(e=>({level:t,totalPieces:TANGRAM_GAME_CONFIG[o(136,"a)Yi")],placedCount:0,moves:0,score:0,timeLeft:TANGRAM_GAME_CONFIG[o(147,"xC18")],isWon:!1,isGameOver:!1,resetVersion:e[o(138,"NEtE")]+1}))},startGame:()=>{const t=_0x241be0,o={};o[t(120,"6TKv")]=!0,o[t(134,"RA^S")]=!1,o[t(161,"&rKf")]=!1,e(o)},resetGame:()=>{const t=_0x241be0;({WLfLe:function(e,t){return e(t)}})[t(133,"xC18")](e,e=>({...INITIAL_STATE,resetVersion:e[t(178,"Acu$")]+1}))},placePiece:()=>{const o=_0x241be0,r={qgtGx:function(e){return e()},BvOQZ:function(e,t){return e+t}},n=r[o(143,"tX1)")](t);if(!n[o(165,"a$Ah")])return;const W=n.placedCount+1;let s=n.score+TANGRAM_GAME_CONFIG.POINTS_PER_PIECE;const a=W>=n[o(145,"5qoJ")];if(a){const e=TANGRAM_GAME_CONFIG[o(176,"MQ[J")]-n[o(174,"9Wb7")];s=calculateTimeBasedScore(e,TANGRAM_GAME_CONFIG[o(121,"63Tl")],s)}e({placedCount:W,moves:r[o(170,"4diw")](n[o(155,"2#fl")],1),score:s,isWon:a,isPlaying:!a&&n[o(151,"xYhu")]})},decrementTime:()=>{const o="q7(W",r=_0x241be0,n={LXJuj:function(e,t){return e(t)},DcFzc:function(e,t){return e<=t},JvTwM:function(e,t){return e!==t},yLGFT:r(154,"pSbQ"),WqgIv:r(152,"9(OI")},W=t();if(!W.isPlaying||W[r(119,"8d$P")]||W[r(128,"2#fl")])return;const s=W.timeLeft-1;if(n[r(180,o)](s,0))if(n[r(169,o)](n[r(135,"Lsks")],n[r(160,"@CDv")])){const t={};t[r(129,"cO^y")]=0,t[r(139,"WyOw")]=!0,t.isPlaying=!1,e(t)}else HkznOO[r(172,"GBhN")](_0x4b739b,e=>({..._0x5e30fa,resetVersion:e[r(177,"Wno^")]+1}));else{const t={};t[r(167,"5qoJ")]=s,e(t)}}})));export const useIsPlaying=()=>useTangramStore(_temp);export const useIsWon=()=>useTangramStore(_temp2);export const useIsGameOver=()=>useTangramStore(_temp3);export const useScore=()=>useTangramStore(_temp4);export const useTimeLeft=()=>({LPGkb:function(e,t){return e(t)}}[_0x241be0(137,"Acu$")](useTangramStore,_temp5));export const useLevel=()=>({RVAnX:function(e,t){return e(t)}}[_0x241be0(132,"NEtE")](useTangramStore,_temp6));export const usePlacedCount=()=>useTangramStore(_temp7);export const useResetVersion=()=>useTangramStore(_temp8);function _temp(e){return e[_0x241be0(158,"rhnq")]}function _temp2(e){return e[_0x241be0(140,"w([*")]}function _temp3(e){return e[_0x241be0(142,"l)@j")]}function _temp4(e){return e[_0x241be0(123,"Lsks")]}function _temp5(e){return e[_0x241be0(168,"q7(W")]}function _temp6(e){return e[_0x241be0(127,"a)Yi")]}function _temp7(e){return e[_0x241be0(171,"63Tl")]}function _temp8(e){return e[_0x241be0(159,"a)Yi")]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const _0x41541c=_0x3a94;function _0x3a94(e,t){e-=197;const o=_0x5f4a();let n=o[e];if(void 0===_0x3a94.TjnaLv){const e=function(e,t){let o,n,W=[],a=0,r="";for(e=function(e){let t="",o="";for(let o,n,W=0,a=0;n=e.charAt(a++);~n&&(o=W%4?64*o+n:n,W++%4)?t+=String.fromCharCode(255&o>>(-2*W&6)):0)n="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(n);for(let e=0,n=t.length;e<n;e++)o+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(o)}(e),n=0;n<256;n++)W[n]=n;for(n=0;n<256;n++)a=(a+W[n]+t.charCodeAt(n%t.length))%256,o=W[n],W[n]=W[a],W[a]=o;n=0,a=0;for(let t=0;t<e.length;t++)n=(n+1)%256,a=(a+W[n])%256,o=W[n],W[n]=W[a],W[a]=o,r+=String.fromCharCode(e.charCodeAt(t)^W[(W[n]+W[a])%256]);return r};_0x3a94.GwFVmC=e,_0x3a94.wspiez={},_0x3a94.TjnaLv=!0}const W=o[0];_0x3a94.sPQGaE!==W&&(_0x3a94.wspiez={},_0x3a94.sPQGaE=W);const a=_0x3a94.wspiez[e];return void 0===a?(void 0===_0x3a94.sARhyt&&(_0x3a94.sARhyt=!0),n=_0x3a94.GwFVmC(n,t),_0x3a94.wspiez[e]=n):n=a,n}!function(){const e=_0x3a94,t=_0x5f4a();for(;;)try{if(634177==-parseInt(e(289,"iea1"))/1+-parseInt(e(371,")RDY"))/2+-parseInt(e(235,"kv!Z"))/3*(parseInt(e(351,"rWEt"))/4)+parseInt(e(372,"4cZx"))/5+-parseInt(e(244,"oOCy"))/6*(-parseInt(e(322,"kv!Z"))/7)+-parseInt(e(302,"f!0["))/8*(-parseInt(e(202,"dQ*m"))/9)+-parseInt(e(283,"m[j#"))/10*(-parseInt(e(231,"BnUX"))/11))break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import{c as _0x111019}from"react/compiler-runtime";import _0x248e7c,{useMemo,useRef,useEffect}from"react";import{StyleSheet}from"react-native";import{Canvas,Path,Group}from"@shopify/react-native-skia";function _0x5f4a(){const e=["WQDdEfVcTSk0va","b1tcGbnvWOldNCovpW","l2f1W4JdOq","WR7cLmoeyg4","W6ZcT0SJWOW","eIJcJCoPkG","uCoEru8n","WRFcMSoLihTLW7W","zCoptuK3","WQVcMSkEo8kLWOb+W7K","pG3cHSoHcq","zwiDW7BdMCoBW53dRW","y8oSyW","mCkjfxfV","DSoXWOD+WPmmA8kxvCoiW5S","WO9cW606dSovWObmBa","ds1OdW","W43cGvqGWR0","DmopueSoxX3dNmk/W71rW6i","W6D2zfBcMG","W6uJqaW4B8o0","qSoky8kYWQu","ASkBzCoLW5y","aSofWPWi","grL3kSomWOG","gSotWO8mnSo3WPXDWQ3dO8oz","mNBdP8kLWQGOWOZcUmkRCW","WOjppmodkJnspZKcWRu","W7pcHcJdSYe","EudcJSoAwW","yNCDW77dL8ok","W7jIELhcMSk2zq","x8kDr8oEW4W","DSoCxvay","wSkBvSoeW4a","wrdcI8kUWQSOW7FcH8o1","W6BcKMVcOXmzW63cICoFW6ldJ3C","gSoLpmo9tW","vr7dOs5o","B8o1na","DCoBEumL","W5BcO8kDW74lW7tcU8kzWPq","kmozdmojiG","bCkjrSoAvW","qGdcGmk6WQaU","daP+pSoD","WRxcJKGNWRzOkmkQb8oIW7/cPq","uK/dPCk8u8kNlYX3WPBcVCkP","WQVcUCknkmoRuh4","WR/dIWZdP0zoW7/cMG","W5T+pJ0/","ugyzW7X3W7WKW4FdKG","WQ40l8obW68","smotcmknWQzhW5pcQ1fCqtvjoeq","qmo5WPDR","W7ZdJdnQW5i","ExiqW75q","gSkWCCoZ","vqldNdTf","amoDWOaypW","W6ZcOwOBWPflWOa","CCotw086sCou","aSkHW5NdOGJdS8o8W7ZcOW","WPrEW4K3g8oj","W6f+BudcMSkR","t8kDBCo7jSkHv8kxwW","zgqvW61bW7y3W7BdJW","ecfNhSoSWQNdUsjZ","kJVcISo+bG","mKvR","WPFcRs1Wcmk3W6qdwG","fYn0dCo9WRJdMq5/","mZjReCo6","W5TpFG5l","ac86uNW","esSIDg3cHvzv","W6SIDsq2","W6pcKt/dQsu8xSomW6e2","j3ipw3ig","aSk0Bmo8CGq","yhlcRCorCW","W47cUYpdHIy","mqBdNrxcOf/cPColW6K","W5tcJN07WRW","cCk+ACo0Aa","hmoRi8oHxJ7dKSkj","WQpdGc0","EmoVnSk3WOX8W6i","igCpu3WxluS","FCoZkmkP","WRdcMSoLm2PIW6C6","W6uZxaO4CW","W6SZxXe","W4vMiICU","WQiNpHVdJmoSxSo7W4dcH8kgW4G","WQddJdZdTeDC","qaZdNcfs","rmoXWPf5","W6tcNwdcPg9MW5VcL8oOW6a","W5JcLuONWR1RWRm","nHpdLH7cOa","WPbqW5eJcG","c0vR","W5jLpt0NkWldMG","cCkWA8oTEWmgl2yt","W4RcTZXpqa","W5LbyG","W4DVpSoucdPa","WQdcQCkwpCoMsG","WRNcN8oNjCo+WOS","cmopnmoKaa","W6FdGW5TW6m+mq","jHBcMSoafW","trNdNbtdQW","wrhcM8kYWQm/W4NcJmo0f3G","lCoypXCp","WOpcRmopxuK5hhe","W5TIjZuJkG","ywyyW6Xq","bsC6D3JcKeO","fYJdUZpcKw4","zCoXDSkzWR4VeSk/yJ8","fCk9W4JdOqFdOmoSW5dcP1Wk","WR3cGCo+jNDQW6qgWQqx","WQZcJSkclmkWWPPcW74ZuG","edz0bCoZWQK","eSozWOS","zmohruG6","wmkvv8oc","zYRcPCooWOO5WO7cQa","WOveW48KcSocWP0","WOdcPmoztKq","ywiBW7K","aSooWO0dkColWPjaWQBdJW","W4ZcIvWHWRa","t8krv8o5W5dcRwFcLW","WQBdHdxdOKC","W5NdU8oPtCosoSoa","rx5GhYRdKg1bW48luJy","W7b1E0ZcK8kTzCoV","yJlcM8kXWRK","WRVcGCovn3LIW6y","AdhdHctdPG","imolWRG1hq","W6hcLgi7WRq","yIdcSmoVWPO","W4/dP01Bc8keW4yODW","WQ7cICoEDKO","W5dcMttdVcezzmoaW6W","W7VdTCogACk8b2eeECoVChS","d8oXiSo6tZNdIq","WRVcTCksn8oRsNGB","qNPVfYRcT3b2W4W7Bq","acnOhmo5WR/dMaHXmq","CcdcOSo0WOOXWPxcOW","hmkBkN5ccG5+W697","W4ZdR8o3sSos","zSoHWOrR","WQhcPmoytq","WRNcLCoQi8oMWRpcOXLYyCoe","ACoyW4y2WPO","fSkjfgrcadr5W7i","WRJcPCkAoCoRtq","CcBcTmo+WPS","k3vYW6FdGa","jmkVW4y6W45BDmkVwCovW7ldQa","d8oRpmoNwa","ac1QbCoQ","tf0REmkoW5JdSx4dEq4w","WPzyW5G1cG","W4LBybPAzXjs","W4vwrMtcRCkzxa","WRZcVSkEnmo9uMSwzSo4xwe","jJhdGbxcLa","W5FdQ8o2ua","rmkrrCoE","adD0gmo9WQldVW","DI7cVCoOWPS","gr5GoCoDWOpdSG","pXCVFvS","BCo7kmkWWOW","WQZcMSkEkmk0WODL","W6ddM8kUyI1yW5OsWQy7ia","cmoXiSoPxJ7dKSkj","WORdTCofW7S","W6pcNgdcPbawW6dcMCoeW6RdGfm","xSoImmksWOO","WQpcM8oLn8oV"];return(_0x5f4a=function(){return e})()}import _0x3d30c8,{useSharedValue,useAnimatedStyle,withTiming,runOnJS}from"react-native-reanimated";import{Gesture,GestureDetector}from"react-native-gesture-handler";import{useLevel,useResetVersion,useTangramStore}from"../TangramStore.js";import{generateLevel,isRotationMatched,snappedRotation,localPath,BOARD_W,BOARD_H,SNAP_DIST,TRAY_SCALE,TANGRAM_COLORS as _0x50563b}from"../TangramConstants.js";import{playSound,GAME_SOUNDS}from"../../../services/SoundsService.js";import{playHaptic,HapticType}from"../../../services/HapticsService.js";import{jsxs as _0x3a4fc7,jsx as _0x24e93f}from"react/jsx-runtime";const _0x47a43e={};_0x47a43e[_0x41541c(291,"rWEt")]=_0x41541c(276,"BnUX"),_0x47a43e[_0x41541c(364,"UZk5")]=0,_0x47a43e[_0x41541c(312,"3Lid")]=0,_0x47a43e[_0x41541c(271,"3B]S")]=BOARD_W,_0x47a43e[_0x41541c(254,"^C&r")]=BOARD_H;const SILHOUETTE_CANVAS_STYLE=_0x47a43e,Silhouette=_0x248e7c[_0x41541c(311,"k7a#")](e=>{const t=_0x41541c,o={oHqqW:function(e,t){return e(t)},PpMRO:t(367,"dQ*m"),BoFOr:function(e,t){return e!==t},csQzy:t(329,"3B]S"),oXCAM:t(323,"UZk5")},n=o.oHqqW(_0x111019,7),{pieces:W}=e;let a,r,i;if(n[0]!==W?o.PpMRO===t(280,"9tgR")?(a=W.map(_temp),n[0]=W,n[1]=a):_0x3679f9=_0x18de39[3]:a=n[1],o[t(347,"3Lid")](n[2],W))r=W.map(_temp2),n[2]=W,n[3]=r;else{if(o[t(242,"!1^F")]!==o[t(363,")mK0")])return _0x4d0e7d[t(264,"uEH*")]=_0x46984b[t(266,"rWEt")]()[t(207,"m[j#")]?1:0,_0x2350f9[t(360,"Mxsg")](e=>e[t(298,"xs$h")],e=>{_0x34f4b4[t(230,"^C&r")]=e?1:0});r=n[3]}if(o[t(249,"4cZx")](n[4],a)||n[5]!==r)if("ExtWc"===o[t(368,"xUwb")]){const e={};e[t(237,"z%&y")]=SILHOUETTE_CANVAS_STYLE,e.pointerEvents=t(341,"@iCi"),e.children=[a,r],i=_0x3a4fc7(Canvas,e),n[4]=a,n[5]=r,n[6]=i}else _0x2cbf83=_0x30f311[6];else i=n[6];return i});Silhouette.displayName="Silhouette";const _canvasStyleCache=new Map,getCanvasStyle=e=>{const t=_0x41541c;let o=_canvasStyleCache.get(e);if(!o){const n={};n[t(357,"3Lid")]=e,n[t(216,"xUwb")]=e,o=n,_canvasStyleCache[t(223,"kv!Z")](e,o)}return o},PieceViewInner=({piece:e,activeSV:t,playingSV:o,claimTarget:n,onPlaced:W,soundEnabledRef:a,hapticEnabledRef:r})=>{const i="@iCi",s="RWp)",u="b2oO",d=_0x41541c,x={IYyZB:function(e,t,o){return e(t,o)},OqZuq:function(e,t,o){return e(t,o)},ZtZnl:function(e,t,o){return e(t,o)},mtGZk:function(e,t,o){return e(t,o)},YDcLf:function(e,t){return e===t},vQQfO:"nudge",NBVqc:function(e,t){return e/t},SItEh:function(e,t){return e(t)},TeVTy:d(355,"YMx3"),wGGlM:d(359,"3Lid")},S=x[d(205,"4cZx")](e[d(214,"!hp[")],2),f=useSharedValue(e[d(204,"@iCi")]),m=useSharedValue(e[d(203,"r!3[")]),l=useSharedValue(e.initialRot),_=useSharedValue(0),p=useSharedValue(0),C=useSharedValue(0),k=useRef(e[d(260,"b2oO")]),R=useMemo(()=>localPath(e[d(296,"e%2f")],S,S),[e[d(350,"9tgR")],S]),O=useMemo(()=>getCanvasStyle(e[d(290,"@iCi")]),[e[d(261,"EFLe")]]),h=useRef(n);h[d(236,"3B]S")]=n;const y=useRef(W);y.current=W;const G=x[d(250,"y[g6")](useRef,()=>{const o=d;if(C[o(327,"D^8p")])return;t[o(358,"^J3s")]=e.id,k.current+=45;l.value=withTiming(k[o(248,")RDY")],{duration:140}),x[o(377,"Q1XD")](playSound,GAME_SOUNDS.TANGRAM[o(257,"z%&y")],a[o(274,"k7a#")]),x.OqZuq(playHaptic,HapticType.LIGHT,r[o(345,"jfHp")])})[d(313,i)],g=x[d(346,"mT#4")](useRef,(t,o)=>{const n=d;if(C[n(314,"rWEt")])return;const W=h[n(274,"k7a#")](e[n(294,"f!0[")],t,o,k[n(332,u)]);if(W&&W!==n(381,"r!3[")){C[n(255,"r!3[")]=1;const e={};e[n(307,"YkGX")]=160,f[n(297,"Tqc1")]=x[n(328,"Dz79")](withTiming,W.cx,e);const t={};t[n(227,u)]=160,m[n(247,"dQ*m")]=x[n(281,"3B]S")](withTiming,W.cy,t),k.current=W.rot;const o={};o[n(334,"EFLe")]=160,l[n(317,"UZk5")]=x[n(213,"jfHp")](withTiming,W[n(337,"mT#4")],o),x[n(335,"4cZx")](playSound,GAME_SOUNDS[n(308,"BnUX")].PLACE,a[n(267,"%fiT")]),playHaptic(HapticType.SUCCESS,r.current),y[n(356,"BnUX")]()}else x[n(284,"Dz79")](W,x[n(330,"4cZx")])&&(playSound(GAME_SOUNDS.TANGRAM.WRONG,a[n(287,"RWp)")]),playHaptic(HapticType[n(197,"3B]S")],r[n(198,"uEH*")]))})[d(318,"EFLe")],T=useMemo(()=>{const n=d,W=e.id,a=Gesture.Pan()[n(278,"b2oO")](()=>{const e=n;o[e(384,"9tgR")]&&!C[e(344,"BnUX")]&&(_[e(342,"3B]S")]=f[e(324,"e%2f")],p[e(211,"iea1")]=m.value,t.value=W)})[n(374,"kv!Z")](e=>{const t=n;o.value&&!C[t(210,"YkGX")]&&(f[t(279,"y[g6")]=_.value+e[t(309,"RUYk")],m.value=p[t(370,"zG34")]+e[t(343,"^J3s")])}).onEnd(()=>{const e=n;o.value&&!C[e(211,"iea1")]&&runOnJS(g)(f[e(238,"%fiT")],m[e(297,"Tqc1")])}),r=Gesture[n(239,"&!hc")]().maxDuration(250)[n(220,"3B]S")](()=>{const e=n;o[e(293,"k7a#")]&&!C[e(233,")mK0")]&&runOnJS(G)()});return Gesture[n(379,"f!0[")](a,r)},[]),v=e.id,P=useAnimatedStyle(()=>{const e=d,o=t[e(264,"uEH*")]===v,n=1===C.value,W=o||n?1:TRAY_SCALE,a=n?1:o?100:10+v,r={};r[e(270,"9tgR")]=f[e(384,"9tgR")]-S;const i={};i[e(258,"mT#4")]=m[e(230,"^C&r")]-S;const u={};u[e(200,"%fiT")]=l[e(362,s)]+e(263,"9tgR");const _={};return _[e(320,s)]=140,{transform:[r,i,u,{scale:x[e(316,"iea1")](withTiming,W,_)}],zIndex:a}}),E={};E[d(268,"Dz79")]=e[d(292,"xs$h")],E[d(245,"RUYk")]=e[d(241,"xUwb")];const V={};return V[d(269,"YMx3")]=R,V[d(304,i)]=e[d(221,"xUwb")],_0x24e93f(GestureDetector,{gesture:T,children:_0x24e93f(_0x3d30c8[d(234,"f!0[")],{style:[styles.piece,E,P],children:_0x24e93f(Canvas,{style:O,children:_0x3a4fc7(Group,{children:[_0x24e93f(Path,V),x[d(209,"zG34")](_0x24e93f,Path,{path:R,color:e.stroke,style:x.TeVTy,strokeWidth:2.5,strokeJoin:x[d(217,"1i&u")]})]})})})})},PieceView=_0x248e7c[_0x41541c(229,"jfHp")](PieceViewInner,(e,t)=>e[_0x41541c(300,"rWEt")]===t[_0x41541c(252,"4dQ^")]);PieceView[_0x41541c(339,"f!0[")]=_0x41541c(285,"!hp[");export const GameBoard=_0x248e7c[_0x41541c(321,"iGFs")](({soundEnabledRef:e,hapticEnabledRef:t})=>{const o=_0x41541c,n={NsQyL:function(e,t){return e===t},xzOuT:function(e,t){return e-t},ufHfX:function(e,t){return e<t},llVlz:function(e,t,o){return e(t,o)},rukZD:function(e,t,o){return e(t,o)},NKrYb:function(e,t){return e(t)},YCniK:function(e,t,o,n){return e(t,o,n)}},W=useLevel(),a=useResetVersion(),r=n.llVlz(useMemo,()=>generateLevel(W),[W,a]),i=useSharedValue(-1),s=useSharedValue(useTangramStore[o(212,"iea1")]()[o(340,"%fiT")]?1:0);n[o(301,"D^8p")](useEffect,()=>{const e=o,t={cVogQ:function(e,t){return n[_0x3a94(338,"xs$h")](e,t)}};return s[e(344,"BnUX")]=useTangramStore.getState()[e(340,"%fiT")]?1:0,useTangramStore[e(199,"dV3A")](e=>e.isPlaying,o=>{const n=e;if(t[n(310,"z%&y")](n(277,"Mxsg"),n(331,"uEH*"))){const e={};return e[n(382,"xUwb")]=_0x390df0.silPath,e[n(303,"RWp)")]=_0x457276.SILHOUETTE_STROKE,e.style=n(215,"gJY$"),e[n(352,"oOCy")]=2,_0x388e85(_0xe47ed7,e,"s-"+_0x4117c6.id)}s[n(273,"kv!Z")]=o?1:0})},[s]);const u=useRef(r);u[o(373,"RUYk")]=r;const d=n[o(218,"!hp[")](useRef,[]);useEffect(()=>{const e=o;d.current=new Array(r[e(232,"kv!Z")].length)[e(226,"UZk5")](!1),i.value=-1},[r,i]);const x=useRef((e,t,W,a)=>{const r=o,i=u[r(315,"zG34")][r(201,"BnUX")];let s=-1,x=1/0,S=!1;for(let o=0;o<i[r(246,"e%2f")];o++){const u=i[o];if(d[r(313,"@iCi")][o]||u[r(348,"9tgR")]!==e)continue;const f=Math[r(375,"^C&r")](n[r(380,")RDY")](t,u.targetCx),W-u[r(336,"YMx3")]);f>SNAP_DIST||(isRotationMatched(a,u[r(219,"z%&y")],u[r(288,"RUYk")])?n[r(365,"^J3s")](f,x)&&(x=f,s=o):S=!0)}if(s<0)return S?r(354,"1i&u"):null;d[r(224,"UZk5")][s]=!0;const f=i[s];return{cx:f[r(225,"gJY$")],cy:f[r(253,"Dz79")],rot:snappedRotation(a,f[r(208,"@iCi")],f.symmetry)}}).current,S=useRef(()=>{useTangramStore[o(272,"3Lid")]().placePiece()}).current,f={};return f[o(299,"RUYk")]=r.pieces,n.YCniK(_0x3a4fc7,_0x3d30c8[o(295,"Dz79")],{style:styles.board,children:[_0x24e93f(Silhouette,f),r.pieces[o(206,"&!hc")](o=>_0x24e93f(PieceView,{piece:o,activeSV:i,playingSV:s,claimTarget:x,onPlaced:S,soundEnabledRef:e,hapticEnabledRef:t},o.id))]},a)});GameBoard[_0x41541c(259,"dV3A")]=_0x41541c(376,"r!3[");const _0x408738={};_0x408738[_0x41541c(333,"uEH*")]=BOARD_W,_0x408738[_0x41541c(369,"Mxsg")]=BOARD_H,_0x408738.alignSelf=_0x41541c(228,"jfHp");const _0xc54d58={};_0xc54d58[_0x41541c(222,"RWp)")]=_0x41541c(240,"^C&r"),_0xc54d58[_0x41541c(243,"YkGX")]=0,_0xc54d58.left=0;const _0x254852={};_0x254852[_0x41541c(282,"rWEt")]=_0x408738,_0x254852[_0x41541c(306,"%fiT")]=_0xc54d58;const styles=StyleSheet[_0x41541c(349,"zG34")](_0x254852);function _temp(e){const t=_0x41541c,o={};return o[t(265,"3Lid")]=e.silPath,o[t(383,")mK0")]=_0x50563b[t(378,"UZk5")],_0x24e93f(Path,o,"f-"+e.id)}function _temp2(e){const t=_0x41541c,o={};return o.path=e[t(256,"iea1")],o.color=_0x50563b.SILHOUETTE_STROKE,o[t(353,"!hp[")]=t(262,"@iCi"),o[t(251,"Mxsg")]=2,_0x24e93f(Path,o,"s-"+e.id)}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const _0x598cd1=_0x4071;function _0x4071(e,o){e-=236;const t=_0x3b2e();let r=t[e];if(void 0===_0x4071.ABEzSe){const e=function(e,o){let t,r,n=[],d=0,s="";for(e=function(e){let o="",t="";for(let t,r,n=0,d=0;r=e.charAt(d++);~r&&(t=n%4?64*t+r:r,n++%4)?o+=String.fromCharCode(255&t>>(-2*n&6)):0)r="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(r);for(let e=0,r=o.length;e<r;e++)t+="%"+("00"+o.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(t)}(e),r=0;r<256;r++)n[r]=r;for(r=0;r<256;r++)d=(d+n[r]+o.charCodeAt(r%o.length))%256,t=n[r],n[r]=n[d],n[d]=t;r=0,d=0;for(let o=0;o<e.length;o++)r=(r+1)%256,d=(d+n[r])%256,t=n[r],n[r]=n[d],n[d]=t,s+=String.fromCharCode(e.charCodeAt(o)^n[(n[r]+n[d])%256]);return s};_0x4071.BSUooS=e,_0x4071.fqIXSd={},_0x4071.ABEzSe=!0}const n=t[0];_0x4071.UTXQYm!==n&&(_0x4071.fqIXSd={},_0x4071.UTXQYm=n);const d=_0x4071.fqIXSd[e];return void 0===d?(void 0===_0x4071.VJPRmO&&(_0x4071.VJPRmO=!0),r=_0x4071.BSUooS(r,o),_0x4071.fqIXSd[e]=r):r=d,r}!function(){const e=_0x4071,o=_0x3b2e();for(;;)try{if(288742==parseInt(e(267,"KGBR"))/1*(parseInt(e(251,"F5y("))/2)+parseInt(e(252,"jRI("))/3*(-parseInt(e(259,"nxL("))/4)+parseInt(e(246,"BmvD"))/5+-parseInt(e(263,"si@q"))/6+-parseInt(e(250,"Az)9"))/7*(-parseInt(e(268,"!xQe"))/8)+parseInt(e(264,"F5y("))/9*(parseInt(e(258,"Z(yw"))/10)+parseInt(e(241,"gKTa"))/11*(parseInt(e(260,"On[c"))/12))break;o.push(o.shift())}catch(e){o.push(o.shift())}}();import{c as _0x4ff39c}from"react/compiler-runtime";import _0x4db373 from"react";import{View}from"react-native";import{useTimeLeft,useScore,usePlacedCount,useTangramStore}from"../TangramStore.js";import{ScoreBoardContainer,ScoreValue,ScoreTimer,ScoreColumn,scoreBoardStyles as _0x3dad66}from"../../../helpers/index.js";import{jsx as _0x5a9853,jsxs as _0xbaf998}from"react/jsx-runtime";function _0x3b2e(){const e=["lCkXW7JdT8keD8omWRC","aY/cTHWoWPq","W4FdR8obtfNdNYVcKmkkW5q","W7FcVhXLWR/dKSoI","jxFdN0boW4TdAuWmsG","w27dS8kvxG","gN4GjG","hJ/dISkRsttdTGi","CmkCW5dcShRdSCkuirO","WPRcJ8okcM0","o8k8WOhcPCokybjxWReCW4e","EsLbWPysm3Ct","pN7dJvjhW68","zmoXW73dJCkW","emkdWO/cVI7dJ8ojpfZdJa","iNVdHfnh","sSkoCcJdI8kAWRadia","WQOjWR5UW6a","W4ZcJHn4vwBdH8o/r8o5jSo4","twziWR3cUW","WQH/kant","k3iyW45pEsCqW54mn8k1Aq","EvpdLCopW68dvW","yYhcMrewW7fctv0oCq","jCoOWRSXmmkbWOrsWQtdJ8kRaG","CMGWW7KDnaldHbZcQSkaWOu","W6GyW5awoCoKW6ddLq","lCo5W5ddPSklA8oY","W7WthmkkWRJdSZi","FmkkW6ilpG","jeZdNKHR","wSo4o8kWW5qq","Bmo7W5NdRCoL","dszXWP/cVCkHW4LI","W71UkCoUzLrHbxlcSmon","W4ldKSkWtXCuW5OSW77dPCkr","DsKUWRhdQ8kZvCkjWRxdGW","CSotW5ddUhlcTCktmhBdUCodWRrV","yx7dN3bMWRv9W6BdTCkJW7f/WPm","W6qqWQDusmk4W57dJCkUe8klW78"];return(_0x3b2e=function(){return e})()}export const ScoreBoard=_0x4db373[_0x598cd1(271,"KR]y")](e=>{const o=_0x598cd1,t={MLOnw:function(e,o){return e===o},uTuiI:function(e){return e()},vzHWZ:function(e,o){return e!==o},kkHrL:function(e,o,t){return e(o,t)}},r=_0x4ff39c(13),{offset:n}=e,d=t.MLOnw(n,void 0)?0:n,s=t[o(255,"L59w")](useScore),a=usePlacedCount(),W=useTangramStore(_temp),i=useTimeLeft();let f;if(r[0]!==s){const e={};e[o(240,"L59w")]=s,f=_0x5a9853(ScoreValue,e),r[0]=s,r[1]=f}else f=r[1];const x=a+"/"+W;let u,m,S,_;if(r[2]!==x){const e={};e[o(257,"!1Hz")]=o(266,"OD]I"),e[o(270,"9G#R")]=x,u=_0x5a9853(ScoreColumn,e),r[2]=x,r[3]=u}else u=r[3];if(r[4]!==i){const e={};e[o(247,"AX3H")]=i,m=_0x5a9853(ScoreTimer,e),r[4]=i,r[5]=m}else m=r[5];if(r[6]!==f||t.vzHWZ(r[7],u)||r[8]!==m){const e=o(273,"&6!k")[o(244,"Z(yw")]("|");let t=0;for(;;){switch(e[t++]){case"0":r[6]=f;continue;case"1":r[7]=u;continue;case"2":r[8]=m;continue;case"3":const e={};e[o(242,"tU9[")]=_0x3dad66.row,e.children=[f,u,m],S=_0xbaf998(View,e);continue;case"4":r[9]=S;continue}break}}else if(t[o(254,"G9XY")](o(245,"pQ3f"),o(238,"jRI(")))S=r[9];else{const e={};e.label=o(256,"9SNK"),e.value=_0x3779fc,_0x45b85f=_0x11306f(_0x4e6498,e),_0x59d6eb[2]=_0x30f134,_0x3a4f70[3]=_0x2de2e5}if(r[10]!==d||r[11]!==S){const e={};e[o(237,"L59w")]=d,e[o(236,"BmvD")]=S,_=t[o(274,"On[c")](_0x5a9853,ScoreBoardContainer,e),r[10]=d,r[11]=S,r[12]=_}else _=r[12];return _});function _temp(e){return e[_0x598cd1(269,"L59w")]}ScoreBoard.displayName=_0x598cd1(239,"&6!k");
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const _0x5f657f=_0x2d24;!function(){const o=_0x2d24,t=_0x19ae();for(;;)try{if(174568==parseInt(o(397,"LICP"))/1+parseInt(o(491,"c&vd"))/2*(parseInt(o(342,"!G78"))/3)+parseInt(o(362,"Nr%U"))/4*(-parseInt(o(205,"]*E*"))/5)+parseInt(o(423,"$a%]"))/6*(-parseInt(o(196,"&6Hs"))/7)+parseInt(o(408,"SePZ"))/8+-parseInt(o(215,"j]16"))/9*(parseInt(o(222,"5u^!"))/10)+parseInt(o(536,"*pVG"))/11)break;t.push(t.shift())}catch(o){t.push(t.shift())}}();import{TANK_1990_GAME_CONFIG}from"./Tank1990Constants.js";export const formatScore=o=>o[_0x2d24(460,"%Abq")]();export const createInitialMap=o=>{const t="iZT8",W="j]16",n="Nc!b",e="&PvB",r="&6Hs",i=_0x2d24,a={};a[i(367,"iZT8")]=function(o,t){return o<t},a[i(459,"!rBQ")]=i(478,"a3fy"),a.FICXR=function(o,t){return o-t},a[i(320,"!rBQ")]=i(356,"T*ej"),a[i(334,"81J%")]=i(228,t),a.FRBus="empty",a[i(482,"!G78")]=function(o,t){return o/t},a[i(272,"81J%")]=function(o,t){return o-t},a[i(417,W)]=function(o,t){return o-t},a[i(226,"T*ej")]=function(o,t){return o+t},a.jJGfl=function(o,t){return o<t},a.QvmSA=function(o,t){return o+t},a[i(407,"a3fy")]=function(o,t){return o>=t},a[i(500,"Nr%U")]=function(o,t){return o-t},a.obfFU=function(o,t){return o<=t},a[i(510,"LICP")]=function(o,t){return o>=t},a[i(225,"LICP")]=function(o,t){return o<=t},a[i(243,"KWpG")]=function(o,t){return o*t},a.VSXBj=function(o,t){return o>=t},a[i(262,"[k!E")]=function(o,t){return o/t};const d=a,s=TANK_1990_GAME_CONFIG[i(541,"D4nQ")],u=TANK_1990_GAME_CONFIG.GRID_HEIGHT,f=[];for(let o=0;o<u;o++){const o=[];for(let t=0;t<s;t++)if("sAFMh"!==i(245,"5u^!"))_0x2fcfe7=_0x584a10>0?i(259,"]SS4"):i(385,"]SS4");else{const t={};t[i(400,n)]=d[i(393,"&PvB")],t[i(499,"a3fy")]=0,o[i(452,"c&vd")](t)}f[i(405,"TPg0")](o)}const x=Math.floor(d[i(438,"[k!E")](s,2)),k=u-3,m={};m[i(441,"QyW&")]=i(481,"c&vd"),m[i(317,"]SS4")]=1,f[k][x]=m,[{x:d[i(200,"mpQc")](x,1),y:k-1},{x:x,y:k-1},{x:x+1,y:d.WGYru(k,1)},{x:x-1,y:k},{x:d[i(432,W)](x,1),y:k}].forEach(o=>{const t=i;if(o.x>=0&&d[t(495,"R^Xh")](o.x,s)&&o.y>=0&&o.y<u){const W={};W[t(447,"U0Xu")]="steel",W[t(316,"9iUG")]=0,f[o.y][o.x]=W}});const S=d[i(453,"*pVG")](12,Math[i(271,e)](8*Math[i(366,"]SS4")]()));for(let o=0;o<S;o++){let o=0;for(;d[i(353,"]*E*")](o,30);){const t=Math[i(191,"^p3P")](Math[i(323,"5u^!")]()*s),W=d[i(263,"Nc!b")](2,Math.floor(Math.random()*(u-6))),e=f[W]?.[t];if(!(!("empty"===e?.[i(266,"BTQ]")]&&W>=2)||W>=k-2&&t>=x-2&&t<=d[i(313,"5u^!")](x,2)||d[i(399,n)](W,d[i(492,"J@e&")](u,2))||d[i(270,"BTQ]")](W,1)&&(t<=1||d[i(308,"D4nQ")](t,s-2)||d.NiKPh(Math[i(303,"sK^[")](t-Math[i(416,"Nc!b")](s/2)),1)))){const o={};o[i(359,"Nf@I")]="steel",o[i(401,"j]16")]=0,f[W][t]=o;break}o++}}const h=14+Math[i(442,"L%6w")](6*Math[i(435,"R^Xh")]()),l=[];for(let o=0;o<h;o++){const o=1+Math[i(493,"]SS4")](3*Math.random()),t=1+Math[i(314,"SePZ")](d.VnlgI(Math[i(520,"MS6u")](),3));let W=0;for(;W<20;){if(i(246,"TN%s")!==i(473,"64D6")){const o=_0x2c8c9e.now();return{id:i(292,"T*ej")+o+"_"+_0x46a08e[i(546,"TPg0")](),x:_0x1a74b8,y:_0x101869,direction:d.uOCED,isPlayer:!1,isAlive:!0,lastFireTime:0,spawnProtectionEndTime:o+_0x5cb93f[i(380,e)],lastDirectionChangeTime:o}}{const n=Math[i(311,"oa1I")](Math.random()*(s-o)),e=2+Math[i(448,"#Qx]")](Math[i(252,"&PvB")]()*(u-6-t));if(!(!(e>=2)||d[i(275,"LICP")](e,k-2)&&n>=x-2&&n<=x+2||e>=u-2||l.some(W=>n<W.x+W.w+1&&n+o+1>W.x&&e<W.y+W.h+1&&e+t+1>W.y))){const W={};W.x=n,W.y=e,W.w=o,W.h=t,l[i(329,"*sDc")](W);for(let W=0;W<t;W++)for(let t=0;t<o;t++){const o=d.CiJIe(n,t),r=e+W;if(o>=0&&o<s&&r>=0&&r<u-3){const t=f[r]?.[o];if(t&&t[i(424,"J@e&")]!==d.iRfFZ&&t.type!==i(257,"SePZ")){const t={};t[i(409,"!G78")]=i(415,"*sDc"),t[i(240,"Z9fa")]=2,f[r][o]=t}}}break}W++}}}[1,Math[i(496,"Nf@I")](d[i(455,"]SS4")](u,2))-2,Math.floor(d[i(519,"oa1I")](u,2))+3][i(232,r)](o=>{const t=i;if(o>=0&&o<d[t(530,"L%6w")](u,3))for(let W=0;W<s;W++){const n=f[o]?.[W];if(n&&n[t(434,"a3fy")]!==d[t(221,"TPg0")]&&n[t(368,"*sDc")]!==d[t(234,"iZT8")]){const n={};n[t(341,"LICP")]=t(456,"L%6w"),n[t(515,"D(O@")]=0,f[o][W]=n}}});const C={};return C[i(330,t)]=f,C[i(255,"^p3P")]=s,C[i(224,r)]=u,C};export const createPlayerTank=o=>{const t="W6Fh",W=_0x2d24,n={};n[W(204,"[k!E")]=function(o,t){return o*t},n[W(444,"BTQ]")]=function(o,t){return o/t},n[W(431,t)]=function(o,t){return o+t};const e=n,r=TANK_1990_GAME_CONFIG.GRID_HEIGHT;return{id:W(468,"KWpG"),x:e[W(494,t)](2,o)+e[W(461,"j]16")](o,2),y:e.fpanc(r-1,o)+o/2,direction:"up",isPlayer:!0,isAlive:!0,lastFireTime:0,spawnProtectionEndTime:e.GyfrV(Date.now(),TANK_1990_GAME_CONFIG[W(207,"$a%]")]),lastDirectionChangeTime:0}};export const createEnemyTank=(o,t)=>{const W=_0x2d24,n={QEXdV:function(o,t){return o/t},SlsXk:function(o,t){return o*t},sAUFa:function(o,t){return o/t}},e=TANK_1990_GAME_CONFIG[W(373,"D(O@")],r=[{x:0,y:0},{x:Math[W(264,"[k!E")](n[W(268,"Z(Ic")](e,2)),y:0},{x:e-1,y:0}],i=2*o*n[W(287,"a3fy")](o,2);for(const e of r){const r=e.x*o+o/2,a=n[W(217,"Nf@I")](e.y,o)+n[W(237,"SePZ")](o,2);let d=!1;for(const o of t){const t=o.x-r,W=o.y-a;if(t*t+W*W<i){d=!0;break}}if(!d){const o=Date[W(340,"BTQ]")]();return{id:W(336,"&PvB")+o+"_"+Math[W(327,"SePZ")](),x:r,y:a,direction:W(391,"iZT8"),isPlayer:!1,isAlive:!0,lastFireTime:0,spawnProtectionEndTime:o+TANK_1990_GAME_CONFIG[W(289,"64D6")],lastDirectionChangeTime:o}}}return null};export const moveTank=(o,t,W,n,e,r,i,a)=>{const d="U0Xu",s=_0x2d24,u={};u.RsrrN=s(392,"[k!E"),u[s(301,"%Abq")]=function(o,t){return o+t},u[s(529,"L%6w")]=function(o,t){return o!==t},u[s(293,"Z9fa")]=function(o,t){return o*t},u[s(437,"*sDc")]=function(o,t){return o/t},u.mupTB=function(o,t){return o===t},u.Axjcg=s(445,"LAfg"),u.iIuau=function(o,t){return o-t};const f=u,x={...o};x[s(284,"*pVG")]=t;const k=x,m=f[s(470,"Z(Ic")](W,r/TANK_1990_GAME_CONFIG[s(291,"W6Fh")]);let S=0,h=0;switch(t){case"up":h=-m;break;case f[s(465,"&PvB")]:h=m;break;case s(297,"b8l1"):S=-m;break;case s(344,"LICP"):S=m}const l=o.x+S,C=f[s(512,"LICP")](o.y,h),P=.8*r,G=P/2;if(l-G<0||f.CiqJT(l,G)>i||C-G<0||C+G>a)return k;const p={};p.x=l-G,p.y=C-G;const y=[p,{x:f[s(365,"&6Hs")](l,G),y:C-G},{x:l-G,y:C+G},{x:l+G,y:C+G}];for(const o of y){const t=Math.floor(o.x/r),W=Math[s(474,"%Abq")](f[s(198,d)](o.y,r));if(t>=0&&t<n[s(458,"QyW&")]&&W>=0&&W<n[s(505,"*sDc")])if(f.mupTB(f[s(346,"*sDc")],s(325,"!G78"))){const o=n[s(309,"sK^[")][W]?.[t];if(o&&("brick"===o.type||"steel"===o.type||o.type===s(462,"81J%")||f.mupTB(o[s(239,"[k!E")],s(535,"a3fy")))){if(s(543,"^p3P")!==s(277,"$a%]"))return k;_0x23513a=_0x3e5eed>0?f.RsrrN:"up"}}else for(let o=0;o<_0x13f058;o++){const t=gbuWKM[s(443,"a3fy")](_0x298bda,o),W=_0x1c99b2+_0xb5646;if(t>=0&&t<_0x5086c8&&W>=0&&W<_0x16443a-3){const o=_0x36c50b[W]?.[t];if(o&&o[s(248,"T*ej")]!==s(513,"Z9fa")&&gbuWKM[s(422,"Z9fa")](o.type,"base")){const o={};o[s(359,"Nf@I")]=s(253,"]*E*"),o[s(350,d)]=2,_0x26caff[W][t]=o}}}}const R=f[s(370,"5u^!")](P,P);for(const t of e)if(s(273,"a3fy")!==s(357,"!G78")){if(f[s(449,d)](t.id,o.id)||!t[s(231,"64D6")])continue;const W=f[s(412,"&PvB")](l,t.x),n=C-t.y;if(f[s(276,"U0Xu")](W,W)+n*n<R)return k}else _0x56ed9b[s(484,"!rBQ")]=s(218,"]SS4");return k.x=l,k.y=C,k};export const fireBullet=(o,t=Date.now())=>{const W=_0x2d24,n={};n[W(389,"k3bD")]=function(o,t){return o*t},n[W(202,"T*ej")]=function(o,t){return o-t},n[W(216,"!rBQ")]=function(o,t){return o+t};const e=o[W(502,"k3bD")]?TANK_1990_GAME_CONFIG.PLAYER_FIRE_COOLDOWN:TANK_1990_GAME_CONFIG[W(235,"[k!E")];if(t-o[W(324,"D4nQ")]<e){if("wQUeb"===W(206,"%Abq"))return null;{const o=_0x1ca7c3[W(280,"&PvB")];return{id:W(192,"]*E*"),x:2*_0x5a021a+_0x15d747/2,y:vBipsH[W(238,"sK^[")](vBipsH.JBMMN(o,1),_0x8bf07f)+_0x5d7d21/2,direction:"up",isPlayer:!0,isAlive:!0,lastFireTime:0,spawnProtectionEndTime:vBipsH[W(521,"L%6w")](_0x38003d[W(396,"81J%")](),_0x408714[W(479,"TPg0")]),lastDirectionChangeTime:0}}}const r=TANK_1990_GAME_CONFIG[W(265,"MS6u")]/2+2;let i=o.x,a=o.y;switch(o[W(404,"j]16")]){case"up":a-=r;break;case W(419,"SePZ"):a+=r;break;case W(197,"sK^["):i-=r;break;case W(428,"!rBQ"):i+=r}return{id:W(294,"$a%]")+Date.now()+"_"+Math.random(),x:i,y:a,direction:o[W(230,"W6Fh")],isPlayerBullet:o[W(331,"Nf@I")],speed:TANK_1990_GAME_CONFIG[W(349,"D4nQ")]}};export const updateBullet=o=>{const t=_0x2d24,W={};W[t(390,"9iUG")]=t(212,"LICP");const n=W;let{x:e,y:r}=o;switch(o[t(213,"]SS4")]){case"up":r-=o[t(354,"$a%]")];break;case t(391,"iZT8"):r+=o.speed;break;case n[t(418,"&6Hs")]:e-=o[t(539,"Nr%U")];break;case t(483,"D(O@"):e+=o.speed}const i={...o};return i.x=e,i.y=r,i};export const checkBulletCollision=(o,t,W,n,e,r)=>{const i=_0x2d24,a={};a[i(528,"BTQ]")]=function(o,t){return o<t},a[i(376,"D4nQ")]=function(o,t){return o>t},a[i(534,"D4nQ")]=function(o,t){return o<t},a[i(299,"*pVG")]=i(300,"^p3P"),a.nCZrM=function(o,t){return o+t};const d=a;if(d[i(260,"Z9fa")](o.x,0)||o.x>e||o.y<0||d[i(229,"Nf@I")](o.y,r)){const o={};return o[i(485,"Nf@I")]=!0,o}const s=Math.floor(o.x/n),u=Math.floor(o.y/n);if(s>=0&&d.annDq(s,t.width)&&u>=0&&u<t[i(429,"Nf@I")]){const W=t[i(309,"sK^[")][u]?.[s];if(W){if(W[i(501,"MS6u")]===i(467,"&6Hs")){const o={};o.x=s,o.y=u;const t={};return t[i(358,"j]16")]=!0,t[i(411,"mpQc")]=o,t}if(W.type===i(295,"W6Fh")){return{hit:!0}}if(W[i(219,"81J%")]===d[i(402,"J@e&")]&&!o.isPlayerBullet){const o={};o.x=s,o.y=u;const t={};return t[i(358,"j]16")]=!0,t.hitTile=o,t.baseDestroyed=!0,t}if(W[i(464,"Pcdh")]===i(509,"LAfg")&&o[i(321,"f7e$")]){return{hit:!0}}}}const f=TANK_1990_GAME_CONFIG[i(436,"U0Xu")],x=TANK_1990_GAME_CONFIG[i(440,"&6Hs")],k=d[i(214,"T*ej")](f,x)/2,m=k*k,S=Date[i(406,"Nr%U")]();for(const t of W){if(!t.isAlive)continue;if(o[i(531,"]*E*")]===t[i(466,"TPg0")])continue;if(S<t[i(382,"*pVG")])continue;const W=o.x-t.x,n=o.y-t.y;if(W*W+n*n<m){const o={};return o[i(358,"j]16")]=!0,o[i(254,"MS6u")]=t,o}}const h={};return h[i(378,"QyW&")]=!1,h};export const damageTile=(o,t,W)=>{const n=_0x2d24,e={};e[n(208,"!rBQ")]=function(o,t){return o===t},e.BKeCi=n(363,"!G78"),e[n(304,"mpQc")]=n(425,"%Abq"),e[n(480,"Z9fa")]=function(o,t){return o===t};const r=e,i=o[n(544,"U0Xu")][W]?.[t];if(!i)return o;if(i[n(424,"J@e&")]===n(490,"]SS4")||r[n(305,"TPg0")](i.type,n(514,"]*E*"))){const e=o[n(288,"#Qx]")][n(322,"[k!E")]((o,n)=>n===W?o.map((o,W)=>W===t?{...o}:o):o),i=e[W][t];if(i[n(542,"mpQc")]===n(209,"D4nQ")){if(i[n(364,"*sDc")]-=1,i.health<=0){if("XSAJa"===r[n(426,"b8l1")])return!1;i[n(424,"J@e&")]=r[n(471,"^p3P")]}}else r[n(487,"a3fy")](i[n(464,"Pcdh")],n(383,"KWpG"))&&(i[n(446,"#Qx]")]=r[n(343,"[k!E")]);const a={...o};return a[n(348,"[k!E")]=e,a}return o};const ENEMY_DIRECTION_CHANGE_INTERVAL=800;export const canTankMove=(o,t,W,n,e,r,i,a)=>{const d=_0x2d24,s={};s[d(267,"U0Xu")]=function(o,t){return o/t},s.WtXUm=function(o,t){return o<t},s[d(355,"W6Fh")]=function(o,t){return o>t},s.AdISa=function(o,t){return o-t},s[d(338,"*pVG")]=function(o,t){return o+t},s.kRGIj=function(o,t){return o===t},s[d(281,"!rBQ")]=d(306,"f7e$"),s[d(360,"#Qx]")]=function(o,t){return o<t};const u=s,f=W*u[d(394,"81J%")](r,TANK_1990_GAME_CONFIG[d(388,"#Qx]")]);let x=0,k=0;switch(t){case"up":k=-f;break;case d(433,"LAfg"):k=f;break;case d(413,"!rBQ"):x=-f;break;case d(533,"TN%s"):x=f}const m=o.x+x,S=o.y+k,h=.8*r,l=h/2;if(u.WtXUm(m-l,0)||u.xStmk(m+l,i)||u[d(420,"SePZ")](S-l,0)||S+l>a)return!1;const C=[{x:u[d(193,"81J%")](m,l),y:S-l},{x:m+l,y:S-l},{x:m-l,y:u[d(386,"!G78")](S,l)},{x:m+l,y:S+l}];for(const o of C){const t=Math.floor(o.x/r),W=Math[d(439,"QyW&")](o.y/r);if(t>=0&&t<n.width&&W>=0&&W<n.height){const o=n[d(507,"TPg0")][W]?.[t];if(o&&(o[d(501,"MS6u")]===d(241,"%Abq")||o.type===d(475,"$a%]")||u.kRGIj(o[d(318,"k3bD")],"water")||o.type===u[d(525,"J@e&")]))return!1}}const P=h*h;for(const t of e){if(t.id===o.id||!t[d(231,"64D6")])continue;const W=m-t.x,n=S-t.y,e=u[d(347,"T*ej")](W*W,n*n);if(u[d(360,"#Qx]")](e,P))return!1}return!0};function _0x2d24(o,t){o-=190;const W=_0x19ae();let n=W[o];if(void 0===_0x2d24.iseMpY){const o=function(o,t){let W,n,e=[],r=0,i="";for(o=function(o){let t="",W="";for(let W,n,e=0,r=0;n=o.charAt(r++);~n&&(W=e%4?64*W+n:n,e++%4)?t+=String.fromCharCode(255&W>>(-2*e&6)):0)n="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(n);for(let o=0,n=t.length;o<n;o++)W+="%"+("00"+t.charCodeAt(o).toString(16)).slice(-2);return decodeURIComponent(W)}(o),n=0;n<256;n++)e[n]=n;for(n=0;n<256;n++)r=(r+e[n]+t.charCodeAt(n%t.length))%256,W=e[n],e[n]=e[r],e[r]=W;n=0,r=0;for(let t=0;t<o.length;t++)n=(n+1)%256,r=(r+e[n])%256,W=e[n],e[n]=e[r],e[r]=W,i+=String.fromCharCode(o.charCodeAt(t)^e[(e[n]+e[r])%256]);return i};_0x2d24.ASTkoa=o,_0x2d24.fVpowo={},_0x2d24.iseMpY=!0}const e=W[0];_0x2d24.LopxgF!==e&&(_0x2d24.fVpowo={},_0x2d24.LopxgF=e);const r=_0x2d24.fVpowo[o];return void 0===r?(void 0===_0x2d24.FBMQmv&&(_0x2d24.FBMQmv=!0),n=_0x2d24.ASTkoa(n,t),_0x2d24.fVpowo[o]=n):n=r,n}export const getEnemyAIDirection=(o,t,W,n,e,r,i,a,d)=>{const s="a3fy",u=_0x2d24,f={};f[u(398,"[k!E")]="water",f[u(211,"LAfg")]=function(o,t){return o===t},f[u(315,"&6Hs")]=u(220,"L%6w"),f[u(361,"81J%")]=u(201,"&PvB"),f[u(524,"KWpG")]=function(o,t){return o!==t},f[u(387,"mpQc")]=function(o,t){return o-t},f.kTXsd=function(o,t){return o>t},f.DOUDk=function(o,t){return o*t},f.kdPmq=function(o,t){return o<t},f.FwjiZ=function(o,t){return o-t},f.eFrZx=function(o,t){return o*t};const x=f,k=Date.now(),m=["up",x[u(527,"D4nQ")],x.tAFDO,u(414,"#Qx]")];if(d){if(x[u(242,"SePZ")](u(472,"mpQc"),"GANRK")){const d=m[u(532,s)](t=>t!==o[u(335,"D4nQ")]&&canTankMove(o,t,a,W,e,n,r,i));if(d.length>0){const W=t.x-o.x,n=x[u(290,"]*E*")](t.y,o.y);let e=null;if(e=Math[u(251,"!G78")](W)>Math.abs(n)?x[u(540,"9iUG")](W,0)?"right":u(212,"LICP"):x.kTXsd(n,0)?u(220,"L%6w"):"up",d[u(410,"oa1I")](e)){const o={};return o[u(454,"R^Xh")]=e,o[u(279,"iZT8")]=!0,o}const r=d[Math.floor(x[u(372,"c&vd")](Math[u(377,"b8l1")](),d.length))],i={};return i[u(381,"64D6")]=r,i[u(312,"%Abq")]=!0,i}const f={};f.up=u(283,"R^Xh"),f[u(522,"*sDc")]="up",f[u(274,"a3fy")]="right",f[u(282,"&PvB")]="left";const k=f,S={};return S.direction=k[o[u(328,"]*E*")]],S.shouldUpdateTime=!0,S}{const o=_0x47b185[u(288,"#Qx]")][_0x1af995]?.[_0x1d9334];if(o&&(o[u(302,"oa1I")]===u(463,"KWpG")||o[u(506,"Nr%U")]===u(190,"9iUG")||o[u(538,"TPg0")]===BZZXVt.gCBvo||BZZXVt.UJKEo(o[u(501,"MS6u")],u(371,"D4nQ"))))return!1}}if(x.kdPmq(k-o[u(430,"]SS4")],800)){const t={};return t[u(489,"Z(Ic")]=o[u(454,"R^Xh")],t[u(508,"T*ej")]=!1,t}const S=Math[u(450,"64D6")]();let h;if(S<.4){const W=t.x-o.x,n=x.FwjiZ(t.y,o.y);h=Math[u(307,"W6Fh")](W)>Math[u(545,"!rBQ")](n)?W>0?u(285,"D4nQ"):x.tAFDO:n>0?u(498,"]*E*"):"up"}else S<.75?"cpmLN"===u(247,s)?_0x1ee1a2=_0x5688c5>0?"down":"up":h=o[u(335,"D4nQ")]:h=m[Math.floor(x[u(477,"j]16")](Math[u(319,"TN%s")](),m[u(249,"%Abq")]))];const l={};return l.direction=h,l.shouldUpdateTime=!0,l};export const shouldEnemyFire=(o,t)=>{const W="f7e$",n=_0x2d24,e={};e[n(384,"oa1I")]=function(o,t){return o>t},e[n(469,"*pVG")]="down",e.NrKUK=function(o,t){return o-t};const r=e,i=3*TANK_1990_GAME_CONFIG[n(291,"W6Fh")];let a=!1;switch(o[n(199,"oa1I")]){case"up":a=Math[n(352,W)](o.x-t.x)<i&&r.HHbkw(o.y,t.y);break;case r[n(261,"$a%]")]:a=Math[n(223,"Pcdh")](r[n(236,"9iUG")](o.x,t.x))<i&&o.y<t.y;break;case n(427,"J@e&"):a=Math.abs(o.y-t.y)<i&&o.x>t.x;break;case n(497,"TPg0"):a=Math[n(395,"81J%")](r[n(210,W)](o.y,t.y))<i&&o.x<t.x}return!!a||Math[n(379,"*sDc")]()<.3};export const createExplosion=(o,t,W=Date[_0x5f657f(476,"TPg0")]())=>({id:_0x5f657f(233,"*sDc")+W+"_"+Math[_0x5f657f(310,"D4nQ")](),x:o,y:t,startTime:W});function _0x19ae(){const o=["WPWPx3m","ncfLvwK","WQldH1OIpSoSW4Xr","vgq+WPaD","g2tcQGJdQCor","W4WaWOG/iq","yfi7WODp","mx47WPdcPa","WQJdGCoPiSke","FSoDW6rjkq","W5aBwftcJq","W47dQ8kEbxK","WQxdM30","W7ZcJCowWOnb","BmoaW6tdOq","WPJdPeSzeCokW7LXWRSwWQXUsaldKhtdU0qvW6Sh","A8oKW6RcSmoz","WO7cPMiS","W55BWQpdTSki","h8kxymo9EG","WQ5ZsSoi","W54FW5C","gehdJmkLwa","uSonW5RdOLu","W6ldTCk8WQRdLg87WQq","yvGyWOXJW70JgsO","WOBcUmoSW7nG","W57dVIeIh8k1ymkmtG","uSoiySkFrG","WOlcPSoQW795","x0OzW7Sa","WR1jWPT8oW","W5aAW4XujW","WRNdNw0MkW","WRW3j2C","ymokW7ldO0xcGq","uSkOWOZcMCoz","WPPhWRtdRa","nHnRW6RdUSk9W5ldJq","oSkDWQRcVqxdKaJcVCkZwCotymkD","jmoKW5K","WOZdGZGBBSka","vSk1WRtcKq","WR/dNwyRla","WQpcQmkBWQ3dGL0cWRpcKe7dHrvOW6BdOmkH","sCkgCri","hvBdNCkfzq","aNKWWPpcNq","n3VdTSk1va","qSoYW4BcUmor","WRO5i2W","bCkBzSo5ELG","v1up","DKulWPT0W50JgYe","eh3dSmkr","qfbJm1i","WPXFWQRdRuBdTG","cCo9WQNdIqa","WOddIsys","W4pcTCoyuSkW","owhcKXFdMW","EmozC8kcAq","W54lWQ85aq","W4/cJmoSn8o4","W6lcTLnLqG","h8oGWO7dUsq","oSoZWRZdPci","WReRagvtcmkpaSokCrPUWO9Q","BSogW7/dU1tcMW","fmoqeSkXW4u","W5NcG8omcSoX","ASooW6ddQG","WQrlW6zSqSkwC8k7WR19xsGj","W7hcJSoogSod","WR/dJxOR","uCk8WQhcKCou","DmoqDSokWOa","W7/cV8oRcSoFW78YWQ4CWRG","WQtdKmoohW","nw0RWQFcMq","kWqMW4FcVW","WRTOsq","WRNdLwqQmmo4","BmoWs8oCWOG","mfCtWRlcJa","WQG0mxbxaW","nCklW67dN1q","W5hdVCk3WQC5lCkvbYTQhq","WP3dQmkyW78Z","dYC7WPq7omo3W5i","emkPCCoJ","dZSPW7pcNG","ANTCg3KPBhVcLq","WPRdOmojamkF","cJDXuW","WPRcGSk5WPxdOa","dmk1W6VdMLC","kSo1W4SmnW","W6PTghTij8kgfW","W4eMyL7cNq","W67dJ8k6n1S2W7uZfCoAqeRdV8o9W4JdI8kptvjtWRm","WPLaEmo4W4m","W5RcN8ollCoR","WRHNW4xdH8oI","FSkTstlcJa","ghFdOCkl","WOdcO8o3W7vOmmkjjca","WR7cG8kUWQRdOW","WQ7dUmkDW6SaW47cJq7dH3VcNei","WQ9nBmoyW7G","W6uAW5bJpG","WOhcP8o1W6rY","amkwW5FdQq","gmovWOJdKG","WQldPMWibq","pSkAFcK6WQ5BnW","WOKYxa","xNm+WPqEkG","oNVdJmkVAa","WPpcQCk+WPhdIW","W6D0WOCLja","W6NcPSoBua","W5GcW6X0hq","xvmkW7aay8oafSoQ","x8oKW459a8o3EG","uhKLWRyxpCoX","WOhdNIeqACkhWOHDimo5","W4dcQSoDDSkn","cColW68VdvHeuxdcHmofWReOW7RcUSk+iCkvvW","uCo2zCoSWQ8","hSobnhFcVq","fCkLvSotWRG","omo8W5Oh","wCoJW4lcSCojWOu","W5qfxLJcLa","p8oPovFcIW","pwBcPXBdHq","W4T8WQC1aG","FmoRxXet","lSoZhSkbW7i","A8oLW77dRLm","WQtcUCkeWR0","W5OswvZcI8kU","emkDh8olgColmmkXjMjNASkW","W5fJWPy","fdn5q0Gn","WROQowPz","WOzxWRddNuJdTCkq","iviyWQNcLG","WRRdL8kgW44I","d8oHeLq","WPO5sh7dLq","WPBcO8oIW7H/","uSotW6lcPmoZ","W6FdPSkSaui","aSohW6CVha","a2tcPZldVW","kSoPW4unjG","WRP/WORdGNBdImkYxZe","W7xcMMj5","hG49W5JcOa","vhqYWO1w","pSoVWRpdSdu9WRtdK8oqzCk7","W67cGxrAwq","ad54sfu","pSkMW5ddTN4","zCoSW73dT38","zmokW7xdUW","iKhdN8k9AG","oG4BW4ZcGW","W47dKSkUmMy","hCklDmo9","W7JcR8ohqmkRW7bhW6ZdV8oOW4DEW7FcOJBdLW","iqbEy3GOWO8NW7iwW5a","WOb/y8oDW44","fdTWt1m","WR5kWRPH","W7iqWQ07fCoBi8kmWPa","W4RcHmofjSo0","WRZdVSkqySkJW4v4W7tdQq","w8odW6ddL1O","WOZdQSk4W54L","zCohW45gjmoEt3tcTWbNdIxdKYRcJG95W7nwsG","WRS9jNfc","EN80W5K8rmoGi8ob","WRxcRSkrWRxdL2y","vmoLW7lcS8oY","W5/dQSkxdhaDW7O","sK4DW7ap","WPBcR8oOW7fIkSkjjsLlp8oWp8kKWPrZ","jmoqzmob","wNm5WPqcnG","W5CmWPuPgq","nfOpWRG","W7uErNhcQW","EMTEgW","hCkUza","WRFdRmo5n8ko","WOJdVKGBfa","WPr0W73dTW","wfGl","W5hcQCo4nmoL","cmkLE8oYWOa","W4RcJmomkSoVW4u","Ah5bewG","W4uFwe7cK8kIW6FdSrxdLw92WOtcIeCm","tmoduXuE","c8oSdL7cRG","qxCzWOOo","D8oHt8ovWPbD","WOZcR8oKW7X/la","kXLlW6m","fmoyg8k9W54e","WRnyxmoRW5i","WP9MW57dVSoiWR0iWPfsWOldT8kCW4Ww","iCoKW5O","FColDZGuWQe","W5tcJmoroSogW4ejWO8CWPKjW7m","W5ziWQ/dOmkf","WPPWW6JdPG","h8oHd1xcSZS","WRWXiMXrbCkdh8oM","WPtdKYiu","W7/cRSoeumk0","W58fW7nxnmoRW4nB","bt17s04tWQmbW5SoW6TOqKOw","amo1g0VcSdpdVG","p8kcW5ldJ38","W5ZcHmoqk8oJW5WsWOuM","aZXYsL4/","zLWMW4xcGCodWQZdNa","W7STWQOveG","W4eMWRFcOmkqW7iNWQDiWRJdSCkY","W6/cJgu","agVdT8kA","WOC4W53dPmk5hGmUAa","k8oaW60VdG","bNVdOmkxDa","WRZcK8k/WOldTG","WQxdNJSFyq","WR3cLmkbWPpdIG","omoSW4yhjW","W7RcUmoUaSofW7WKWRKyWRuHW5i","nWGRW47cUmon","WQbmWRddRLe","WPD3W70","WRisf29E","W47dR8kEbxe","qwKmW7Gi","WQpcTmkrWR3dGG","W5TpWPpdPmkt","W7hcOSoq","W4ipW5nE","WOZdQmkTW54I","amkUW6hdIhO","f8o7W7BdG8kcawtdVaCeW7m","W4zrWRxdP8kZ","WOZdGZaqCSkC","Dx8MWRKI","WPBcQ8oRW7rKkq","W6ZcQ8o+rSkw","WPddNYez","bmoGWRpdQHi","ASojsdi0","W5RcJmorkW","WQJcIeqnpq","kSkStSoruwFdJ8oGWQpdTa","qCoyBtSd","ECoTqSonWOfh","W5BcMCoTaCoi","oSouBmorASo6","W4z+WP8","WPBdHZ8yACkz","nqjwCgK/WPO8W7OkW4fcEhCQWODCWQJcPJhcGq","uSo+W710cCo1DKNcLG","W6ujWR4Pgmo/omkmWOPavb8UEmktECkAlZebW7ef","cwNcUbq","rLPmfw0","WOJcR8oJW6q","W51vWPddUmk5","WRpdJmoiaSkK","WRVdHSkyW7CjWO/cSWby","nGL6W4ldKa","D8o0xmoRWRa","W6/cQmoFwW","kmoQW50m","iabvuLq","nCkmW5ddTLK","fCknW5q","gSkaW5a","rspcTSokobdcICkLlgVcMmkI","k8ogW6GuoW","g37cHcldPa","jMVcUGq","W7hcRSofWRvnWPa","y8ozymkfqa","WPxcMmkKWPtdOwOEWOZcUNddTsvUW47dMCkndSoO","W73cOSowWRXAWOZcRIxdSq","WRVdGxKM","tmkJWRm","qCodW53dJgS","x8kXvaJdQMBcKCojdbGWW7eM","W4r4WPxdLG","z3XneM85ygC","WRJdGmoklSk9rSkG","dXTIrLi","WRzVxmoz","WORdQSkZW5mI","WOBdLdGFBq","nh7cPq7dJa","W47cJmo9WQTm","xMyLWQeI","cCoVfL8","oSo0owtcSq","r8k0ss3cUW","uSoCW5lcMmoP","WOZcRmodvsbrW7eacCo0swi","vSovwSkx","W5mAr0/cHG","cSo+z8o2Ba","tSojtmkg","WQHJxCofW7W","W54tW4PCpCoM","WOJcQ8o2W6rplCkslI19i8oZpCkcWOHHr8kbaKq1D8kh","FKmEW6C1","W5RcOSoUWPbC","t8kiDrK","FmowW6pdQG","WQHeWQnRbvi","htGgW67cICoXWP3dJaKKwq","WRtdSdiTva","iSoFW6WNaq","W4H7WOqEfq","yLCzWRGPdCoqW4SC","W5PUWPSu","gSowWPddKWi","s8ogW6ldHwu","W4dcReHtyG","tCkUsctcUW","WOZdUSkKW54","kXq6W4C","WP7dR8k7W5qK","mHG6W7BcJG","rmo2W6f1bCoS","vCoVW5hcUmoEWPK+l8kd","WPZcSMiH","W5uqWPuxeW","WR5mWR9QcuVcQrah","WORcKmodW5vE","gCoxWO/dIaK","uSoQwmoPWRq","W5L+WO8fdW","WQ9fECoOW4W","W4iyE1tcNmkNW57dPcldGgL6WR7cHG","W5JcHmo+WPzx","a8koW5pdQuC","cxRcOHldPW"];return(_0x19ae=function(){return o})()}export const isExplosionFinished=(o,t=Date[_0x5f657f(516,"W6Fh")]())=>{const W=_0x5f657f;return{MnvPP:function(o,t){return o-t}}[W(457,"9iUG")](t,o[W(517,"Z(Ic")])>TANK_1990_GAME_CONFIG[W(403,"T*ej")]};export const createMuzzleFlash=(o,t,W=Date.now())=>{const n=_0x5f657f,e={};e[n(369,"L%6w")]=function(o,t){return o*t},e[n(256,"#Qx]")]=function(o,t){return o/t},e.WXCuq=n(258,"Pcdh");const r=e,i=r[n(203,"81J%")](t,.8),a=.5*i,d=r.BTRut(i,2)+a;let s=o.x,u=o.y;switch(o[n(451,"Z9fa")]){case"up":u-=d;break;case n(518,"LICP"):u+=d;break;case n(326,"f7e$"):s-=d;break;case r.WXCuq:s+=d}return{id:n(333,"SePZ")+W+"_"+Math.random(),x:s,y:u,direction:o.direction,startTime:W}};export const isMuzzleFlashFinished=(o,t=Date[_0x5f657f(396,"81J%")]())=>({TBLNc:function(o,t){return o>t}}[_0x5f657f(511,"^p3P")](t-o.startTime,100));export const checkBulletToBulletCollisions=o=>{const t=_0x5f657f,W={};W[t(486,"LICP")]=function(o,t){return o*t},W[t(526,"*pVG")]=function(o,t){return o+t},W[t(227,"QyW&")]=function(o,t){return o-t},W[t(244,"QyW&")]=function(o,t){return o-t},W[t(374,"5u^!")]=function(o,t){return o/t};const n=W,e=new Set,r=[],i=n[t(345,"T*ej")](TANK_1990_GAME_CONFIG[t(269,"L%6w")],2),a=i*i;for(let W=0;W<o[t(298,"&6Hs")];W++){const i=o[W];if(i)for(let d=n[t(523,"iZT8")](W,1);d<o.length;d++){const s=o[d];if(!s)continue;if(i.isPlayerBullet===s.isPlayerBullet)continue;const u=n[t(537,"D4nQ")](i.x,s.x),f=n[t(195,"#Qx]")](i.y,s.y);n[t(421,"LAfg")](u,u)+f*f<a&&(e.add(W),e.add(d),r[t(278,"D(O@")]({x:(i.x+s.x)/2,y:n[t(351,"MS6u")](i.y+s.y,2)}))}}const d=o[t(375,"9iUG")]((o,W)=>!e[t(504,"[k!E")](W)),s={};return s[t(296,"]SS4")]=d,s[t(332,"&PvB")]=r,s};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const _0x57d878=_0x3bbf;function _0x3bbf(e,t){e-=160;const n=_0x3a53();let o=n[e];if(void 0===_0x3bbf.hNQuPc){const e=function(e,t){let n,o,W=[],r=0,i="";for(e=function(e){let t="",n="";for(let n,o,W=0,r=0;o=e.charAt(r++);~o&&(n=W%4?64*n+o:o,W++%4)?t+=String.fromCharCode(255&n>>(-2*W&6)):0)o="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(o);for(let e=0,o=t.length;e<o;e++)n+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(n)}(e),o=0;o<256;o++)W[o]=o;for(o=0;o<256;o++)r=(r+W[o]+t.charCodeAt(o%t.length))%256,n=W[o],W[o]=W[r],W[r]=n;o=0,r=0;for(let t=0;t<e.length;t++)o=(o+1)%256,r=(r+W[o])%256,n=W[o],W[o]=W[r],W[r]=n,i+=String.fromCharCode(e.charCodeAt(t)^W[(W[o]+W[r])%256]);return i};_0x3bbf.FfjvYY=e,_0x3bbf.yOuCAf={},_0x3bbf.hNQuPc=!0}const W=n[0];_0x3bbf.yofAGv!==W&&(_0x3bbf.yOuCAf={},_0x3bbf.yofAGv=W);const r=_0x3bbf.yOuCAf[e];return void 0===r?(void 0===_0x3bbf.fzRych&&(_0x3bbf.fzRych=!0),o=_0x3bbf.FfjvYY(o,t),_0x3bbf.yOuCAf[e]=o):o=r,o}!function(){const e=_0x3bbf,t=_0x3a53();for(;;)try{if(524065==parseInt(e(287,"MdAb"))/1+-parseInt(e(255,"e1kf"))/2+parseInt(e(163,"q%JJ"))/3+-parseInt(e(198,"q%JJ"))/4*(-parseInt(e(271,")6XW"))/5)+parseInt(e(243,"#]Yq"))/6+parseInt(e(314,"]BT]"))/7*(parseInt(e(181,"[ls9"))/8)+-parseInt(e(190,"l@fS"))/9)break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import{create}from"zustand";import{subscribeWithSelector}from"zustand/middleware";import{immerMiddleware}from"../../services/UtilsService.js";import{TANK_1990_GAME_CONFIG,getGameConfig}from"./Tank1990Constants.js";import{createInitialMap,createPlayerTank,createEnemyTank,moveTank,fireBullet,updateBullet,checkBulletCollision,checkBulletToBulletCollisions,damageTile,getEnemyAIDirection,shouldEnemyFire,createExplosion,isExplosionFinished,createMuzzleFlash,isMuzzleFlashFinished}from"./Tank1990Service.js";import{playSound,GAME_SOUNDS}from"../../services/SoundsService.js";import{playHaptic,HapticType}from"../../services/HapticsService.js";export const useTank1990Store=create()(immerMiddleware(subscribeWithSelector((e,t)=>({isPlaying:!1,isGameOver:!1,isWin:!1,score:0,lives:TANK_1990_GAME_CONFIG[_0x57d878(223,"lt59")],level:1,enemiesDestroyed:0,enemiesRemaining:TANK_1990_GAME_CONFIG.ENEMIES_PER_LEVEL,playerTank:null,enemyTanks:[],bullets:[],gameMap:null,explosions:[],muzzleFlashes:[],cellSize:TANK_1990_GAME_CONFIG[_0x57d878(173,"Ehvy")],boardWidth:TANK_1990_GAME_CONFIG[_0x57d878(301,"MrLy")]*TANK_1990_GAME_CONFIG[_0x57d878(173,"Ehvy")],boardHeight:TANK_1990_GAME_CONFIG[_0x57d878(231,"dUsr")]*TANK_1990_GAME_CONFIG[_0x57d878(317,"gyFS")],gameVersion:0,mapVersion:0,effectsVersion:0,boardReady:!1,currentDirection:null,isFiring:!1,initializeGame:t=>{const n=_0x57d878,o={};o[n(246,"l2eQ")]=n(288,"JpIy"),o[n(307,"Ehvy")]=function(e,t){return e*t};const W=o,r=getGameConfig(),i=t,s=Math[n(213,"2TFg")](i/TANK_1990_GAME_CONFIG[n(258,"l2eQ")]),a=W[n(312,"kxe)")](s,TANK_1990_GAME_CONFIG[n(249,"BjRe")]),u=s*TANK_1990_GAME_CONFIG.GRID_HEIGHT,d=createInitialMap(1),l=createPlayerTank(s);e(e=>{const t=n,o=W[t(165,"pc*c")][t(324,"K4O7")]("|");let i=0;for(;;){switch(o[i++]){case"0":e[t(273,"@zgn")]=1;continue;case"1":e[t(293,"Ka#U")]=r.enemiesPerLevel;continue;case"2":e[t(193,"^UM$")]=!0;continue;case"3":e[t(240,"JpIy")]=u;continue;case"4":e[t(245,"JpIy")]=!1;continue;case"5":e[t(261,"e1kf")]=s;continue;case"6":e[t(266,"EQvS")]=!1;continue;case"7":e.gameMap=d;continue;case"8":e[t(209,"lt59")]=[];continue;case"9":e[t(260,"q%JJ")]=0;continue;case"10":e[t(189,"K4O7")]=!1;continue;case"11":e.mapVersion+=1;continue;case"12":e[t(329,"JPyr")]=null;continue;case"13":e[t(194,"s7L0")]=0;continue;case"14":e[t(171,"dUsr")]=l;continue;case"15":e[t(178,"4l6A")]=[];continue;case"16":e[t(291,"cLId")]=!1;continue;case"17":e[t(239,"J*9i")]+=1;continue;case"18":e[t(269,"pc*c")]+=1;continue;case"19":e[t(327,"pc*c")]=[];continue;case"20":e[t(259,"@zgn")]=a;continue;case"21":e[t(238,"7sXG")]=TANK_1990_GAME_CONFIG[t(160,"EQvS")];continue;case"22":e[t(282,"Ehvy")]=[];continue}break}})},startGame:()=>{e(e=>{const t=_0x3bbf;e[t(280,"J*9i")]=!0,e[t(208,"@uK4")]=!1,e[t(331,"@uK4")]=!1})},stopGame:()=>{e(e=>{e[_0x3bbf(257,"gyFS")]=!1})},resetGame:()=>{e(e=>{const t=_0x3bbf;e[t(201,"BjRe")]=!1,e.isGameOver=!1,e[t(206,"cLId")]=!1,e.score=0,e[t(281,"#]Yq")]=TANK_1990_GAME_CONFIG[t(272,"7sXG")],e[t(176,"TRKB")]=1,e.enemiesDestroyed=0,e[t(309,"gBBI")]=null,e[t(168,"MrLy")]=[],e.bullets=[],e.gameMap=null,e[t(262,"2TFg")]=[],e.muzzleFlashes=[],e.currentDirection=null,e[t(192,"TK8x")]=!1,e[t(321,"cLId")]=!1,e[t(269,"pc*c")]+=1,e[t(326,"Z0jG")]+=1,e[t(242,"K4O7")]+=1})},setDirection:n=>{const o=_0x57d878;({gCxvE:function(e){return e()}})[o(167,"*69W")](t)[o(200,"NHuj")]!==n&&e(e=>{e[o(236,"@uK4")]=n})},setFiring:n=>{const o=_0x57d878;t()[o(247,"8k2I")]!==n&&e(e=>{e[o(241,"q%JJ")]=n})},spawnEnemy:n=>{const o=_0x57d878,W={aqyLQ:function(e){return e()},DRxkV:function(e,t,n){return e(t,n)}},r=W[o(169,"K4O7")](t);if(!r[o(270,"K4O7")]||r.isGameOver)return;const i=getGameConfig();if(r[o(274,"@zgn")][o(227,"HAg%")]>=i[o(166,"4l6A")])return;if(r[o(292,"dUsr")]<=0)return;const s=W[o(204,"wu*x")](createEnemyTank,r.cellSize,r[o(228,"pc*c")]);s&&e(e=>{const t=o;e.enemyTanks[t(300,"lt59")](s),e[t(230,"rl$8")]-=1})},gameLoop:n=>{const o="MdAb",W="]BT]",r="@uK4",i="8k2I",s="l@fS",a=_0x57d878,u={BJMfg:function(e,t){return e===t},wHiKU:function(e,t,n,o,W,r,i,s,a){return e(t,n,o,W,r,i,s,a)},TMqZH:function(e,t,n){return e(t,n)},JsjvH:function(e,t,n,o){return e(t,n,o)},sUuhL:function(e,t,n,o,W,r,i){return e(t,n,o,W,r,i)},CbJWP:function(e,t){return e===t},DFsYf:a(285,"*69W"),fjliM:function(e,t){return e*t},nRVZu:function(e,t){return e/t},svdck:function(e,t){return e*t},qDqDk:function(e,t){return e(t)},ULyeu:function(e){return e()},chtBJ:function(e,t,n,o,W,r,i,s,a){return e(t,n,o,W,r,i,s,a)},DzXIE:function(e,t){return e!==t},QLbhs:a(297,o),qedWH:function(e,t){return e<=t},QCYFm:function(e,t){return e+t},veMwN:function(e,t){return e>t}},d=t();if(!d.isPlaying||d.isGameOver||!d[a(174,"]BT]")]||!d[a(211,"@uK4")])return;const l=Date[a(322,"J*9i")](),m=u[a(299,"8k2I")](getGameConfig),{cellSize:p,boardWidth:f,boardHeight:k,gameMap:x}=d;let{playerTank:_,explosions:S,muzzleFlashes:C,score:G,lives:T,enemiesDestroyed:h}=d,O=d.enemyTanks,y=[...d[a(229,"hChj")]];const R=[],g=[_,...O];if(d[a(203,"4l6A")]&&_[a(202,"rl$8")]&&(_=u[a(252,"s7L0")](moveTank,_,d[a(315,"PlNh")],TANK_1990_GAME_CONFIG[a(188,"PlNh")],x,g,p,f,k),g[0]=_),_.isAlive){if(u[a(248,W)](a(305,"PlNh"),u.QLbhs))return _0x3e1648(_0x41e774);{const e=fireBullet(_,l);if(e){const t=a(161,"[ls9")[a(224,"pc*c")]("|");let o=0;for(;;){switch(t[o++]){case"0":_={..._,lastFireTime:l};continue;case"1":R.push(createMuzzleFlash(_,p,l));continue;case"2":playSound(GAME_SOUNDS[a(164,"q%JJ")][a(267,"JPyr")],n[a(304,"s7L0")]);continue;case"3":y.push(e);continue;case"4":g[0]=_;continue}break}}}}O=O[a(286,"lt59")](e=>{const t=a;if(!e[t(303,"4l6A")])return e;const n=moveTank(e,e.direction,m[t(215,"uqbt")],x,g,p,f,k),o=n.x===e.x&&u[t(212,"l2eQ")](n.y,e.y),W=getEnemyAIDirection(e,_,x,p,g,f,k,m[t(308,"q%JJ")],o),r=u[t(325,"MrLy")](moveTank,e,W[t(295,"Ehvy")],m.enemySpeed,x,g,p,f,k);if(W[t(172,"TRKB")]&&(r[t(310,"4l6A")]=l),shouldEnemyFire(r,_)){const e=u[t(196,"@uK4")](fireBullet,r,l);e&&(y[t(250,"s7L0")](e),R[t(235,"rl$8")](createMuzzleFlash(r,p,l)),r.lastFireTime=l)}return r});let b=x,P=!1;const N=[];y=y[a(278,"TRKB")](e=>updateBullet(e));const K=checkBulletToBulletCollisions(y);y=K.remainingBullets,K[a(320,"q%JJ")][a(197,"NHuj")](e=>{const t=a;N[t(232,"uqbt")](u[t(276,"TK8x")](createExplosion,e.x,e.y,l))}),y=y[a(187,"MrLy")](e=>{const t=a,o=u[t(323,i)](checkBulletCollision,e,b,[_,...O],p,f,k);return!o.hit||(u[t(253,"q%JJ")](u[t(221,"PlNh")],t(265,"#]Yq"))?_0x3e28c7(_0x45ea19):(o.hitTile&&(b=damageTile(b,o[t(162,"gBBI")].x,o.hitTile.y),N[t(177,s)](createExplosion(u[t(306,"@zgn")](o[t(186,"Ka#U")].x,p)+u.nRVZu(p,2),u[t(328,"NHuj")](o.hitTile.y,p)+p/2,l))),o[t(234,"pc*c")]&&(P=!0,N[t(195,"^UM$")](createExplosion(e.x,e.y,l))),o[t(216,"MrLy")]&&(N.push(createExplosion(o[t(244,"zv@3")].x,o[t(191,"RU*p")].y,l)),o[t(290,"EQvS")].isPlayer?(T-=1,playHaptic(HapticType[t(284,i)],n.enableHaptics),_=T>0?u[t(219,"K4O7")](createPlayerTank,p):{..._,isAlive:!1}):(O=O[t(225,s)](e=>e.id===o[t(182,"e1kf")].id?{...e,isAlive:!1}:e),G+=TANK_1990_GAME_CONFIG.POINTS_PER_ENEMY,h+=1,playSound(GAME_SOUNDS[t(263,"JpIy")][t(275,"PlNh")],n.enableSounds),u.TMqZH(playHaptic,HapticType[t(319,"7YDT")],n.enableHaptics))),!1))}),O=O[a(183,r)](e=>e[a(175,"Z0jG")]),S=[...S,...N].filter(e=>!isExplosionFinished(e,l)),C=[...C,...R][a(183,r)](e=>!isMuzzleFlashFinished(e,l));let I=!1,v=!1;const F=t()[a(210,"EQvS")];P||T<=0?(I=!0,v=!1,playSound(GAME_SOUNDS[a(263,"JpIy")][a(316,"4l6A")],n[a(184,"*69W")]),playHaptic(HapticType[a(294,"l@fS")],n[a(237,"l@fS")])):u[a(218,"2TFg")](F,0)&&0===O.length&&(I=!0,v=!0,G+=TANK_1990_GAME_CONFIG[a(311,"dUsr")],playSound(GAME_SOUNDS[a(298,o)][a(279,"PlNh")],n[a(199,"Ka#U")]),playHaptic(HapticType[a(207,"EQvS")],n.enableHaptics));const M={playerTank:_,enemyTanks:O,bullets:y,gameMap:b,explosions:S,muzzleFlashes:C,score:G,lives:T,enemiesDestroyed:h,isGameOver:I,isWin:v,gameVersion:u[a(205,"7YDT")](d.gameVersion,1)};b!==x&&(M.mapVersion=d[a(214,W)]+1),(u[a(296,"hChj")](S.length,0)||u[a(256,"iOaR")](C[a(222,"cLId")],0)||d[a(251,"EQvS")][a(170,"s7L0")]>0||d.muzzleFlashes.length>0)&&(M.effectsVersion=u[a(264,"gyFS")](d[a(302,")6XW")],1)),I&&(M.isPlaying=!1),e(M)}}))));export const useIsPlaying=()=>useTank1990Store(_temp);export const useIsGameOver=()=>useTank1990Store(_temp2);function _0x3a53(){const e=["CCkjW57dTmky","z8kaW7/dS8ktoSo0W7tcRW","W64VWRfCha","xSo8F0e","BZqPWOtdGtxcJmobW7/dUq","FCoDfYxdJ8ofW6ZdLSkGWO3dPmofbqC","W5ddIM4kt0Gh","gxFcTg0gmq9kz8oKj0C","W68bW5pdGhu","W7TpthiW","WQhdOmk4WO5W","W47cPGTXvvzLW4S0W6m","WQK8W6pdLv1cW4JdLfmO","W5xdMfWsyLCqr2dcHMuNWR3cNSk3B0lcIZ4VW7CqWRu","WPpcMszTxrpdVCkvW6vIaSk4WRqPWRJdHq","dSoyW7LSWPi","iYpdNCo3W5juW79b","dbKeWPJcOCkTW45D","W448W47dVKrNqmkHW4FcPs5Nps7dP8oQ","W77dUgiJExe0z1e","uvldNComW5HeW7TZva","WPpdP34uhCooW5PQWQZcOXK","zSo1F0Odv8kf","W4JcPWjWrxz8W4e/W5DtW77dTKxcNa","W7FcJGfuW7JcNKDRW43dVW","W40yuq","W4G2WR1rjq","aCoBWP4zW5y","xY4jWOVdIW","sSotW5FdL8odW5SZWQWtBq","g29OWR/dQceW","WPzKoCooCW","W7FdTthdR8k1wmksASooa8ofWQSpWRuOzq","smk1WOJcTe8","W5NcSJWzoG","aCkauCkbWQCAWPJdRGCorCoaW6e","W5OIkCkndqxcLfxcVG","WRe5W7BdUffCW7K","WPldVfCVftDMW5qDW4vEW5u","W7/cIsbxCZqSWPDH","hu5HWRNdUW","W5tdMfCJsfSps2BcGq","W6fsW6mDW6S","tqGfWQ3dPZBcPmoRW4ddGG","e8oAWOS8W7m","ehZcU2GEpa","WRpcUG5ABdldTSkKW45B","WROGsqZdG3xcVCk1WORdPmomWOxcLe5XkW","WPxdTmk2WPrEW6xdMuRcMq","tuePWPBcKCkCW5DuWQfn","tSobW6BdRCopW58L","WQuTubZdGW","W7BcIWddVG","W5ZdL0Olx2OdtgJcGq","dSokW64LAL/cO8onW5iAWQFdTte","g8oyWRurW48kv8krW4mK","W51VkSoddKVdS0xdU3KQka","dcJcU3nTWRi5","W5BcQaCemtK","W6n/W7OjW4jHmMFcHwZcGqG","W5HQkCobcKRcLKpdQLiOi8kI","mL5dcb8wta","tG8mWRtdUXa","W70fW73dLwrBA8k2W77cKG5a","g8oyWQuzW4W","WRpdJ0xcOtjzFKRdPJWrW5mQ","W496F8ogjvfL","sJ7dLrjSub8F","WRfyW57cIgddJd9QxmoP","gxFcSgidms9HD8o5n0BdNKrOha","WQncW4ZcKG","W6tcJbOQha","WOn9l8oOECk+pq","WPZdUvORgLb5W4m7W4PO","p1LwpHOFESo5Armzuq","WOzNl8oFFCkZiw3cJSk9lmoWamohyrm","W4JcRx7cQCo/WPlcQSkbFW","W43cPqTpqSoTW5m","W5RdJf0uq1awzMRcGgKRWQFcTmkWya","WPKvW4Kida","zmoJzu8R","W7ZcKJDpW7i","g8kBw8kwWQSiWOC","W5NcSIWros7cPCoDieG","q8o8DLnIy0GkW59/oYim","lCkGFCk4WOC+WQFdOY4QCSoSW5XtW4pcVq","W5FcOayvgsRcMG","ECkXWPv0pW","WQ3dGCotWRVdNq","ueW4WRNcKCkCW7bCWQbi","DgBcVYSNnfBcRrOG","qa8uWPtdVWZcRG","W4q6W6VdPu8","WRRdImoyWOpdPW","a8oVWOm0W4K","W4ZcV17cK8o7WPNcSmkgD8k3","W6KpW4/dLuC","W7NcHa5bW6JcPa","z8ohrx1hr0i5W7jfbqiS","cMPOWRRdUq","W6VcNWm","W7ZcKJbkW73cTuTKW44","vCkbc1j+WQK","hhrHWR7dTaeIWRJcMCoR","kxNdHmo4EvLl","W4hcUc9oqSo+W4vvWQpcGYZdSWBcPLBcSa","WOtcHczNvGJdP8kmW6D4cq","yx3cQs4","W4v8ASoGig1RW7xcUYq","g3T3WRBdItaWWQlcGmo3W4VcM8o9","W5tcOZLl","W5pcTbKcmsxcNSoVleJcMCktoeldUCkV","W6pcKbldTgWibgRdPZ8/W74j","W5ugcaNdIG","W4yrqcm6bCoXr8kTj8k0W71tEW","xmksW43cTcbRqSoKWRpcSG8","W4lcUYH1xMX7W4K","f8onWPqvW4eBA8kXW4mKdSoQCfW","DtZdV8klmLmgtCokW6/dQw3cPa","W4Ohpa8mof4","v8koW7ZcQIvAtSoJWRm","x8kVWR14lG","W5iqWO5qg1Cuja","EvCqWQBcSq","W6BcJgFcGCobWRZcISkRtmkr","dgZcPMC","lCk2Amk5WOeOWR3dNIu0","h3hcOu0G","W6JcQIrlFa","WORcOYfTqG","vxxdVHC7W69KWQ0SW6hcH8o1pq","W6fHFJqA","E2tdGCoSW6zUW5ThDG","FmkPWPfwbZZdMmoiW7CL","W79kqwKzpmogWQRdI2O","W5JcQWfUsq","bYtcO0TFWRuOWQi","WQ7dLComWRJdGh5UjCoNWPG","ASk8W6lcJrSshSk0W6q","q1tdImogW6O","hwNcN8o6Ba","iCk9x8k0WOm+WPVdHY41","W5ldIrhdMa","WP3dP3KuhCkTW5vsWRBcGWNdGa","hNTPWRBdMZaXWQxcM8o3W5W","g8oyWQiCW4mwCCkjW4e","lSkobJxdTCoJW4FdGq","W7aHnZJdSmkOuhrgW4v/W6rQ","W7favN4r","W7Hlrxyep8ooWQddLhe","W6KmW6/dMhngBq","At7dUq1w","WQ/cVXLgEG","WQqPvG","W7OaW7i","W4OeDIO4cmoRF8kV","kghcU8ozEa","WRpdICkkWRrUW4xdUx/cSSkx","fSkgWPxcTSkFWPH2WR8grmk6DSkZ","W74XWPP2oW","W5jwW7CpW4O","q8oOFa","cSoWWOlcJ8o6pCkUWPJdRW7dI8oR","cSkbWPRcUNutw8k0WQJdQeRdH8kKW7xdUq8BWPJcPMP5yJrqWQ41W5xcHSouimkjsH9xlmoIW5NcVCoXBvVdHgFdImoQBmoKWO0lWOC+cCk+WRj6WRBdSre","WQOZW63dNL0","imkNBmkbWO81WR8","W7ZcKIzpW67cPuXT","WQBcUaPoycxdKCkxW4vDpmkDWP8wWPpdRG","p1Lsmr8FwSoeEraCs8kMW7pcJSkk","W47cUZldGfK","WRldMmkiWR1IW4ldUx/cSG","pwNdPCoJuG"];return(_0x3a53=function(){return e})()}export const useIsWin=()=>useTank1990Store(_temp3);export const useScore=()=>useTank1990Store(_temp4);export const useLives=()=>useTank1990Store(_temp5);export const useLevel=()=>({Akzsy:function(e,t){return e(t)}}[_0x57d878(330,"sH$2")](useTank1990Store,_temp6));export const useEnemiesRemaining=()=>({IuNNK:function(e,t){return e(t)}}[_0x57d878(254,"dUsr")](useTank1990Store,_temp7));export const useBoardReady=()=>useTank1990Store(_temp8);export const useGameVersion=()=>useTank1990Store(_temp9);export const useMapVersion=()=>useTank1990Store(_temp0);export const useEffectsVersion=()=>useTank1990Store(_temp1);function _temp(e){return e[_0x57d878(226,"cLId")]}function _temp2(e){return e[_0x57d878(180,"K4O7")]}function _temp3(e){return e[_0x57d878(217,"PlNh")]}function _temp4(e){return e[_0x57d878(289,"gBBI")]}function _temp5(e){return e[_0x57d878(277,"dUsr")]}function _temp6(e){return e[_0x57d878(176,"TRKB")]}function _temp7(e){return e.enemiesRemaining}function _temp8(e){return e[_0x57d878(233,"RU*p")]}function _temp9(e){return e.gameVersion}function _temp0(e){return e[_0x57d878(220,"BjRe")]}function _temp1(e){return e.effectsVersion}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const _0x439531=_0x3ecc;!function(){const e=_0x3ecc,W=_0x1e58();for(;;)try{if(891096==parseInt(e(236,"ZIgj"))/1+-parseInt(e(254,"pvLI"))/2+-parseInt(e(249,"PWHj"))/3*(parseInt(e(235,"3xpG"))/4)+parseInt(e(200,")!Cl"))/5*(parseInt(e(214,"0Z0z"))/6)+-parseInt(e(206,"vf4h"))/7*(-parseInt(e(217,"$crz"))/8)+parseInt(e(221,"vf4h"))/9+-parseInt(e(182,"DG4n"))/10*(-parseInt(e(257,"DK&R"))/11))break;W.push(W.shift())}catch(e){W.push(W.shift())}}();import _0x33541c,{useCallback,useRef}from"react";import{View,StyleSheet,TouchableOpacity,Text}from"react-native";import{useTank1990Store,useIsPlaying}from"../Tank1990Store.js";import{TANK_1990_COLORS}from"../Tank1990Constants.js";import{jsx as _0x276392,jsxs as _0x561d06}from"react/jsx-runtime";export const Controls=_0x33541c[_0x439531(201,"&uHT")](()=>{const e=_0x439531,W={BTUrb:e(237,"4Ima"),AzAIo:function(e){return e()},cpXyq:function(e,W,t){return e(W,t)},vYnoR:function(e,W,t){return e(W,t)},qnHUk:function(e,W,t){return e(W,t)},AuIzB:function(e,W,t){return e(W,t)}},t=W[e(198,"l)X%")](useIsPlaying),x=useRef(t);x[e(233,"UdjU")]=t;const o=useCallback(()=>{const W=e;x.current&&useTank1990Store[W(181,"Za6[")]()[W(225,"uw8A")]("up")},[]),s=useCallback(()=>{const W=e;x[W(179,"dup*")]&&useTank1990Store[W(239,"^%zv")]()[W(259,"@[S!")](W(165,"w0%g"))},[]),_=useCallback(()=>{const W=e;x[W(188,"$crz")]&&useTank1990Store[W(185,"uw8A")]()[W(226,"l)X%")](W(197,"vf4h"))},[]),a=useCallback(()=>{const t=e;x[t(189,"T6CQ")]&&useTank1990Store[t(230,"4Ima")]()[t(222,")!Cl")](W[t(170,"mzbk")])},[]),n=useCallback(()=>{const W=e;useTank1990Store[W(185,"uw8A")]()[W(255,"XB5F")](null)},[]),r=useCallback(()=>{const W=e;x[W(228,"HT9(")]&&useTank1990Store.getState()[W(210,"w0%g")](!0)},[]),d=useCallback(()=>{const W=e;useTank1990Store[W(191,"ZIgj")]()[W(210,"w0%g")](!1)},[]);return _0x561d06(View,{style:styles.container,children:[_0x561d06(View,{style:styles.dpad,children:[W[e(245,"G7ky")](_0x561d06,View,{style:styles.dpadRow,children:[_0x276392(View,{style:styles.dpadSpacer}),_0x276392(TouchableOpacity,{style:styles[e(234,"n$sg")],onPressIn:o,onPressOut:n,activeOpacity:.7,children:W[e(215,"UdjU")](_0x276392,Text,{style:styles[e(187,"pvLI")],children:"\u25b2"})}),W[e(212,"][IL")](_0x276392,View,{style:styles.dpadSpacer})]}),W[e(223,"0Z0z")](_0x561d06,View,{style:styles[e(166,"(IW$")],children:[W[e(172,"$crz")](_0x276392,TouchableOpacity,{style:styles[e(218,"&uHT")],onPressIn:_,onPressOut:n,activeOpacity:.7,children:_0x276392(Text,{style:styles[e(184,"mzbk")],children:"\u25c0"})}),_0x276392(View,{style:styles.dpadCenter}),W.vYnoR(_0x276392,TouchableOpacity,{style:styles.dpadButton,onPressIn:a,onPressOut:n,activeOpacity:.7,children:_0x276392(Text,{style:styles.dpadText,children:"\u25b6"})})]}),W[e(193,"xaBM")](_0x561d06,View,{style:styles[e(169,"T6CQ")],children:[_0x276392(View,{style:styles[e(253,"vR%H")]}),W.AuIzB(_0x276392,TouchableOpacity,{style:styles[e(199,"PWHj")],onPressIn:s,onPressOut:n,activeOpacity:.7,children:_0x276392(Text,{style:styles.dpadText,children:"\u25bc"})}),_0x276392(View,{style:styles.dpadSpacer})]})]}),W.cpXyq(_0x276392,TouchableOpacity,{style:styles.fireButton,onPressIn:r,onPressOut:d,activeOpacity:.7,children:_0x276392(Text,{style:styles[e(251,"#xa1")],children:"FIRE"})})]})});const BUTTON_SIZE=50,_0x4f1c20={};_0x4f1c20[_0x439531(176,"T6CQ")]=_0x439531(177,"&uHT"),_0x4f1c20[_0x439531(211,"DK&R")]=_0x439531(265,"0Z0z"),_0x4f1c20[_0x439531(195,"PWHj")]=_0x439531(207,"3xpG"),_0x4f1c20[_0x439531(194,"&uHT")]=20,_0x4f1c20.paddingVertical=10;const _0x3f7a44={};_0x3f7a44[_0x439531(247,"Nha6")]=158,_0x3f7a44[_0x439531(269,"r@ho")]=158;const _0x3394f0={};function _0x1e58(){const e=["W44xW4CsBHe7WQyaW6FdUSoS","gbvqut3dOSkr","WOC0W6tdKs1v","WRBcL8okW5XNAwhcHa","W4lcHdGoW5FdKgBcKLFdQmkfW5ZdQCos","WRlcL8oqW7T2EG","WOXnwmo8WOb3W7ah","WQOWW5FcKrJdMmkQfq","WPrIpwWivmo+f8o6WPv5","WOi9oSodW7X9dCoM","W6vWW5ldM8ohxgi","WQjZWPaDW5i1WQm","W6JdR8kai2ldTa","gmo9Dmo1WOXwWRLE","WRL1WQ3dTG","W6vZa1BcOa","WOHgWPDdmK81WQmlW7ZdGmofACkXWRhdO00","lCoZuSkhW6jBWOvkwtK","W7jYjxFcNmk+vZWSW4C","WRD/WQFdPG","W6tcOc7cVH0","kmoVwSkeW45NWOvBwYq","A8o2W5KOlmowWPu0","WPvcWP5i","W4u4W7aSeqBcNa","xI9OWPZcGCoB","lCkyWPlcLqKqWRqWnmoxWQtdOKFdLW","gePovSoykSoHWQ0","W6OUWQ7dU8knWRldGf4","WPKDj8kKrmo0","sxPkg18lpmkBW6T5e8kAW6C","cmoRW43cKCkFW6vU","W5iTW6uokHVcGSodW6q","WO9LW5/dJx01FG3cRCkgW7W0WRZdVW","W4KkW7WdWP4","WRuWW4FdPCoRFfP7","octcJSk8W4a0iw1mwCk2","i8kdyCoSAW","WRRcV8oxydhcVJbzkmoNw8k0W7GS","WR8YWPhcMSkucKvCW60Qa0S","WPXxWPjdgvqMWP8lW6a","xIHvlwO1WQyRoNpdVSoUmmo4","W7D4jxFcRSkP","W6GJW7dcPSo3W7xcQ0WTWQaMW5Ha","k8kMW4OGdmoQWRWyW7Kfncu","FeZdLCoMWQO","WP4ikmk0y8oZWQizW6H2","WR4WW5FcHGxdI8k7e3ddHZGs","W5BcVXVcSXVcUSktWPRdPJqBiq","WP4ikmk0CSo2WRCoW6jQ","tCkvzbxcSbCd","W4iNW70Nmq","ACk5Cx19WPCUWQ0","WOHXW57dNN09","W6j1W4hdJq","i8kgs8oNF0xcGW","D301p8kacfBdRhDe","W4XaCmoPeSk+W6iQW6HUW57dPmoC","sCkOnmktW40hWQr2WPZcGqJcIq","Fmk1yKz9","hJmAsZ5yFmkK","WQ5eWOXtrmoFuGu","WO4AW63cLJ7dTSksl0BdQq","FMWMpmkReW","fGfqrdhdOG","WO4OmSoaW4bS","WQniau4HASothmodWQW","WPn3a8oIaW","tbqvf8kZaSooWP3cHsJdVW","WOOhAw1D","a8k8D8obsgtcU2fBW7q","F8owvCkKW4fOWOe","W6bPW4xdKCoMw2rrW6K2bKFdVq","ixPPWRfyrN5f","d8oWvCkuW759WP1C","W7asWORdRwn8jcxdNmkd","W5n6y8ktWP8QlColWOlcRSkIiG","W6ZcMbiolgJdTsnSthvq","DIjbWO5bDxvg","W5qHW7BdO1KfDdK","W6bSW5ldJmo2v25a","WPi0W57cNgddMSoYW4RdMmo3yMS","sSkqDWpcLHWzW5uwia","wYvOWPZcT8oaiXi","sInIWPZcJa","ecxdU11hW5igWOldQhi","W5mNW6y","EwxdMSoQWP1yfL11B8k1d8o5","WQnPWPalW5iPWObDWQNcUSob","W4npEmoJf8k+WOufW6bWW6RdTq","W5yHW7u8kW","vs9VWO/cJmoD","W4uNW6yM","W4RdR8oaW4RcOCo5W5S","W6vQW4ZdHSoq","WPjKphGbr8oqmmo/WOX0","WQv2WOmlW6u0WQa","WQPPBmoQWRy","W7WhWOldRLH4","W6v1W7JdKmot","W7fSW4tdNCok","W6mlWO/dVvG","WPddLg9nWOtcMG","WQDQWOCxW7mYWQvrWQ7cUSoabSkM","WOPiWOq"];return(_0x1e58=function(){return e})()}_0x3394f0[_0x439531(250,"$crz")]=_0x439531(264,"w0%g"),_0x3394f0.justifyContent=_0x439531(203,"r@ho");const _0x14af72={};_0x14af72[_0x439531(174,"vR%H")]=50,_0x14af72[_0x439531(171,"vR%H")]=50,_0x14af72.backgroundColor=TANK_1990_COLORS[_0x439531(240,"uw8A")],_0x14af72.borderRadius=8,_0x14af72.justifyContent=_0x439531(220,"xaBM"),_0x14af72[_0x439531(263,"&XF^")]=_0x439531(183,"Za6["),_0x14af72[_0x439531(266,"T6CQ")]=1,_0x14af72.borderColor=TANK_1990_COLORS.CONTROL_BORDER,_0x14af72[_0x439531(242,"dup*")]=2;const _0x5dd509={};_0x5dd509[_0x439531(173,"$crz")]=50,_0x5dd509[_0x439531(180,"gPQx")]=50,_0x5dd509[_0x439531(231,"DK&R")]=2;const _0x1628c9={};_0x1628c9[_0x439531(262,"r@ho")]=50,_0x1628c9[_0x439531(243,"pvLI")]=50,_0x1628c9[_0x439531(241,"n$sg")]=2;const _0x5acb9a={};_0x5acb9a[_0x439531(205,"o(]Y")]=20,_0x5acb9a[_0x439531(229,"w0%g")]=TANK_1990_COLORS.SCORE_TEXT;const _0x5c150e={};function _0x3ecc(e,W){e-=165;const t=_0x1e58();let x=t[e];if(void 0===_0x3ecc.ucJQDP){const e=function(e,W){let t,x,o=[],s=0,_="";for(e=function(e){let W="",t="";for(let t,x,o=0,s=0;x=e.charAt(s++);~x&&(t=o%4?64*t+x:x,o++%4)?W+=String.fromCharCode(255&t>>(-2*o&6)):0)x="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(x);for(let e=0,x=W.length;e<x;e++)t+="%"+("00"+W.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(t)}(e),x=0;x<256;x++)o[x]=x;for(x=0;x<256;x++)s=(s+o[x]+W.charCodeAt(x%W.length))%256,t=o[x],o[x]=o[s],o[s]=t;x=0,s=0;for(let W=0;W<e.length;W++)x=(x+1)%256,s=(s+o[x])%256,t=o[x],o[x]=o[s],o[s]=t,_+=String.fromCharCode(e.charCodeAt(W)^o[(o[x]+o[s])%256]);return _};_0x3ecc.grmeEM=e,_0x3ecc.wXxPWc={},_0x3ecc.ucJQDP=!0}const o=t[0];_0x3ecc.zkKRjO!==o&&(_0x3ecc.wXxPWc={},_0x3ecc.zkKRjO=o);const s=_0x3ecc.wXxPWc[e];return void 0===s?(void 0===_0x3ecc.qrUkvi&&(_0x3ecc.qrUkvi=!0),x=_0x3ecc.grmeEM(x,W),_0x3ecc.wXxPWc[e]=x):x=s,x}_0x5c150e[_0x439531(268,"w0%g")]=80,_0x5c150e.height=80,_0x5c150e.backgroundColor=TANK_1990_COLORS[_0x439531(248,"UdjU")],_0x5c150e.borderRadius=40,_0x5c150e[_0x439531(219,"qh#4")]=_0x439531(190,"NNtz"),_0x5c150e.alignItems=_0x439531(175,"DG4n"),_0x5c150e[_0x439531(168,"O4tf")]=2,_0x5c150e.borderColor=TANK_1990_COLORS[_0x439531(204,"1@rv")];const _0x322c0c={};_0x322c0c[_0x439531(261,"r@ho")]=14,_0x322c0c[_0x439531(196,"xaBM")]=_0x439531(192,"vf4h"),_0x322c0c[_0x439531(167,"$crz")]=TANK_1990_COLORS[_0x439531(244,"O4tf")];const _0x22ec3a={};_0x22ec3a.container=_0x4f1c20,_0x22ec3a[_0x439531(232,"$crz")]=_0x3f7a44,_0x22ec3a[_0x439531(202,"w0%g")]=_0x3394f0,_0x22ec3a[_0x439531(224,"3xpG")]=_0x14af72,_0x22ec3a[_0x439531(260,"HT9(")]=_0x5dd509,_0x22ec3a[_0x439531(227,"3xpG")]=_0x1628c9,_0x22ec3a[_0x439531(238,"jAbI")]=_0x5acb9a,_0x22ec3a.fireButton=_0x5c150e,_0x22ec3a[_0x439531(258,"$crz")]=_0x322c0c;const styles=StyleSheet.create(_0x22ec3a);Controls[_0x439531(186,"O4tf")]=_0x439531(252,"PWHj");
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const _0x5160d=_0x4794;function _0x50f6(){const W=["W4DYWR5d","j3ldHSoVWQRcGvmSsmoiWPZdRMhcVY3cVmkGo2CQ","W7OIlmkv","W71Osu0c","n0q0lCoqW7m0pmk4WQldJ2pcK8oqxN8Y","ueuHW7uY","WQKbWOqSW63cTqtcQ0ii","WOm2WQGq","c3GshSo4","fg5Zga","zrWNxCoF","wCoYldRcMdiYW7/cK8oyWP5LjZbeuSo5","W65PEe8","WOhdOYnJaNjcW58","kblcOmk/Emk2","fdVcJ8kbsCkmoWFcHspdShf9y8kNW40","mbVcUSo1","f2K0xq","W6BdLaH4W400Cxy2WRNdSL0HWQqeiSkq","D2aeW5GFW5ddM8kRWP5ioSo/WOu+Da","WPldVJLN","iNldJSo/WRlcGv8KqSobWPFdOMlcQdS","ugtdQ8koW7G","F8otbrJcSW","v1K2W6K","t0uHW6u/W6W","W5BdLq0DW4/cQ17cQ8kdW7BdTwNdIq","W57dU8otWQWeafXjWPK","W4qpwSkMeSoeWRtcQComW63dPG","zbO2uCo4","WQL3og3dT2a","dSoTgKqD","WQu0W7uqW7u","WQSMWRa5W5q","seS+WPJdSduFW7u","W6NcHG3cNGm","WRvRkwq","neGcCmoiW5THDCoPkW","CuRdLmkKW5u3WOr1pxK","oCklcmkSaW","W60OW4C5","a3CnjSkr","q8orW4DA","W6GDiCkSW70+f14JWOS","nH5Yp8kqx2NdHW","zv49eCk0BCon","WRRdM8kbWRy7B8o4fvuUW4WbhSo/WPq","W7DpWQTGWR0","W4/cGXtcUsH1y8krbmoWyW","mmorzSoMWOS","W6SGW43cHq","remPW64O","WR5uhZtcOdBdH8oeW4ZcVG","k1K0gCkR","sqvpzSkk","W600mmkFW5m","WRTeD8oIWPPIrKauWQZdK8kcWPy","W6xcSI3cLam","zmkRWOxcU3BdSmod","W788W43cNqJdKmkRzrxcSqS","W784WOz8","seuOWPpdKZG0W5W","avmNWO7cJJTpWPaJsG","tJnVW5qD","jHjIgmkm","WRDjW60f","WRBdQtjalG","uX1qtSk1","fNSafmo6","WOaCW6yc","wG1+W5NcLa","l8kkx0ddTLrhW5pcS8oBWQD8cW","qHvEqmoVWQdcMZC6FSodW7NdSuBcOei","W7bIW7dcKq","qaCZuCo5WPbqW5tdNKybWRZdSmoDWPe","p8o8W5RcTs8oWR9PW6FdKW","b8kkW7ldSue","WO4uWQGKWOZcGSoFaCk8","WQtdMsfyeW","W4TdxSkG","dCoiW7RcMa","W7RcQYpcIb8","cCkWiCkgpCk9WO47hL5HWP4","WR9ufYlcKa","W4TzrmkMWOfWd8ozW4SFamodWOG","WOuFW6XiWR3cIW","WQedW4OS","WQHmW6S","W5DwW5FcVghcUCoDC8kNW6S","mCkuW7BdQLu","W6pdMG5TWO0","ugmdW5az","WOZdPcrQ","W50dbmkHW5y","mSoNWPxdLmk/","EvixWQldNG","egyugCo1","WOrumMldQG","W4BcRHxcTYm","cSouW63cHbG","zWeZrSo7","WQn9pxJdHwKFW4q","W71Zz0G3","W74+W5lcRZW","xsvTW7CYWOZcMX3dM0pdUa","W6K3CCkyWOW","seX3","W5pdOsTkWRzzbGjjW44","W68cAa","WPBdPaXMhMvd","AxhdMX7dGSoN","WQH8ltVcGa","m8oeWQJdL8k/","WOaZW5mMW7W","fYpcI8kDqmkbnGZcNcldVq","oCoNACo5WO8","fK/cOG","dSopWRRdNq","kSoMwmo7","rNxdNXZdQmo8cszT","BWvsW5m","DKxdGSkSW5mHWOH0phioW6ldGSogosSr","cmkSW5pdJSkX","W4f8WRTFWPyWpxy","wem4WOdcNMzjWQv2W4JdLsnSsmoO","eYLpl8kVyuNdRvW","WP0pW7zh","W60GW5G","u1K3W7m/W7BdL8kbWRbOdmox","W5jFW4pcO8kFfuu","t0KSW6yYW7y","cmkaW7JdQG","BIngW7pcTc5kWRW7wCoYs8oV","W5xdIuK","cCkdW7hcSW","WRSrWPC2W7O","emkNW5ldINa","gSorWQtcHL0","ad5SdSkU","nalcVCkW","x8o4W6rYzG","W6iOWPH7","DmkJWOpcOWRcP8kdW7ddTXuBW48Zta","hmk2d8kuba","WR0FW7n4WPe","WOGag8o/W4iSsSo/W5KGcmo9WP8","bNSra8okW4mx","wWnHW5m","CCkTWOxcTKO","WQKRW4DzWOi","WOqUqSkQEgrMdSoIuqBcSCk/oCkzi8oxnCoOimo0","mmk3W7ZdK30","tmoWkc7cHd8VW7lcLSotWPnZiY5ivmoPW6fcv0Oyba","W7P1EuiMW7O6W5mY","W6BdL1CEW68","WRvGkIW","WQr7Da","WPWBWRKSWOFcGSoghCkQgc3cNgKUW4dcNLNdHaq","WRmhzCkgcqKhACkpihJdM8oBqCoMw8k3","cCkSW5VdMmkbW6JcOmkPaqi","WR7dOmkFWQKB","W7aqjSkSW6S","W70QWPD1WOddJCo5xSodWQlcPSopb3XfvZZcUva","WP3dR8kMWPS","mZPLoCkP","gmooWQq","dSobsCoEWOy","WOr0W7XUja","cmoydfqB","WQmpy8kEDvrc","W7ZcR8oFWOiiWOXhW658cIHC","WQn9k2xdPNOUW4ddJSo5faq","W4fYWQ1uWQa0ff5Fwq","W7zyu1iJ","srDHW54","W7qvhSkeW7S","W6RdN3qPW6q","a8kMW5BdHSkRW7m","W50ZeCkqW7WjmN8jWQW","WRevDmkp","W47cJ8oGWQy","WO5ycSk/","kSooW6FcQt4","WPq4W7WjW6/cI8o9huuxWPvE","W67cRtq","W6XdE8kaWR4","qaDpsq","b3SzfCoS","W5ddIGr4WOHVjWz0W7/cRHXKW7nfuCoDx8kOBfq","WPO8WOmwW4BcJYi","m8oLWP/dGCkzW6m","yh4eW5ijW53dKmkGWOe","W7BdNa5GWRzUjsD1W7W","eb9ZWRDVWRtdGSk4WRb9iCo4","mLxdMCoKWQO","o8oXwmo8WQrPtclcV8keoqW","W7KYomkeW4K","WRjiWQG","WQqizSk1va","W7rLW7FdLa","xrne","W6iJW53cPcy","WQWbFW","pG1JhSkcuNldLq","e8kmW7RdQLS","WQiQsmkHvW","B8oowfO","WQX7nW","m8o4iwau","iLS0nG","gHzFiSkm","WRvqW7za","e30rdSo2","W6GPm8kD","W7RdHgOPW73dHmkOCmk7E8oB","wCo1WO3cMmo2WR/cMCkuhHXIrG","W4DwWPW","W5xcMmogWQu1","mXhdOW","cCohBSowWOrdAG7cR8kOaq","eu/dICofWPNcU3m","lCo6t8oNWQa","mSo2qSo0WQbO","WRugkG","WPtdHc9apG","W58bWRrnW63cR8kkkSkHW4/dHCk0","w03dKdRdIq","WQbWkM7dR30iW4tdRmo5drS","W4RcJ8oHWRWOWQW","W7Kgpmk5W4S","WR0BW4jzWRO","wLePWOK","mHrQa8kw","WOX3oHtcPWVdRmoYW6ZcL8kKwmk3WOGGWQfiW5a","xgFdOmkfW6W","EmovgGFcRqWjW77cTSoSWQq","BmovhHRcHa","WOWYWRCnW5VcHG","kmkna8kRbq","fdVcJ8kbsCkmoWFcIZxdU2T3","WP/dTSkZW54","W6HZFL8k","yamZuSo+WQnVW5RdMMadWQBdR8otWOZcKYutySobFa8","W7W5WOX4W40","mXqR","W6Cxkmk6","nSoyW6ZcVJ0","W49AxSoL","WRO6WPaoWQW","etxcNmkrsa","zWeZrSo7WRTr","t8onhaBcMq","vblcV8ovWQ7cRLe6va","ahKZzSoWW6vtuq","WR5uhZtcSthdKSouW4ZcPa","jrrabCkCw3K","leOnBmoT","WRmhzCkgcqKhACkpkN3dGSohxa","WOObWRKKWPlcGSoaaCkUdZW","WRuvDCkvre8","CSkgWQ3cLMe","WQmtkG","WPZcUSkzWRW","W4xdLqGCW4K","jLWHCW","W6RdN2S","f3SpFmo2","W6tdHHLX","W53cKSo6WQiPWQP9W5q","qWzDu8kZW4tdNMPZ","W7X6jG","yrqWrmk4W4eOWOdcGJDvW6FcQSkoW5FdO2C","gSoyWQhdQSkIW5JcSmoEu8oAF8k0WPP6tKSbW4K","WPzXW4bTlahdLhOmW4JcQK0","AhytWQldVqS4W5exWRJcOfyej8kmx8opCfVdSh/cHCo/","WQOOW4XRWORcS0VcGCoj","WR9Pk8orACo+WOxcNCo7W4u","W5BdSILsWQjucXzuW48","W4XFsCk8WP0","W7CWW5dcIHddMq","W4KjhCkJW7icgtpdVW","bK/dO8odWPm","omo7bG","CbW+sSoI","WQqnkG","WP5udSo9ua","W4fgW7RcV3C","lCkmlItcLcOFW6q","WOOpWPejWRu","W7z5yKaTW7O","WRWJW49xWQi","WPxdR2C","WRZdT3hdIKuvhSk6jSotueyH","WQL3mgBdQ3W","e8knWQ/cSW","hCobWQldO8kYW47cTmotuCoaDG","EHmm","W43cISo/WQC5","W4bYWQvcWOe","WR08WO4eWR3cQCo7j8kw","or5Vc8kmsG","qSorW4Xb","WQWsWPy6W6hcPrpcVLqF","bNfevW","W7LJyCkeWRbbiSoBW7e1oq","WQyfC8k0vvPgoq","WQyxW40HW4q","aI9dkCkOyu7dQK07hZG","W642W63cIsm","CHziWPy","WPj6arNcOW","tmoBW5HrE2VdMuvIsNK","W4nzW5xcKSkw","E8oEra","iXD1qq","FcXxW7VcVY5BWQG7tCo2rmo1jSoxcGJcUmkVamoxW7y","jg/dPmo1WOK","ASkmWPtcOvm","mfPQ","egyugCo1W6qR","kKldICoAWQS","Amofgri","WRPucqJcGZRdMW","WQKGWO8j","n8oLWPJdGCkfW78","pmo4W4dcGWm","WP7dRSkSWP8m","rwtdSSkzW4u","WOi0WO8gW6O","kCkncG","BM0EWRddPq","aNnQ","W5ZcLCo3WRCzWRDO","h1yQpmkr","jx8glCoY","W6VdN3W/W4xdICkEFCkWEa","WQTkW6Tn","WQj9nw7dSq","yX4adCkZACofla","WO7dTCk5WPWB","W4j/WRPcWP8Pav92r1BdIq","iG90a8kpwW","WRfqW7DAbsRdLfOSW6JcIM0","evNdV8oj","n0aWp8osW7m1pCkNWQldLW","WReWWPugWRBcQq","W4Hcx8kNWP5W","xSoUidtcIJi0W7hcMSoaWOzZkY5gxmoTW6W","W70BiCkHW4y","uwJcQG","mgJcGaxcMSoVwYG9","W4LmWQXFWOi","W70VpCkcW5ujprFdNG","qgxdTa7dNa","W7u6W4K","WQuzW78TW47cSCoB","W4RcLCovWQC1WR18","rgldO8kvW6i","WRfkW4nbgdVdOW","fmooW5NcNbe+WPrv","W5ntrmkVWP1H","vCkqWQtcH27dGmoNWPpcKq","ECouccxcTa","W43cKSk+","W611zq","fvxdVmoe","WQ5Ri8ofBmo+WPdcLmoXW4xdJ8kN","W5zFW5xcN8k4f07dHW","ie4oCCoBW4HUESoV","h8o1tCo2WQTOsWtcMmkdiWhcNG","W44kWOn9W6O","WPGsW5G0W6e","W49zA8kHWO1Wgq","qw/dL8kKW7a","fgG+wCoH","nvPQ","bhmRwSo2","rSorW4nsDM0","fgegeG","WOhdPczGfa","g8k2W4ZdIq","AqCvsCoM","WR9TBSohWPvPzaddO8oWWPddSmoi","jKy8oCovW7mHnCkYWQldNgBcGmob","WO4vW6LaWQC","BSoBcXBdQv9fWOxdU8kZW7egq0qWmq","jXJcOSk3FG","dCkLmmkgi8k9WPu6gfjIWOaHWPNcGW","WR17W4CTWP3dHCkyn8kdW73dQCkO","pmoVWP3dICkF","WRfNkMK","W4/cKa7cVZX5ACkFfmoRE2e","W6G2W4JdGa","jLS1lmkdwG","W7NcScBcNXXUzW","mCoXFSo4WRa","WONcP8klWOyq","WO/cOmkgWRSx"];return(_0x50f6=function(){return W})()}!function(){const W=_0x4794,e=_0x50f6();for(;;)try{if(426207==parseInt(W(357,"qQwT"))/1+parseInt(W(429,"npiu"))/2*(-parseInt(W(394,"qk*N"))/3)+parseInt(W(560,"Kfuy"))/4+-parseInt(W(395,"1xRz"))/5*(-parseInt(W(221,"#Je)"))/6)+parseInt(W(412,"tRQc"))/7*(parseInt(W(351,"GrXH"))/8)+-parseInt(W(438,"Vf]]"))/9+-parseInt(W(256,"Vf]]"))/10*(-parseInt(W(261,"0Oqa"))/11))break;e.push(e.shift())}catch(W){e.push(e.shift())}}();import _0x1516df,{useMemo}from"react";import{View,StyleSheet}from"react-native";import{Canvas,Rect,Circle,RoundedRect,LinearGradient,vec,Line}from"@shopify/react-native-skia";import{useTank1990Store,useBoardReady,useGameVersion,useMapVersion,useEffectsVersion}from"../Tank1990Store.js";import{TANK_1990_COLORS,TANK_1990_GAME_CONFIG}from"../Tank1990Constants.js";import{jsx as _0x4ed97f,jsxs as _0x1b462f}from"react/jsx-runtime";const SHRAPNEL_COUNT=6,_0x3dd6c8={};_0x3dd6c8[_0x5160d(557,"T^d)")]=6;const SHRAPNEL_OFFSETS=Array[_0x5160d(182,"GrXH")](_0x3dd6c8,(W,e)=>{const t=_0x5160d,o={eklBX:function(W,e){return W*e}}[t(470,"K1Hr")](e/6*Math.PI,2)+.3;return{cos:Math[t(234,"BD#r")](o),sin:Math[t(333,"9l@i")](o)}}),_0x133f04={};_0x133f04[_0x5160d(536,"A@xd")]=TANK_1990_COLORS[_0x5160d(386,"Kfuy")],_0x133f04[_0x5160d(401,"*LGP")]=TANK_1990_COLORS[_0x5160d(382,"FY5J")],_0x133f04.bodyBottom=TANK_1990_COLORS.PLAYER_BODY_BOTTOM,_0x133f04.bodyShadow=TANK_1990_COLORS[_0x5160d(202,"eZ3p")],_0x133f04[_0x5160d(467,"MysB")]=TANK_1990_COLORS[_0x5160d(194,"qQwT")],_0x133f04[_0x5160d(288,"8SKW")]=TANK_1990_COLORS.PLAYER_TRACK_HIGHLIGHT,_0x133f04[_0x5160d(362,"tRQc")]=TANK_1990_COLORS.PLAYER_TURRET,_0x133f04[_0x5160d(495,"Kfuy")]=TANK_1990_COLORS.PLAYER_TURRET_SHADOW,_0x133f04[_0x5160d(206,"5Lqq")]=TANK_1990_COLORS[_0x5160d(208,"FY5J")],_0x133f04.barrelHL=TANK_1990_COLORS[_0x5160d(519,"Vf]]")];const PLAYER_COLORS=_0x133f04,_0x5764d9={};_0x5764d9[_0x5160d(513,"8SKW")]=TANK_1990_COLORS.ENEMY_BODY_TOP,_0x5764d9[_0x5160d(336,"mOr6")]=TANK_1990_COLORS.ENEMY_BODY_FACE,_0x5764d9[_0x5160d(526,"Y6xc")]=TANK_1990_COLORS[_0x5160d(488,"pq9j")],_0x5764d9[_0x5160d(559,"pV@G")]=TANK_1990_COLORS[_0x5160d(378,"Vf]]")],_0x5764d9[_0x5160d(463,"8SKW")]=TANK_1990_COLORS.ENEMY_TRACK,_0x5764d9[_0x5160d(363,"0Oqa")]=TANK_1990_COLORS[_0x5160d(517,"A@xd")],_0x5764d9[_0x5160d(228,"A@xd")]=TANK_1990_COLORS.ENEMY_TURRET,_0x5764d9.turretShadow=TANK_1990_COLORS[_0x5160d(524,"7hUu")],_0x5764d9.barrel=TANK_1990_COLORS[_0x5160d(550,"1rcG")],_0x5764d9[_0x5160d(490,"cHn@")]=TANK_1990_COLORS[_0x5160d(284,"npiu")];const ENEMY_COLORS=_0x5764d9,EXPLOSION_STEPS=10,EXPLOSION_SMOKE_COLORS=[],EXPLOSION_OUTER_COLORS=[],EXPLOSION_MID_COLORS=[],EXPLOSION_INNER_COLORS=[],EXPLOSION_CORE_COLORS=[],EXPLOSION_SHRAPNEL_COLORS=[];for(let W=0;W<=10;W++){const e=W/10;EXPLOSION_SMOKE_COLORS[_0x5160d(440,"4drL")](_0x5160d(509,"HC1H")+(.25*e)[_0x5160d(476,"$j0P")](3)+")"),EXPLOSION_OUTER_COLORS.push(_0x5160d(226,"A@xd")+(.4*e).toFixed(3)+")"),EXPLOSION_MID_COLORS[_0x5160d(541,"npiu")](_0x5160d(491,"*LGP")+(.7*e)[_0x5160d(224,"QdW@")](3)+")"),EXPLOSION_INNER_COLORS.push("rgba(255,200,50,"+(.9*e)[_0x5160d(324,"1rcG")](3)+")"),EXPLOSION_CORE_COLORS[_0x5160d(553,"5$wA")](_0x5160d(385,"pV@G")+e[_0x5160d(327,"m5Am")](3)+")"),EXPLOSION_SHRAPNEL_COLORS.push("rgba(255,180,60,"+(.8*e)[_0x5160d(556,"5Lqq")](3)+")")}const MUZZLE_OUTER_COLORS=[],MUZZLE_INNER_COLORS=[],MUZZLE_CORE_COLORS=[];for(let W=0;W<=10;W++){const e=W/10;MUZZLE_OUTER_COLORS[_0x5160d(487,"H0o7")](_0x5160d(354,"Vf]]")+(.3*e)[_0x5160d(325,"NTw!")](3)+")"),MUZZLE_INNER_COLORS[_0x5160d(292,"7hUu")](_0x5160d(525,"A@xd")+(.8*e)[_0x5160d(341,"bpW$")](3)+")"),MUZZLE_CORE_COLORS[_0x5160d(200,"*LGP")](_0x5160d(240,"MysB")+e[_0x5160d(189,"#Je)")](3)+")")}const render3DTank=(W,e,t,o,d)=>{const n="BD#r",r="bpW$",O="Pdkf",_="QdW@",x="9l@i",u="*LGP",i="palJ",S=_0x5160d,R={QYJxw:function(W,e){return W*e},Uqhtf:S(439,"5$wA"),wOFQC:function(W,e){return W-e},yvcIB:function(W,e){return W-e},SquqX:function(W,e){return W+e},jBMuC:function(W,e){return W-e},ZYbCc:function(W,e){return W*e},uQmYF:function(W,e){return W*e},AOkYh:function(W,e){return W-e},vOeOX:function(W,e){return W+e},lDYqR:function(W,e,t,o){return W(e,t,o)},kGBIv:function(W,e){return W+e},tGVvb:function(W,e){return W-e},WuVHK:function(W,e){return W/e},vouxO:function(W,e,t,o){return W(e,t,o)},BJdow:function(W,e,t){return W(e,t)},dDJbt:function(W,e){return W-e},bAcUM:function(W,e){return W+e},abstS:function(W,e){return W*e},lHucq:function(W,e){return W*e},DQBvW:function(W,e){return W-e},QCNoj:"down",piwmE:function(W,e,t,o){return W(e,t,o)}},f=W.x,C=W.y,s=W[S(328,"ZHim")]?PLAYER_COLORS:ENEMY_COLORS,a=R[S(408,"tRQc")](e,.22),k=e,m=k/3,L={};L.x=f-t-1,L.y=C-t+2,L[S(515,"HC1H")]=e+2,L.height=e+1,L.r=3,L[S(443,"6!uZ")]=R[S(456,"6!uZ")],d.push(_0x4ed97f(RoundedRect,L,S(332,"NTw!")+W.id)),d[S(384,"W$W5")](_0x4ed97f(RoundedRect,{x:R[S(458,"Kfuy")](f,t),y:C-t,width:a,height:k,r:2,color:s[S(304,n)]},S(216,r)+W.id)),d[S(541,"npiu")](_0x4ed97f(RoundedRect,{x:f-t,y:R[S(568,"K1Hr")](C,t),width:a,height:R.wOFQC(k,2),r:2,color:s.track},"tlf-"+W.id));for(let e=0;e<3;e++)d.push(_0x4ed97f(Rect,{x:f-t+1,y:R[S(220,"Vf]]")](R[S(416,"Y!Ox")](C,t)+R[S(195,"v(C1")](e,m),R.uQmYF(m,.3)),width:a-2,height:1,color:s.trackHL},S(383,"FY5J")+W.id+"-"+e));const h=R[S(285,"#Je)")](R[S(193,"$j0P")](f,t),a),l={};l.x=h,l.y=C-t,l[S(181,"8SKW")]=a,l[S(293,"T^d)")]=k,l.r=2,l[S(389,"pq9j")]=s[S(539,"cHn@")],d.push(_0x4ed97f(RoundedRect,l,S(522,O)+W.id));const N={};N.x=h,N.y=C-t,N.width=a,N[S(452,"palJ")]=k-2,N.r=2,N[S(201,_)]=s.track,d[S(384,"W$W5")](R[S(479,"T^d)")](_0x4ed97f,RoundedRect,N,S(233,"tRQc")+W.id));for(let e=0;e<3;e++)d[S(485,"Y!Ox")](_0x4ed97f(Rect,{x:h+1,y:R.kGBIv(C-t,e*m)+.3*m,width:a-2,height:1,color:s[S(219,"MysB")]},S(566,"4drL")+W.id+"-"+e));const T=.56*e,K=.68*e,A=f-T/2,y=R[S(478,"eZ3p")](C,R[S(552,r)](K,2)),p={};p.x=A,p.y=y,p[S(281,"mOr6")]=T,p.height=K,p.r=3,p[S(489,"Y6xc")]=s[S(223,"eZ3p")],d.push(_0x4ed97f(RoundedRect,p,S(230,"A@xd")+W.id)),d[S(391,"Kfuy")](R[S(296,"pq9j")](_0x4ed97f,RoundedRect,{x:A,y:y,width:T,height:K-2,r:3,children:_0x4ed97f(LinearGradient,{start:vec(A,y),end:R.BJdow(vec,A,R[S(402,"0Oqa")](y+K,2)),colors:[s.bodyTop,s[S(468,O)],s[S(419,"eZ3p")]]})},"bf-"+W.id)),d[S(349,"Y6xc")](R[S(210,x)](_0x4ed97f,Rect,{x:R[S(531,_)](A,2),y:y+1,width:T-4,height:2,color:s[S(425,"HC1H")]},S(473,u)+W.id));const P=R.abstS(e,.18),G={};G.cx=f,G.cy=C+1,G.r=P,G[S(353,"palJ")]=s[S(311,"m5Am")],d.push(_0x4ed97f(Circle,G,"ts-"+W.id));const q={};q.cx=f,q.cy=C,q.r=P,q[S(489,"Y6xc")]=s[S(197,"NTw!")],d[S(440,"4drL")](_0x4ed97f(Circle,q,S(192,"A@xd")+W.id));const Q={};Q.cx=f-.3*P,Q.cy=C-.3*P,Q.r=.35*P,Q[S(348,"$j0P")]=s[S(301,"NTw!")],d[S(553,"5$wA")](_0x4ed97f(Circle,Q,"th-"+W.id));const H=R[S(259,i)](e,.48),E=R[S(286,"HC1H")](e,.13),v=R.abstS(E,.4);let M=f,b=C,Z=E,g=H,w=f,I=C,B=v,X=H;switch(W[S(520,x)]){case"up":M=R[S(516,i)](f,E/2),b=C-H,Z=E,g=H,w=f-v/2,I=C-H,B=v,X=H;break;case R[S(430,"H0o7")]:M=f-E/2,b=C,Z=E,g=H,w=f-v/2,I=C,B=v,X=H;break;case S(270,"q8ve"):M=f-H,b=C-E/2,Z=H,g=E,w=f-H,I=C-R[S(561,"#Je)")](v,2),B=H,X=v;break;case S(207,")lG@"):M=f,b=C-E/2,Z=H,g=E,w=f,I=C-v/2,B=H,X=v}const Y={};Y.x=M,Y.y=b+1,Y.width=Z,Y[S(191,"Y!Ox")]=g,Y.r=1,Y[S(437,"npiu")]=s[S(410,"$4oX")],d[S(236,"pV@G")](R[S(205,"Vf]]")](_0x4ed97f,RoundedRect,Y,S(283,"QdW@")+W.id));const F={};F.x=M,F.y=b,F[S(317,"$4oX")]=Z,F[S(346,"q8ve")]=g,F.r=1,F[S(358,"T^d)")]=s.barrel,d[S(530,"SmxO")](_0x4ed97f(RoundedRect,F,S(209,"SmxO")+W.id));const J={};if(J.x=w,J.y=I,J.width=B,J[S(497,"Kfuy")]=X,J[S(469,"9l@i")]=s[S(428,u)],d[S(546,"A@xd")](_0x4ed97f(Rect,J,S(432,"m5Am")+W.id)),o<W[S(211,"MysB")]){const e=t+3,o={};o.cx=f,o.cy=C,o.r=e,o.color=TANK_1990_COLORS[S(335,"1xRz")],d.push(_0x4ed97f(Circle,o,S(483,"#Je)")+W.id));const r={};r.cx=f,r.cy=C,r.r=e,r[S(543,n)]=TANK_1990_COLORS[S(371,"8SKW")],r[S(198,"$4oX")]=S(315,"bpW$"),r[S(183,"BD#r")]=1.5,d[S(447,"ZHim")](R[S(377,"MysB")](_0x4ed97f,Circle,r,"se-"+W.id))}},StaticMapCanvas=_0x1516df[_0x5160d(409,"q8ve")](()=>{const W=_0x5160d,e={hpjht:function(W,e){return W/e},TRbMN:function(W,e,t){return W(e,t)},GLVhF:function(W,e){return W-e},AEIss:function(W,e){return W+e},EuuFj:function(W,e){return W*e},ucSdG:function(W,e,t,o){return W(e,t,o)},SzJZr:function(W,e){return W<e}},t=useMapVersion(),o=e[W(518,"6!uZ")](useMemo,()=>{const t="Vf]]",o="QdW@",d="0Oqa",n="9l@i",r="pq9j",O="6!uZ",_="kp0S",x="Kfuy",u="tRQc",i="#Je)",S="ZHim",R="8SKW",f="npiu",C="T^d)",s=W,a={tBLTC:function(W,e){return W*e},zbcyE:function(W,e){return W===e},LwXMl:"brick",mxXlx:function(W,e){return W<=e},OzNJm:function(W,e,t,o){return W(e,t,o)},SZmhk:function(W,t){return e[_0x4794(424,"0Oqa")](W,t)},olgdf:function(W,e){return W-e},QEjbJ:function(W,e){return W+e},ogOXy:function(W,e){return W<e},PaGvo:function(W,e){return W<e},KmYNh:function(W,e){return W+e},ehaRu:function(W,e){return W+e},jQerq:function(W,e){return W+e},NAzTA:function(W,e,t){return W(e,t)},ZxSGM:function(W,t,o){return e[_0x4794(533,"Y!Ox")](W,t,o)},KVJYi:function(W,e){return W-e},DIDQS:"steel",pgHIr:function(W,e,t,o){return W(e,t,o)},kbUkx:function(W,t,o){return e[_0x4794(414,"cHn@")](W,t,o)},KlRKT:function(W,t){return e.GLVhF(W,t)},FRkWu:function(W,e){return W+e},AQyFD:function(W,e,t,o){return W(e,t,o)},deCpe:function(W,t){return e[_0x4794(294,"ZHim")](W,t)},Mxmbw:function(W,e){return W*e},AvyTu:function(W,e){return W*e},AGviB:s(275,"1rcG"),WsnYN:function(W,t){return e[s(400,"5Lqq")](W,t)},AqFwv:function(W,e,t,o){return W(e,t,o)},Zuehy:"grass",IAgno:function(W,e,t,o){return W(e,t,o)},lgJyT:function(W,e){return W+e},IOXZk:function(W,e,t,o){return W(e,t,o)},cJOFv:function(W,e,t,o){return W(e,t,o)},TbxOH:function(W,e){return W+e},ctBjG:function(W,e){return W+e},IdapW:function(W,e){return W+e},hDXuf:"stroke",KeeNM:function(W,e){return W+e}},k=useTank1990Store[s(222,"W$W5")](),{gameMap:m,cellSize:L,boardWidth:h,boardHeight:l}=k;if(!m)return null;const N=[],T={x:0,y:0};T[s(457,"pV@G")]=h,T[s(191,"Y!Ox")]=l,T[s(554,"8SKW")]=TANK_1990_COLORS[s(246,"pV@G")],N.push(e[s(277,"K1Hr")](_0x4ed97f,Rect,T,"bg"));for(let W=1;e[s(527,"SmxO")](W,m.width);W++){const e={};e.x=W*L,e.y=0,e[s(396,"MysB")]=1,e[s(262,"Pdkf")]=l,e[s(306,"Pdkf")]=TANK_1990_COLORS[s(244,"palJ")],N[s(180,"m5Am")](_0x4ed97f(Rect,e,s(504,"ZHim")+W))}for(let W=1;W<m[s(269,"QdW@")];W++){const e={x:0};e.y=W*L,e[s(247,"bpW$")]=h,e.height=1,e[s(254,"1xRz")]=TANK_1990_COLORS[s(337,"W$W5")],N[s(546,"A@xd")](_0x4ed97f(Rect,e,s(472,"GrXH")+W))}return m.tiles[s(291,"eZ3p")]((W,e)=>{const k=s;W[k(496,"mOr6")]((W,s)=>{const m=k,h=a[m(399,"1rcG")](s,L),l=e*L,T=L;if(a[m(528,"$4oX")](W[m(403,"Pdkf")],a.LwXMl)){const _=a.mxXlx(W[m(397,"Pdkf")],1),x=_?TANK_1990_COLORS[m(316,t)]:TANK_1990_COLORS[m(245,"1xRz")],u=_?TANK_1990_COLORS.BRICK_DAMAGED_FACE_ALT:TANK_1990_COLORS[m(352,"8SKW")],i=_?TANK_1990_COLORS.BRICK_DAMAGED_TOP:TANK_1990_COLORS[m(492,o)],S=_?TANK_1990_COLORS[m(243,"*LGP")]:TANK_1990_COLORS.BRICK_HIGHLIGHT,R=_?TANK_1990_COLORS[m(368,"#Je)")]:TANK_1990_COLORS[m(360,d)],f={};f.x=h,f.y=l,f[m(431,o)]=T,f[m(258,n)]=T,f[m(418,"Kfuy")]=TANK_1990_COLORS.BRICK_MORTAR,N.push(a[m(398,"MhA%")](_0x4ed97f,Rect,f,m(494,"qQwT")+s+"-"+e));const C=1,k=3,L=a[m(257,"7hUu")](T-C*a[m(203,r)](k,1),k);for(let W=0;W<k;W++){const t=W%2==1,d=t?3:2,r=(T-C*a[m(375,"8SKW")](d,1))/d,_=t?.3*-r:0,f=l+a[m(503,O)](W,a[m(505,o)](L,C));for(let t=0;a[m(521,"BD#r")](t,d);t++){let o=a[m(480,"1rcG")](h,t*(r+C))+_,d=r;if(a[m(199,"palJ")](o,h)&&(d-=h-o,o=h),a.KmYNh(o,d)>a[m(365,"qk*N")](h,T)&&(d=h+T-o),d<=1)continue;const O=a.jQerq(W,t)%2==0?x:u,k={};k.x=o,k.y=f,k[m(448,"0Oqa")]=d,k[m(314,"7hUu")]=L,k[m(345,"W$W5")]=R,N[m(236,"pV@G")](_0x4ed97f(Rect,k,"bs-"+s+"-"+e+"-"+t+"-"+W)),N[m(506,"FY5J")](_0x4ed97f(Rect,{x:o,y:f,width:d-1,height:L-1,children:a.NAzTA(_0x4ed97f,LinearGradient,{start:a.ZxSGM(vec,o,f),end:a.ZxSGM(vec,o,a[m(225,"W$W5")](f+L,1)),colors:[S,O,R]})},m(239,n)+s+"-"+e+"-"+t+"-"+W));const l={};l.x=o,l.y=f,l[m(466,"ZHim")]=d-1,l[m(329,"bpW$")]=1,l[m(366,"qk*N")]=i,N[m(485,"Y!Ox")](_0x4ed97f(Rect,l,m(251,"Y!Ox")+s+"-"+e+"-"+t+"-"+W))}}}else if(W.type===a[m(299,"*LGP")]){const W={};W.x=h,W.y=l,W[m(190,"Y!Ox")]=T,W[m(497,"Kfuy")]=T,W[m(434,"5$wA")]=TANK_1990_COLORS[m(449,")lG@")],N[m(231,"qk*N")](a[m(235,"W$W5")](_0x4ed97f,Rect,W,m(500,_)+s+"-"+e)),N[m(391,x)](_0x4ed97f(Rect,{x:h,y:l,width:T,height:T-1,children:_0x4ed97f(LinearGradient,{start:vec(h,l),end:a[m(186,"NTw!")](vec,h,a[m(465,d)](a[m(510,")lG@")](l,T),1)),colors:[TANK_1990_COLORS[m(330,"HC1H")],TANK_1990_COLORS[m(404,"W$W5")],TANK_1990_COLORS.STEEL_BOTTOM]})},m(185,"mOr6")+s+"-"+e));const n=a.tBLTC(T,.07),r=a[m(229,"HC1H")](T,.18);N[m(493,"palJ")](_0x4ed97f(Circle,{cx:a[m(445,"$j0P")](h,r),cy:l+r,r:n,color:TANK_1990_COLORS[m(313,"8SKW")]},m(175,t)+s+"-"+e));const O={};O.cx=h+T-r,O.cy=l+r,O.r=n,O.color=TANK_1990_COLORS[m(227,"7hUu")],N[m(453,"1rcG")](a[m(255,"4drL")](_0x4ed97f,Circle,O,"sr2-"+s+"-"+e));const i={};i.cx=h+r,i.cy=l+T-r,i.r=n,i[m(232,_)]=TANK_1990_COLORS[m(481,"FY5J")],N[m(180,"m5Am")](_0x4ed97f(Circle,i,m(484,"ZHim")+s+"-"+e)),N.push(a[m(534,"m5Am")](_0x4ed97f,Circle,{cx:h+T-r,cy:a[m(331,t)](l,T)-r,r:n,color:TANK_1990_COLORS[m(188,"Y!Ox")]},m(376,"W$W5")+s+"-"+e)),N.push(_0x4ed97f(Rect,{x:a[m(565,"A@xd")](h,.45*T),y:a.deCpe(l,.2*T),width:.1*T,height:a[m(302,u)](T,.6),color:TANK_1990_COLORS[m(276,"QdW@")]},m(361,"K1Hr")+s+"-"+e)),N[m(387,"$j0P")](_0x4ed97f(Rect,{x:a[m(179,o)](h,.2*T),y:l+.45*T,width:.6*T,height:a.AvyTu(T,.1),color:TANK_1990_COLORS[m(242,"m5Am")]},m(548,"1xRz")+s+"-"+e))}else if(W[m(312,i)]===a[m(339,"qQwT")]){const W=m(319,"v(C1")[m(266,"NTw!")]("|");let t=0;for(;;){switch(W[t++]){case"0":N[m(427,"qQwT")](_0x4ed97f(Rect,{x:h+2,y:l+a[m(549,S)](T,.25),width:.4*T,height:1,color:TANK_1990_COLORS[m(413,"SmxO")]},m(263,"6!uZ")+s+"-"+e));continue;case"1":const W={};W.x=h,W.y=l,W.width=T,W[m(477,"v(C1")]=T,W[m(390,"Vf]]")]=TANK_1990_COLORS[m(545,"$4oX")],N[m(347,R)](a[m(322,"v(C1")](_0x4ed97f,Rect,W,m(260,"$j0P")+s+"-"+e));continue;case"2":N.push(_0x4ed97f(Rect,{x:h,y:l,width:T,height:.6*T,children:a[m(364,"Y!Ox")](_0x4ed97f,LinearGradient,{start:a[m(279,"eZ3p")](vec,h,l),end:a.NAzTA(vec,h,l+.6*T),colors:[TANK_1990_COLORS[m(499,f)],TANK_1990_COLORS[m(444,"7hUu")]]})},m(564,"m5Am")+s+"-"+e));continue;case"3":N.push(_0x4ed97f(Rect,{x:h+a.WsnYN(T,.5),y:l+.55*T,width:.35*T,height:1,color:TANK_1990_COLORS[m(356,")lG@")]},"wh2-"+s+"-"+e));continue;case"4":const t={};t.x=h,t.y=l,t[m(372,"Kfuy")]=T,t[m(293,C)]=1,t[m(308,"SmxO")]=TANK_1990_COLORS[m(455,"4drL")],N.push(_0x4ed97f(Rect,t,m(187,"FY5J")+s+"-"+e));continue}break}}else if(W[m(290,"Vf]]")]===a.Zuehy){const W={};W.x=h,W.y=l,W[m(571,O)]=T,W[m(329,"bpW$")]=T,W[m(267,"cHn@")]=TANK_1990_COLORS[m(474,"pV@G")],N[m(446,"bpW$")](a.IAgno(_0x4ed97f,Rect,W,m(282,"Vf]]")+s+"-"+e)),N[m(359,"Pdkf")](_0x4ed97f(Rect,{x:h,y:l,width:T,height:T,children:_0x4ed97f(LinearGradient,{start:vec(h,l),end:vec(h,a[m(297,"5Lqq")](l,T)),colors:[TANK_1990_COLORS[m(558,x)],TANK_1990_COLORS[m(249,"GrXH")],TANK_1990_COLORS[m(373,"5Lqq")]]})},"gm-"+s+"-"+e));const t=a.SZmhk(T,4);for(let W=0;W<3;W++){const o={};o.x=h+t*(W+.5),o.y=l+1,o[m(326,"pq9j")]=2,o[m(544,"Y6xc")]=.3*T,o[m(250,i)]=TANK_1990_COLORS[m(388,i)],N.push(a[m(535,"MhA%")](_0x4ed97f,Rect,o,m(344,u)+s+"-"+e+"-"+W))}}else if(W[m(369,"GrXH")]===m(514,f)){const W={};W.x=h,W.y=l,W[m(563,"GrXH")]=T,W.height=T,W[m(217,"7hUu")]=TANK_1990_COLORS[m(271,"5Lqq")],N.push(a[m(174,"A@xd")](_0x4ed97f,Rect,W,m(213,"QdW@")+s+"-"+e)),N.push(_0x4ed97f(Rect,{x:h+2,y:a[m(433,"$j0P")](l,2),width:T-4,height:T-4,children:_0x4ed97f(LinearGradient,{start:vec(a[m(370,n)](h,2),l+2),end:vec(h+2,l+T-2),colors:[TANK_1990_COLORS[m(264,C)],TANK_1990_COLORS.BASE_FACE,TANK_1990_COLORS[m(415,"0Oqa")]]})},"bf2-"+s+"-"+e));const t=a[m(482,"Y!Ox")](h,T/2),o=a[m(340,"1rcG")](l,T/2),d=.22*T;N.push(a.AqFwv(_0x4ed97f,Line,{p1:vec(t,o-d),p2:vec(t,o+d),color:TANK_1990_COLORS[m(405,r)],style:"stroke",strokeWidth:2},m(272,R)+s+"-"+e)),N[m(334,i)](_0x4ed97f(Line,{p1:vec(t-d,o),p2:vec(a[m(320,"cHn@")](t,d),o),color:TANK_1990_COLORS[m(442,S)],style:a[m(540,"9l@i")],strokeWidth:2},m(407,"qQwT")+s+"-"+e)),N.push(_0x4ed97f(Rect,{x:a[m(215,"ZHim")](h,1),y:l+1,width:T-2,height:T-2,color:TANK_1990_COLORS.BASE_SHADOW,style:"stroke",strokeWidth:1},"bb-"+s+"-"+e))}})}),N},[t]);if(!o)return null;const d={};return d[W(343,"W$W5")]=StyleSheet[W(562,"Y!Ox")],d[W(451,"bpW$")]="none",d[W(237,"NTw!")]=o,_0x4ed97f(Canvas,d)});StaticMapCanvas[_0x5160d(204,"Vf]]")]=_0x5160d(441,"MysB");const DynamicEntitiesCanvas=_0x1516df[_0x5160d(508,"qQwT")](()=>{const W="FY5J",e=_0x5160d,t={};t[e(420,"tRQc")]=function(W,e){return W<e},t[e(502,"5Lqq")]=function(W,e){return W*e};const o=t,d=useGameVersion(),n=useMemo(()=>{const t=e,d=useTank1990Store[t(274,"A@xd")](),{playerTank:n,enemyTanks:r,bullets:O,cellSize:_}=d;if(!n)return null;const x=.8*_,u=x/2,i=[],S=Date.now();n.isAlive&&render3DTank(n,x,u,S,i);for(let e=0;o[t(421,"5$wA")](e,r[t(381,W)]);e++){const W=r[e];W.isAlive&&render3DTank(W,x,u,S,i)}const R=.12*_,f=o[t(218,W)](_,.5);for(const W of O){let e=W.x,o=W.y;switch(W[t(268,"7hUu")]){case"up":o+=f;break;case t(367,"cHn@"):o-=f;break;case t(498,"6!uZ"):e+=f;break;case"right":e-=f}i[t(384,"W$W5")](_0x4ed97f(Line,{p1:vec(W.x,W.y),p2:vec(e,o),color:TANK_1990_COLORS[t(537,"NTw!")],style:t(310,"QdW@"),strokeWidth:1.5*R,strokeCap:"round"},t(287,"tRQc")+W.id));const d={};d.cx=W.x,d.cy=W.y,d.r=2*R,d[t(406,")lG@")]=TANK_1990_COLORS[t(273,"bpW$")],i.push(_0x4ed97f(Circle,d,"bg-"+W.id));const n={};n.cx=W.x,n.cy=W.y,n.r=R,n[t(355,"FY5J")]=TANK_1990_COLORS[t(471,"H0o7")],i[t(349,"Y6xc")](_0x4ed97f(Circle,n,t(318,"pq9j")+W.id))}return i},[d]);if(!n)return null;const r={};return r[e(295,"SmxO")]=StyleSheet[e(196,"Pdkf")],r.pointerEvents=e(305,"m5Am"),r[e(380,"$j0P")]=n,_0x4ed97f(Canvas,r)});function _0x4794(W,e){W-=174;const t=_0x50f6();let o=t[W];if(void 0===_0x4794.EpMZur){const W=function(W,e){let t,o,d=[],n=0,r="";for(W=function(W){let e="",t="";for(let t,o,d=0,n=0;o=W.charAt(n++);~o&&(t=d%4?64*t+o:o,d++%4)?e+=String.fromCharCode(255&t>>(-2*d&6)):0)o="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(o);for(let W=0,o=e.length;W<o;W++)t+="%"+("00"+e.charCodeAt(W).toString(16)).slice(-2);return decodeURIComponent(t)}(W),o=0;o<256;o++)d[o]=o;for(o=0;o<256;o++)n=(n+d[o]+e.charCodeAt(o%e.length))%256,t=d[o],d[o]=d[n],d[n]=t;o=0,n=0;for(let e=0;e<W.length;e++)o=(o+1)%256,n=(n+d[o])%256,t=d[o],d[o]=d[n],d[n]=t,r+=String.fromCharCode(W.charCodeAt(e)^d[(d[o]+d[n])%256]);return r};_0x4794.WCqylt=W,_0x4794.TZHFed={},_0x4794.EpMZur=!0}const d=t[0];_0x4794.uotDkA!==d&&(_0x4794.TZHFed={},_0x4794.uotDkA=d);const n=_0x4794.TZHFed[W];return void 0===n?(void 0===_0x4794.ijYIFi&&(_0x4794.ijYIFi=!0),o=_0x4794.WCqylt(o,e),_0x4794.TZHFed[W]=o):o=n,o}DynamicEntitiesCanvas.displayName=_0x5160d(555,"pV@G");const EffectsCanvas=_0x1516df[_0x5160d(374,"5Lqq")](()=>{const W="K1Hr",e="T^d)",t="GrXH",o="FY5J",d=_0x5160d,n={mgdrR:function(W,e){return W-e},EFkci:function(W,e){return W+e},ztGlv:function(W,e,t,o){return W(e,t,o)},zNBtZ:function(W,e){return W*e},ObFvJ:function(W,e){return W<e},qLNGx:function(W,e){return W*e},rdPEz:function(W,e){return W*e},SXXQw:function(W,e){return W>e},SvMCh:function(W,e){return W*e},AksWl:function(W,e,t){return W(e,t)}},r=useEffectsVersion(),O=n[d(303,"8SKW")](useMemo,()=>{const r=d,O=useTank1990Store[r(411,"QdW@")](),{explosions:_,muzzleFlashes:x,cellSize:u}=O;if(0===_.length&&0===x[r(248,"K1Hr")])return null;const i=Date[r(323,W)](),S=[],R=.8*u;for(const o of _){const d=n[r(461,e)](i,o[r(238,"5$wA")]),O=TANK_1990_GAME_CONFIG[r(241,e)],_=Math[r(454,"m5Am")](d/O,1),x=Math[r(176,"Pdkf")](3*_,1),f=Math[r(569,"A@xd")](0,n.mgdrR(1,_)),C=R*n[r(464,"Pdkf")](.5,.5*x),s=Math[r(177,"MhA%")](10*f),a={};a.cx=o.x,a.cy=o.y,a.r=1.6*C*x,a[r(422,t)]=EXPLOSION_SMOKE_COLORS[s],S[r(547,"NTw!")](_0x4ed97f(Circle,a,r(532,"ZHim")+o.id));const k={};k.cx=o.x,k.cy=o.y,k.r=1.3*C,k[r(450,"eZ3p")]=EXPLOSION_OUTER_COLORS[s],S.push(_0x4ed97f(Circle,k,r(300,"W$W5")+o.id));const m={};m.cx=o.x,m.cy=o.y,m.r=C,m.color=EXPLOSION_MID_COLORS[s],S.push(_0x4ed97f(Circle,m,r(253,"A@xd")+o.id));const L={};L.cx=o.x,L.cy=o.y,L.r=.55*C,L[r(252,"MysB")]=EXPLOSION_INNER_COLORS[s],S.push(n[r(350,"MysB")](_0x4ed97f,Circle,L,r(523,"Pdkf")+o.id)),S[r(379,"9l@i")](n.ztGlv(_0x4ed97f,Circle,{cx:o.x,cy:o.y,r:n[r(542,t)](C,.25),color:EXPLOSION_CORE_COLORS[s]},r(265,"H0o7")+o.id));for(let e=0;n[r(289,"#Je)")](e,4);e++){const t=SHRAPNEL_OFFSETS[e],d=n[r(507,"q8ve")](C,1.5)*x,O=o.x+n.qLNGx(t[r(551,"0Oqa")],d),_=o.y+n[r(342,"pq9j")](t[r(298,")lG@")],d),i=.06*u*f;if(n[r(460,"GrXH")](i,.3)){const t={};t.cx=O,t.cy=_,t.r=i,t[r(554,"8SKW")]=EXPLOSION_SHRAPNEL_COLORS[s],S[r(417,W)](_0x4ed97f(Circle,t,r(475,"$4oX")+o.id+"-"+e))}}}const f=.35*u;for(const W of x){const e=i-W[r(321,"GrXH")],t=Math[r(567,"5$wA")](0,1-e/100);if(t<=0)continue;const d=Math[r(435,"8SKW")](10*t),O={};O.cx=W.x,O.cy=W.y,O.r=1.8*f,O[r(355,o)]=MUZZLE_OUTER_COLORS[d],S[r(334,"#Je)")](_0x4ed97f(Circle,O,r(501,"6!uZ")+W.id));const _={};_.cx=W.x,_.cy=W.y,_.r=f,_[r(355,o)]=MUZZLE_INNER_COLORS[d],S[r(178,"tRQc")](_0x4ed97f(Circle,_,r(278,"H0o7")+W.id)),S[r(530,"SmxO")](_0x4ed97f(Circle,{cx:W.x,cy:W.y,r:n[r(462,"*LGP")](f,.4),color:MUZZLE_CORE_COLORS[d]},r(436,"palJ")+W.id))}return S},[r]);if(!O)return null;const _={};return _[d(212,"qQwT")]=StyleSheet[d(309,"cHn@")],_[d(393,"kp0S")]=d(459,"$j0P"),_.children=O,_0x4ed97f(Canvas,_)});EffectsCanvas.displayName=_0x5160d(338,"Y!Ox");export const GameBoard=_0x1516df[_0x5160d(214,"$4oX")](()=>{const W=_0x5160d,e={PevWD:function(W,e,t){return W(e,t)}},t=useBoardReady(),o=e[W(511,"palJ")](useMemo,()=>{const e=W,{boardWidth:t,boardHeight:o}=useTank1990Store.getState(),d={};return d[e(448,"0Oqa")]=t,d.height=o,[styles.container,d]},[t]);return t?_0x1b462f(View,{style:o,children:[_0x4ed97f(StaticMapCanvas,{}),e.PevWD(_0x4ed97f,DynamicEntitiesCanvas,{}),_0x4ed97f(EffectsCanvas,{})]}):null});const _0x206bad={};_0x206bad[_0x5160d(280,"q8ve")]=2,_0x206bad.borderColor=_0x5160d(529,"qQwT"),_0x206bad[_0x5160d(538,"Pdkf")]=4,_0x206bad[_0x5160d(570,"QdW@")]=_0x5160d(392,"Kfuy");const _0x46eb90={};_0x46eb90.container=_0x206bad;const styles=StyleSheet.create(_0x46eb90);GameBoard[_0x5160d(426,"K1Hr")]=_0x5160d(486,"v(C1");
|