react-native-games 0.3.0 → 0.5.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 +134 -130
- package/lib/module/games/balloon-blaster/BalloonBlaster.js +116 -343
- package/lib/module/games/balloon-blaster/BalloonBlaster.js.map +1 -1
- package/lib/module/games/balloon-blaster/BalloonBlasterConstants.js +182 -0
- package/lib/module/games/balloon-blaster/BalloonBlasterConstants.js.map +1 -0
- package/lib/module/games/balloon-blaster/BalloonBlasterService.js +123 -101
- package/lib/module/games/balloon-blaster/BalloonBlasterService.js.map +1 -1
- package/lib/module/games/balloon-blaster/BalloonBlasterStore.js +119 -92
- package/lib/module/games/balloon-blaster/BalloonBlasterStore.js.map +1 -1
- package/lib/module/games/balloon-blaster/components/BalloonComponent.js +123 -113
- package/lib/module/games/balloon-blaster/components/BalloonComponent.js.map +1 -1
- package/lib/module/games/balloon-blaster/components/GameArea.js +137 -23
- package/lib/module/games/balloon-blaster/components/GameArea.js.map +1 -1
- package/lib/module/games/balloon-blaster/components/GameBackground.js +8 -83
- package/lib/module/games/balloon-blaster/components/GameBackground.js.map +1 -1
- package/lib/module/games/balloon-blaster/components/ScoreBoard.js +15 -22
- package/lib/module/games/balloon-blaster/components/ScoreBoard.js.map +1 -1
- package/lib/module/games/balloon-blaster/components/index.js +0 -4
- package/lib/module/games/balloon-blaster/components/index.js.map +1 -1
- package/lib/module/games/fruit-ninja/FruitNinja.js +143 -0
- package/lib/module/games/fruit-ninja/FruitNinja.js.map +1 -0
- package/lib/module/games/fruit-ninja/FruitNinjaConstants.js +148 -0
- package/lib/module/games/fruit-ninja/FruitNinjaConstants.js.map +1 -0
- package/lib/module/games/{fruit-slicer/FruitSlicerService.js → fruit-ninja/FruitNinjaService.js} +43 -21
- package/lib/module/games/fruit-ninja/FruitNinjaService.js.map +1 -0
- package/lib/module/games/fruit-ninja/FruitNinjaStore.js +191 -0
- package/lib/module/games/fruit-ninja/FruitNinjaStore.js.map +1 -0
- package/lib/module/games/{fruit-slicer → fruit-ninja}/components/FruitComponent.js +1 -1
- package/lib/module/games/fruit-ninja/components/FruitComponent.js.map +1 -0
- package/lib/module/games/fruit-ninja/components/GameArea.js +215 -0
- package/lib/module/games/fruit-ninja/components/GameArea.js.map +1 -0
- package/lib/module/games/{fruit-slicer → fruit-ninja}/components/GameBackground.js +250 -304
- package/lib/module/games/fruit-ninja/components/GameBackground.js.map +1 -0
- package/lib/module/games/{fruit-slicer → fruit-ninja}/components/ScoreBoard.js +17 -47
- package/lib/module/games/fruit-ninja/components/ScoreBoard.js.map +1 -0
- package/lib/module/games/fruit-ninja/components/index.js +7 -0
- package/lib/module/games/fruit-ninja/components/index.js.map +1 -0
- package/lib/module/games/maze-runner/MazeRunner.js +184 -169
- package/lib/module/games/maze-runner/MazeRunner.js.map +1 -1
- package/lib/module/games/maze-runner/MazeRunnerConstants.js +100 -0
- package/lib/module/games/maze-runner/MazeRunnerConstants.js.map +1 -0
- package/lib/module/games/maze-runner/MazeRunnerService.js +37 -14
- package/lib/module/games/maze-runner/MazeRunnerService.js.map +1 -1
- package/lib/module/games/maze-runner/components/EnhancedBallComponent.js +5 -4
- package/lib/module/games/maze-runner/components/EnhancedBallComponent.js.map +1 -1
- package/lib/module/games/maze-runner/components/EnhancedGameArea.js +20 -15
- package/lib/module/games/maze-runner/components/EnhancedGameArea.js.map +1 -1
- package/lib/module/games/maze-runner/components/GameBackground.js +151 -192
- package/lib/module/games/maze-runner/components/GameBackground.js.map +1 -1
- package/lib/module/games/maze-runner/components/ScoreBoard.js +15 -25
- package/lib/module/games/maze-runner/components/ScoreBoard.js.map +1 -1
- package/lib/module/games/maze-runner/components/WallComponent.js +3 -2
- package/lib/module/games/maze-runner/components/WallComponent.js.map +1 -1
- package/lib/module/games/maze-runner/components/index.js +0 -2
- package/lib/module/games/maze-runner/components/index.js.map +1 -1
- package/lib/module/games/popit-fidget/PopitFidget.js +294 -0
- package/lib/module/games/popit-fidget/PopitFidget.js.map +1 -0
- package/lib/module/games/popit-fidget/PopitFidgetConstants.js +113 -0
- package/lib/module/games/popit-fidget/PopitFidgetConstants.js.map +1 -0
- package/lib/module/games/popit-fidget/PopitFidgetService.js +132 -0
- package/lib/module/games/popit-fidget/PopitFidgetService.js.map +1 -0
- package/lib/module/games/popit-fidget/PopitFidgetStore.js +163 -0
- package/lib/module/games/popit-fidget/PopitFidgetStore.js.map +1 -0
- package/lib/module/games/popit-fidget/components/BubbleComponent.js +198 -0
- package/lib/module/games/popit-fidget/components/BubbleComponent.js.map +1 -0
- package/lib/module/games/popit-fidget/components/FidgetGrid.js +165 -0
- package/lib/module/games/popit-fidget/components/FidgetGrid.js.map +1 -0
- package/lib/module/games/popit-fidget/components/GameBackground.js +177 -0
- package/lib/module/games/popit-fidget/components/GameBackground.js.map +1 -0
- package/lib/module/games/popit-fidget/components/ScoreBoard.js +75 -0
- package/lib/module/games/popit-fidget/components/ScoreBoard.js.map +1 -0
- package/lib/module/games/popit-fidget/components/index.js +7 -0
- package/lib/module/games/popit-fidget/components/index.js.map +1 -0
- package/lib/module/games/space-fighter/SpaceFighter.js +169 -0
- package/lib/module/games/space-fighter/SpaceFighter.js.map +1 -0
- package/lib/module/games/space-fighter/SpaceFighterConstants.js +108 -0
- package/lib/module/games/space-fighter/SpaceFighterConstants.js.map +1 -0
- package/lib/module/games/{space-traveller/SpaceTravellerService.js → space-fighter/SpaceFighterService.js} +48 -21
- package/lib/module/games/space-fighter/SpaceFighterService.js.map +1 -0
- package/lib/module/games/space-fighter/SpaceFighterStore.js +195 -0
- package/lib/module/games/space-fighter/SpaceFighterStore.js.map +1 -0
- package/lib/module/games/{space-traveller → space-fighter}/components/AsteroidComponent.js +7 -5
- package/lib/module/games/space-fighter/components/AsteroidComponent.js.map +1 -0
- package/lib/module/games/space-fighter/components/GameArea.js +295 -0
- package/lib/module/games/space-fighter/components/GameArea.js.map +1 -0
- package/lib/module/games/{space-traveller → space-fighter}/components/GameBackground.js +10 -65
- package/lib/module/games/space-fighter/components/GameBackground.js.map +1 -0
- package/lib/module/games/{space-traveller → space-fighter}/components/ScoreBoard.js +20 -26
- package/lib/module/games/space-fighter/components/ScoreBoard.js.map +1 -0
- package/lib/module/games/{space-traveller → space-fighter}/components/Spacecraft3D.js +72 -111
- package/lib/module/games/space-fighter/components/Spacecraft3D.js.map +1 -0
- package/lib/module/games/space-fighter/components/SpacecraftPath.js +52 -0
- package/lib/module/games/space-fighter/components/SpacecraftPath.js.map +1 -0
- package/lib/module/games/{space-traveller → space-fighter}/components/index.js +0 -4
- package/lib/module/games/space-fighter/components/index.js.map +1 -0
- package/lib/module/games/whack-a-mole/WhackAMole.js +263 -0
- package/lib/module/games/whack-a-mole/WhackAMole.js.map +1 -0
- package/lib/module/games/whack-a-mole/WhackAMoleConstants.js +115 -0
- package/lib/module/games/whack-a-mole/WhackAMoleConstants.js.map +1 -0
- package/lib/module/games/whack-a-mole/WhackAMoleService.js +120 -0
- package/lib/module/games/whack-a-mole/WhackAMoleService.js.map +1 -0
- package/lib/module/games/whack-a-mole/WhackAMoleStore.js +172 -0
- package/lib/module/games/whack-a-mole/WhackAMoleStore.js.map +1 -0
- package/lib/module/games/{cat-popper → whack-a-mole}/components/GameBackground.js +31 -91
- package/lib/module/games/whack-a-mole/components/GameBackground.js.map +1 -0
- package/lib/module/games/whack-a-mole/components/GameGrid.js +97 -0
- package/lib/module/games/whack-a-mole/components/GameGrid.js.map +1 -0
- package/lib/module/games/{cat-popper → whack-a-mole}/components/GameHole.js +67 -54
- package/lib/module/games/whack-a-mole/components/GameHole.js.map +1 -0
- package/lib/module/games/{cat-popper/components/CatCharacter.js → whack-a-mole/components/MoleCharacter.js} +75 -115
- package/lib/module/games/whack-a-mole/components/MoleCharacter.js.map +1 -0
- package/lib/module/games/{cat-popper → whack-a-mole}/components/ScoreBoard.js +13 -17
- package/lib/module/games/whack-a-mole/components/ScoreBoard.js.map +1 -0
- package/lib/module/games/{cat-popper → whack-a-mole}/components/index.js +1 -3
- package/lib/module/games/whack-a-mole/components/index.js.map +1 -0
- package/lib/module/index.js +4 -3
- package/lib/module/index.js.map +1 -1
- package/lib/module/services/GamesConstants.js +41 -519
- package/lib/module/services/GamesConstants.js.map +1 -1
- package/lib/module/services/GamesService.js +35 -23
- package/lib/module/services/GamesService.js.map +1 -1
- package/lib/module/services/HapticsService.js +77 -0
- package/lib/module/services/HapticsService.js.map +1 -0
- package/lib/module/services/SoundsService.js +171 -0
- package/lib/module/services/SoundsService.js.map +1 -0
- package/lib/module/shared/helpers/AnimationFrame.js +120 -0
- package/lib/module/shared/helpers/AnimationFrame.js.map +1 -0
- package/lib/module/shared/helpers/AnimationTracker.js +89 -0
- package/lib/module/shared/helpers/AnimationTracker.js.map +1 -0
- package/lib/module/shared/helpers/ErrorHandler.js +269 -0
- package/lib/module/shared/helpers/ErrorHandler.js.map +1 -0
- package/lib/module/shared/helpers/GameControlButton.js +219 -0
- package/lib/module/shared/helpers/GameControlButton.js.map +1 -0
- package/lib/module/{games/balloon-blaster/components → shared/helpers}/GameOverModal.js +25 -17
- package/lib/module/shared/helpers/GameOverModal.js.map +1 -0
- package/lib/module/shared/helpers/GameSettingsModal.js +287 -0
- package/lib/module/shared/helpers/GameSettingsModal.js.map +1 -0
- package/lib/module/shared/helpers/ParticleBlast.js +133 -0
- package/lib/module/shared/helpers/ParticleBlast.js.map +1 -0
- package/lib/module/shared/helpers/ResponsiveScoreBoard.js +81 -0
- package/lib/module/shared/helpers/ResponsiveScoreBoard.js.map +1 -0
- package/lib/module/shared/helpers/index.js +12 -0
- package/lib/module/shared/helpers/index.js.map +1 -0
- package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts +2 -14
- package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts.map +1 -1
- package/lib/typescript/src/games/balloon-blaster/BalloonBlasterConstants.d.ts +144 -0
- package/lib/typescript/src/games/balloon-blaster/BalloonBlasterConstants.d.ts.map +1 -0
- package/lib/typescript/src/games/balloon-blaster/BalloonBlasterService.d.ts +1 -1
- package/lib/typescript/src/games/balloon-blaster/BalloonBlasterService.d.ts.map +1 -1
- package/lib/typescript/src/games/balloon-blaster/BalloonBlasterStore.d.ts +12 -2
- package/lib/typescript/src/games/balloon-blaster/BalloonBlasterStore.d.ts.map +1 -1
- package/lib/typescript/src/games/balloon-blaster/components/BalloonComponent.d.ts.map +1 -1
- package/lib/typescript/src/games/balloon-blaster/components/GameArea.d.ts +1 -15
- package/lib/typescript/src/games/balloon-blaster/components/GameArea.d.ts.map +1 -1
- package/lib/typescript/src/games/balloon-blaster/components/GameBackground.d.ts.map +1 -1
- package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts +1 -7
- package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts.map +1 -1
- package/lib/typescript/src/games/balloon-blaster/components/index.d.ts +0 -4
- package/lib/typescript/src/games/balloon-blaster/components/index.d.ts.map +1 -1
- package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts +4 -0
- package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-ninja/FruitNinjaConstants.d.ts +112 -0
- package/lib/typescript/src/games/fruit-ninja/FruitNinjaConstants.d.ts.map +1 -0
- package/lib/typescript/src/games/{fruit-slicer/FruitSlicerService.d.ts → fruit-ninja/FruitNinjaService.d.ts} +13 -5
- package/lib/typescript/src/games/fruit-ninja/FruitNinjaService.d.ts.map +1 -0
- package/lib/typescript/src/games/{fruit-slicer/FruitSlicerStore.d.ts → fruit-ninja/FruitNinjaStore.d.ts} +13 -4
- package/lib/typescript/src/games/fruit-ninja/FruitNinjaStore.d.ts.map +1 -0
- package/lib/typescript/src/games/{fruit-slicer → fruit-ninja}/components/FruitComponent.d.ts +1 -1
- package/lib/typescript/src/games/fruit-ninja/components/FruitComponent.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-ninja/components/GameArea.d.ts +3 -0
- package/lib/typescript/src/games/fruit-ninja/components/GameArea.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-ninja/components/GameBackground.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-ninja/components/ScoreBoard.d.ts +3 -0
- package/lib/typescript/src/games/fruit-ninja/components/ScoreBoard.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-ninja/components/index.d.ts +5 -0
- package/lib/typescript/src/games/fruit-ninja/components/index.d.ts.map +1 -0
- package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts +2 -16
- package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts.map +1 -1
- package/lib/typescript/src/games/maze-runner/MazeRunnerConstants.d.ts +41 -0
- package/lib/typescript/src/games/maze-runner/MazeRunnerConstants.d.ts.map +1 -0
- package/lib/typescript/src/games/maze-runner/MazeRunnerService.d.ts +4 -2
- package/lib/typescript/src/games/maze-runner/MazeRunnerService.d.ts.map +1 -1
- package/lib/typescript/src/games/maze-runner/components/EnhancedBallComponent.d.ts.map +1 -1
- package/lib/typescript/src/games/maze-runner/components/EnhancedGameArea.d.ts.map +1 -1
- package/lib/typescript/src/games/maze-runner/components/GameBackground.d.ts +2 -1
- package/lib/typescript/src/games/maze-runner/components/GameBackground.d.ts.map +1 -1
- package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts.map +1 -1
- package/lib/typescript/src/games/maze-runner/components/WallComponent.d.ts.map +1 -1
- package/lib/typescript/src/games/maze-runner/components/index.d.ts +0 -2
- package/lib/typescript/src/games/maze-runner/components/index.d.ts.map +1 -1
- package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts +5 -0
- package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts.map +1 -0
- package/lib/typescript/src/games/popit-fidget/PopitFidgetConstants.d.ts +45 -0
- package/lib/typescript/src/games/popit-fidget/PopitFidgetConstants.d.ts.map +1 -0
- package/lib/typescript/src/games/popit-fidget/PopitFidgetService.d.ts +33 -0
- package/lib/typescript/src/games/popit-fidget/PopitFidgetService.d.ts.map +1 -0
- package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts +36 -0
- package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts.map +1 -0
- package/lib/typescript/src/games/popit-fidget/components/BubbleComponent.d.ts +12 -0
- package/lib/typescript/src/games/popit-fidget/components/BubbleComponent.d.ts.map +1 -0
- package/lib/typescript/src/games/popit-fidget/components/FidgetGrid.d.ts +12 -0
- package/lib/typescript/src/games/popit-fidget/components/FidgetGrid.d.ts.map +1 -0
- package/lib/typescript/src/games/popit-fidget/components/GameBackground.d.ts +9 -0
- package/lib/typescript/src/games/popit-fidget/components/GameBackground.d.ts.map +1 -0
- package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts +8 -0
- package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts.map +1 -0
- package/lib/typescript/src/games/popit-fidget/components/index.d.ts +5 -0
- package/lib/typescript/src/games/popit-fidget/components/index.d.ts.map +1 -0
- package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts +4 -0
- package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts.map +1 -0
- package/lib/typescript/src/games/space-fighter/SpaceFighterConstants.d.ts +71 -0
- package/lib/typescript/src/games/space-fighter/SpaceFighterConstants.d.ts.map +1 -0
- package/lib/typescript/src/games/{space-traveller/SpaceTravellerService.d.ts → space-fighter/SpaceFighterService.d.ts} +7 -4
- package/lib/typescript/src/games/space-fighter/SpaceFighterService.d.ts.map +1 -0
- package/lib/typescript/src/games/{space-traveller/SpaceTravellerStore.d.ts → space-fighter/SpaceFighterStore.d.ts} +12 -4
- package/lib/typescript/src/games/space-fighter/SpaceFighterStore.d.ts.map +1 -0
- package/lib/typescript/src/games/space-fighter/components/AsteroidComponent.d.ts +8 -0
- package/lib/typescript/src/games/space-fighter/components/AsteroidComponent.d.ts.map +1 -0
- package/lib/typescript/src/games/space-fighter/components/GameArea.d.ts +3 -0
- package/lib/typescript/src/games/space-fighter/components/GameArea.d.ts.map +1 -0
- package/lib/typescript/src/games/space-fighter/components/GameBackground.d.ts.map +1 -0
- package/lib/typescript/src/games/space-fighter/components/ScoreBoard.d.ts +3 -0
- package/lib/typescript/src/games/space-fighter/components/ScoreBoard.d.ts.map +1 -0
- package/lib/typescript/src/games/{space-traveller → space-fighter}/components/Spacecraft3D.d.ts +1 -1
- package/lib/typescript/src/games/space-fighter/components/Spacecraft3D.d.ts.map +1 -0
- package/lib/typescript/src/games/space-fighter/components/SpacecraftPath.d.ts.map +1 -0
- package/lib/typescript/src/games/{space-traveller → space-fighter}/components/index.d.ts +0 -4
- package/lib/typescript/src/games/space-fighter/components/index.d.ts.map +1 -0
- package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts +4 -0
- package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts.map +1 -0
- package/lib/typescript/src/games/whack-a-mole/WhackAMoleConstants.d.ts +79 -0
- package/lib/typescript/src/games/whack-a-mole/WhackAMoleConstants.d.ts.map +1 -0
- package/lib/typescript/src/games/whack-a-mole/WhackAMoleService.d.ts +33 -0
- package/lib/typescript/src/games/whack-a-mole/WhackAMoleService.d.ts.map +1 -0
- package/lib/typescript/src/games/whack-a-mole/WhackAMoleStore.d.ts +41 -0
- package/lib/typescript/src/games/whack-a-mole/WhackAMoleStore.d.ts.map +1 -0
- package/lib/typescript/src/games/whack-a-mole/components/GameBackground.d.ts.map +1 -0
- package/lib/typescript/src/games/{cat-popper → whack-a-mole}/components/GameGrid.d.ts +2 -2
- package/lib/typescript/src/games/whack-a-mole/components/GameGrid.d.ts.map +1 -0
- package/lib/typescript/src/games/{cat-popper → whack-a-mole}/components/GameHole.d.ts +3 -2
- package/lib/typescript/src/games/whack-a-mole/components/GameHole.d.ts.map +1 -0
- package/lib/typescript/src/games/whack-a-mole/components/MoleCharacter.d.ts +7 -0
- package/lib/typescript/src/games/whack-a-mole/components/MoleCharacter.d.ts.map +1 -0
- package/lib/typescript/src/games/whack-a-mole/components/ScoreBoard.d.ts.map +1 -0
- package/lib/typescript/src/games/whack-a-mole/components/index.d.ts +6 -0
- package/lib/typescript/src/games/whack-a-mole/components/index.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +4 -3
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/services/GamesConstants.d.ts +61 -340
- package/lib/typescript/src/services/GamesConstants.d.ts.map +1 -1
- package/lib/typescript/src/services/GamesService.d.ts +21 -3
- package/lib/typescript/src/services/GamesService.d.ts.map +1 -1
- package/lib/typescript/src/services/HapticsService.d.ts +16 -0
- package/lib/typescript/src/services/HapticsService.d.ts.map +1 -0
- package/lib/typescript/src/services/SoundsService.d.ts +154 -0
- package/lib/typescript/src/services/SoundsService.d.ts.map +1 -0
- package/lib/typescript/src/shared/helpers/AnimationFrame.d.ts +41 -0
- package/lib/typescript/src/shared/helpers/AnimationFrame.d.ts.map +1 -0
- package/lib/typescript/src/shared/helpers/AnimationTracker.d.ts +45 -0
- package/lib/typescript/src/shared/helpers/AnimationTracker.d.ts.map +1 -0
- package/lib/typescript/src/shared/helpers/ErrorHandler.d.ts +124 -0
- package/lib/typescript/src/shared/helpers/ErrorHandler.d.ts.map +1 -0
- package/lib/typescript/src/shared/helpers/GameControlButton.d.ts +17 -0
- package/lib/typescript/src/shared/helpers/GameControlButton.d.ts.map +1 -0
- package/lib/typescript/src/{games/cat-popper/components → shared/helpers}/GameOverModal.d.ts +5 -0
- package/lib/typescript/src/shared/helpers/GameOverModal.d.ts.map +1 -0
- package/lib/typescript/src/shared/helpers/GameSettingsModal.d.ts +9 -0
- package/lib/typescript/src/shared/helpers/GameSettingsModal.d.ts.map +1 -0
- package/lib/typescript/src/shared/helpers/ParticleBlast.d.ts +12 -0
- package/lib/typescript/src/shared/helpers/ParticleBlast.d.ts.map +1 -0
- package/lib/typescript/src/shared/helpers/ResponsiveScoreBoard.d.ts +42 -0
- package/lib/typescript/src/shared/helpers/ResponsiveScoreBoard.d.ts.map +1 -0
- package/lib/typescript/src/shared/helpers/index.d.ts +13 -0
- package/lib/typescript/src/shared/helpers/index.d.ts.map +1 -0
- package/package.json +9 -6
- package/lib/module/games/balloon-blaster/components/GameControls.js +0 -229
- package/lib/module/games/balloon-blaster/components/GameControls.js.map +0 -1
- package/lib/module/games/balloon-blaster/components/GameOverModal.js.map +0 -1
- package/lib/module/games/balloon-blaster/components/ParticleSystem.js +0 -52
- package/lib/module/games/balloon-blaster/components/ParticleSystem.js.map +0 -1
- package/lib/module/games/balloon-blaster/components/SliceTrail.js +0 -58
- package/lib/module/games/balloon-blaster/components/SliceTrail.js.map +0 -1
- package/lib/module/games/cat-popper/CatPopper.js +0 -230
- package/lib/module/games/cat-popper/CatPopper.js.map +0 -1
- package/lib/module/games/cat-popper/CatPopperService.js +0 -100
- package/lib/module/games/cat-popper/CatPopperService.js.map +0 -1
- package/lib/module/games/cat-popper/CatPopperStore.js +0 -113
- package/lib/module/games/cat-popper/CatPopperStore.js.map +0 -1
- package/lib/module/games/cat-popper/components/CatCharacter.js.map +0 -1
- package/lib/module/games/cat-popper/components/GameBackground.js.map +0 -1
- package/lib/module/games/cat-popper/components/GameControls.js +0 -230
- package/lib/module/games/cat-popper/components/GameControls.js.map +0 -1
- package/lib/module/games/cat-popper/components/GameGrid.js +0 -66
- package/lib/module/games/cat-popper/components/GameGrid.js.map +0 -1
- package/lib/module/games/cat-popper/components/GameHole.js.map +0 -1
- package/lib/module/games/cat-popper/components/GameOverModal.js +0 -131
- package/lib/module/games/cat-popper/components/GameOverModal.js.map +0 -1
- package/lib/module/games/cat-popper/components/ScoreBoard.js.map +0 -1
- package/lib/module/games/cat-popper/components/index.js.map +0 -1
- package/lib/module/games/fruit-slicer/FruitSlicer.js +0 -411
- package/lib/module/games/fruit-slicer/FruitSlicer.js.map +0 -1
- package/lib/module/games/fruit-slicer/FruitSlicerService.js.map +0 -1
- package/lib/module/games/fruit-slicer/FruitSlicerStore.js +0 -156
- package/lib/module/games/fruit-slicer/FruitSlicerStore.js.map +0 -1
- package/lib/module/games/fruit-slicer/components/FruitComponent.js.map +0 -1
- package/lib/module/games/fruit-slicer/components/GameArea.js +0 -50
- package/lib/module/games/fruit-slicer/components/GameArea.js.map +0 -1
- package/lib/module/games/fruit-slicer/components/GameBackground.js.map +0 -1
- package/lib/module/games/fruit-slicer/components/GameControls.js +0 -230
- package/lib/module/games/fruit-slicer/components/GameControls.js.map +0 -1
- package/lib/module/games/fruit-slicer/components/GameOverModal.js +0 -189
- package/lib/module/games/fruit-slicer/components/GameOverModal.js.map +0 -1
- package/lib/module/games/fruit-slicer/components/ParticleSystem.js +0 -52
- package/lib/module/games/fruit-slicer/components/ParticleSystem.js.map +0 -1
- package/lib/module/games/fruit-slicer/components/ScoreBoard.js.map +0 -1
- package/lib/module/games/fruit-slicer/components/SliceTrail.js +0 -58
- package/lib/module/games/fruit-slicer/components/SliceTrail.js.map +0 -1
- package/lib/module/games/fruit-slicer/components/index.js +0 -11
- package/lib/module/games/fruit-slicer/components/index.js.map +0 -1
- package/lib/module/games/maze-runner/components/GameControls.js +0 -129
- package/lib/module/games/maze-runner/components/GameControls.js.map +0 -1
- package/lib/module/games/maze-runner/components/GameOverModal.js +0 -134
- package/lib/module/games/maze-runner/components/GameOverModal.js.map +0 -1
- package/lib/module/games/space-traveller/SpaceTraveller.js +0 -393
- package/lib/module/games/space-traveller/SpaceTraveller.js.map +0 -1
- package/lib/module/games/space-traveller/SpaceTravellerService.js.map +0 -1
- package/lib/module/games/space-traveller/SpaceTravellerStore.js +0 -139
- package/lib/module/games/space-traveller/SpaceTravellerStore.js.map +0 -1
- package/lib/module/games/space-traveller/components/AsteroidComponent.js.map +0 -1
- package/lib/module/games/space-traveller/components/GameArea.js +0 -75
- package/lib/module/games/space-traveller/components/GameArea.js.map +0 -1
- package/lib/module/games/space-traveller/components/GameBackground.js.map +0 -1
- package/lib/module/games/space-traveller/components/GameControls.js +0 -177
- package/lib/module/games/space-traveller/components/GameControls.js.map +0 -1
- package/lib/module/games/space-traveller/components/GameOverModal.js +0 -182
- package/lib/module/games/space-traveller/components/GameOverModal.js.map +0 -1
- package/lib/module/games/space-traveller/components/ParticleComponent.js +0 -34
- package/lib/module/games/space-traveller/components/ParticleComponent.js.map +0 -1
- package/lib/module/games/space-traveller/components/ScoreBoard.js.map +0 -1
- package/lib/module/games/space-traveller/components/SettingsModal.js +0 -222
- package/lib/module/games/space-traveller/components/SettingsModal.js.map +0 -1
- package/lib/module/games/space-traveller/components/Spacecraft3D.js.map +0 -1
- package/lib/module/games/space-traveller/components/SpacecraftPath.js +0 -37
- package/lib/module/games/space-traveller/components/SpacecraftPath.js.map +0 -1
- package/lib/module/games/space-traveller/components/index.js.map +0 -1
- package/lib/module/shared/settings/GameSettings.js +0 -295
- package/lib/module/shared/settings/GameSettings.js.map +0 -1
- package/lib/module/shared/settings/SettingsService.js +0 -119
- package/lib/module/shared/settings/SettingsService.js.map +0 -1
- package/lib/typescript/src/games/balloon-blaster/components/GameControls.d.ts +0 -10
- package/lib/typescript/src/games/balloon-blaster/components/GameControls.d.ts.map +0 -1
- package/lib/typescript/src/games/balloon-blaster/components/GameOverModal.d.ts +0 -9
- package/lib/typescript/src/games/balloon-blaster/components/GameOverModal.d.ts.map +0 -1
- package/lib/typescript/src/games/balloon-blaster/components/ParticleSystem.d.ts +0 -8
- package/lib/typescript/src/games/balloon-blaster/components/ParticleSystem.d.ts.map +0 -1
- package/lib/typescript/src/games/balloon-blaster/components/SliceTrail.d.ts +0 -11
- package/lib/typescript/src/games/balloon-blaster/components/SliceTrail.d.ts.map +0 -1
- package/lib/typescript/src/games/cat-popper/CatPopper.d.ts +0 -13
- package/lib/typescript/src/games/cat-popper/CatPopper.d.ts.map +0 -1
- package/lib/typescript/src/games/cat-popper/CatPopperService.d.ts +0 -32
- package/lib/typescript/src/games/cat-popper/CatPopperService.d.ts.map +0 -1
- package/lib/typescript/src/games/cat-popper/CatPopperStore.d.ts +0 -21
- package/lib/typescript/src/games/cat-popper/CatPopperStore.d.ts.map +0 -1
- package/lib/typescript/src/games/cat-popper/components/CatCharacter.d.ts +0 -7
- package/lib/typescript/src/games/cat-popper/components/CatCharacter.d.ts.map +0 -1
- package/lib/typescript/src/games/cat-popper/components/GameBackground.d.ts.map +0 -1
- package/lib/typescript/src/games/cat-popper/components/GameControls.d.ts +0 -10
- package/lib/typescript/src/games/cat-popper/components/GameControls.d.ts.map +0 -1
- package/lib/typescript/src/games/cat-popper/components/GameGrid.d.ts.map +0 -1
- package/lib/typescript/src/games/cat-popper/components/GameHole.d.ts.map +0 -1
- package/lib/typescript/src/games/cat-popper/components/GameOverModal.d.ts.map +0 -1
- package/lib/typescript/src/games/cat-popper/components/ScoreBoard.d.ts.map +0 -1
- package/lib/typescript/src/games/cat-popper/components/index.d.ts +0 -8
- package/lib/typescript/src/games/cat-popper/components/index.d.ts.map +0 -1
- package/lib/typescript/src/games/fruit-slicer/FruitSlicer.d.ts +0 -16
- package/lib/typescript/src/games/fruit-slicer/FruitSlicer.d.ts.map +0 -1
- package/lib/typescript/src/games/fruit-slicer/FruitSlicerService.d.ts.map +0 -1
- package/lib/typescript/src/games/fruit-slicer/FruitSlicerStore.d.ts.map +0 -1
- package/lib/typescript/src/games/fruit-slicer/components/FruitComponent.d.ts.map +0 -1
- package/lib/typescript/src/games/fruit-slicer/components/GameArea.d.ts +0 -17
- package/lib/typescript/src/games/fruit-slicer/components/GameArea.d.ts.map +0 -1
- package/lib/typescript/src/games/fruit-slicer/components/GameBackground.d.ts.map +0 -1
- package/lib/typescript/src/games/fruit-slicer/components/GameControls.d.ts +0 -10
- package/lib/typescript/src/games/fruit-slicer/components/GameControls.d.ts.map +0 -1
- package/lib/typescript/src/games/fruit-slicer/components/GameOverModal.d.ts +0 -9
- package/lib/typescript/src/games/fruit-slicer/components/GameOverModal.d.ts.map +0 -1
- package/lib/typescript/src/games/fruit-slicer/components/ParticleSystem.d.ts +0 -8
- package/lib/typescript/src/games/fruit-slicer/components/ParticleSystem.d.ts.map +0 -1
- package/lib/typescript/src/games/fruit-slicer/components/ScoreBoard.d.ts +0 -9
- package/lib/typescript/src/games/fruit-slicer/components/ScoreBoard.d.ts.map +0 -1
- package/lib/typescript/src/games/fruit-slicer/components/SliceTrail.d.ts +0 -11
- package/lib/typescript/src/games/fruit-slicer/components/SliceTrail.d.ts.map +0 -1
- package/lib/typescript/src/games/fruit-slicer/components/index.d.ts +0 -9
- package/lib/typescript/src/games/fruit-slicer/components/index.d.ts.map +0 -1
- package/lib/typescript/src/games/maze-runner/components/GameControls.d.ts +0 -10
- package/lib/typescript/src/games/maze-runner/components/GameControls.d.ts.map +0 -1
- package/lib/typescript/src/games/maze-runner/components/GameOverModal.d.ts +0 -11
- package/lib/typescript/src/games/maze-runner/components/GameOverModal.d.ts.map +0 -1
- package/lib/typescript/src/games/space-traveller/SpaceTraveller.d.ts +0 -17
- package/lib/typescript/src/games/space-traveller/SpaceTraveller.d.ts.map +0 -1
- package/lib/typescript/src/games/space-traveller/SpaceTravellerService.d.ts.map +0 -1
- package/lib/typescript/src/games/space-traveller/SpaceTravellerStore.d.ts.map +0 -1
- package/lib/typescript/src/games/space-traveller/components/AsteroidComponent.d.ts +0 -9
- package/lib/typescript/src/games/space-traveller/components/AsteroidComponent.d.ts.map +0 -1
- package/lib/typescript/src/games/space-traveller/components/GameArea.d.ts +0 -17
- package/lib/typescript/src/games/space-traveller/components/GameArea.d.ts.map +0 -1
- package/lib/typescript/src/games/space-traveller/components/GameBackground.d.ts.map +0 -1
- package/lib/typescript/src/games/space-traveller/components/GameControls.d.ts +0 -10
- package/lib/typescript/src/games/space-traveller/components/GameControls.d.ts.map +0 -1
- package/lib/typescript/src/games/space-traveller/components/GameOverModal.d.ts +0 -9
- package/lib/typescript/src/games/space-traveller/components/GameOverModal.d.ts.map +0 -1
- package/lib/typescript/src/games/space-traveller/components/ParticleComponent.d.ts +0 -8
- package/lib/typescript/src/games/space-traveller/components/ParticleComponent.d.ts.map +0 -1
- package/lib/typescript/src/games/space-traveller/components/ScoreBoard.d.ts +0 -8
- package/lib/typescript/src/games/space-traveller/components/ScoreBoard.d.ts.map +0 -1
- package/lib/typescript/src/games/space-traveller/components/SettingsModal.d.ts +0 -9
- package/lib/typescript/src/games/space-traveller/components/SettingsModal.d.ts.map +0 -1
- package/lib/typescript/src/games/space-traveller/components/Spacecraft3D.d.ts.map +0 -1
- package/lib/typescript/src/games/space-traveller/components/SpacecraftPath.d.ts.map +0 -1
- package/lib/typescript/src/games/space-traveller/components/index.d.ts.map +0 -1
- package/lib/typescript/src/shared/settings/GameSettings.d.ts +0 -36
- package/lib/typescript/src/shared/settings/GameSettings.d.ts.map +0 -1
- package/lib/typescript/src/shared/settings/SettingsService.d.ts +0 -32
- package/lib/typescript/src/shared/settings/SettingsService.d.ts.map +0 -1
- /package/lib/typescript/src/games/{cat-popper → fruit-ninja}/components/GameBackground.d.ts +0 -0
- /package/lib/typescript/src/games/{fruit-slicer → space-fighter}/components/GameBackground.d.ts +0 -0
- /package/lib/typescript/src/games/{space-traveller → space-fighter}/components/SpacecraftPath.d.ts +0 -0
- /package/lib/typescript/src/games/{space-traveller → whack-a-mole}/components/GameBackground.d.ts +0 -0
- /package/lib/typescript/src/games/{cat-popper → whack-a-mole}/components/ScoreBoard.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","useEffect","useCallback","useRef","useMemo","View","StyleSheet","
|
|
1
|
+
{"version":3,"names":["React","useState","useEffect","useCallback","useRef","useMemo","View","StyleSheet","Dimensions","GestureHandlerRootView","playSound","GAME_SOUNDS","playHaptic","HapticType","MazeRunnerService","DEFAULT_MAZE_RUNNER_SETTINGS","MAZE_RUNNER_DIFFICULTY_CONFIG","GameBackground","ScoreBoard","EnhancedGameArea","GameControlButton","GameOverModal","GameSettingsModal","GAME_IDS","jsx","_jsx","jsxs","_jsxs","useResponsiveDimensions","dimensions","setDimensions","width","height","get","handleDimensionChange","window","prev","subscription","addEventListener","remove","MazeRunner","settings","onSettingsChange","screenWidth","screenHeight","responsiveDimensions","reservedHeight","availableHeight","availableWidth","maxDimension","Math","min","gameAreaSize","max","gameService","currentSettings","initialWidth","initialHeight","gridSize","gameDuration","gameState","setGameState","getGameState","showGameOverModal","setShowGameOverModal","walls","setWalls","getWalls","completionHandledRef","gameConfig","getGameConfig","gameControlButtonProps","isPlaying","gameOver","isCompleted","startButtonText","stopButtonText","startButtonSubtext","stopButtonSubtext","startButtonColor","stopButtonColor","startButtonBorderColor","stopButtonBorderColor","gameOverModalProps","isVisible","score","buttonText","primaryColor","borderColor","buttonColor","buttonBorderColor","resetGame","difficultyConfig","difficulty","updateSettings","handleStateChange","newState","prevState","current","handleGameCompleted","setTimeout","setGameStateChangeCallback","stopGame","cleanup","MAZE_RUNNER","COMPLETE","enableSounds","SUCCESS","enableHaptics","handleStartGame","startGame","START","MEDIUM","handleStopGame","STOP","handleBallPositionChange","position","updateBallPosition","handlePlayAgain","style","styles","container","children","gameContainer","gameAreaContainer","onBallPositionChange","hapticEnabled","onStartGame","onStopGame","onPlayAgain","gameId","create","flex","justifyContent","alignItems","paddingHorizontal","paddingVertical"],"sourceRoot":"../../../../src","sources":["games/maze-runner/MazeRunner.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// Maze Runner Game Constants
|
|
4
|
+
|
|
5
|
+
export const DEFAULT_MAZE_RUNNER_SETTINGS = {
|
|
6
|
+
difficulty: 'medium',
|
|
7
|
+
gameDuration: 120,
|
|
8
|
+
soundEnabled: true,
|
|
9
|
+
hapticEnabled: true,
|
|
10
|
+
gridSize: 10,
|
|
11
|
+
showHints: false
|
|
12
|
+
};
|
|
13
|
+
export const MAZE_RUNNER_DIFFICULTY_CONFIG = {
|
|
14
|
+
easy: {
|
|
15
|
+
gridSize: 8,
|
|
16
|
+
timeBonus: 1.5,
|
|
17
|
+
scoreMultiplier: 1.0,
|
|
18
|
+
hintAvailable: true,
|
|
19
|
+
gameDuration: 60
|
|
20
|
+
},
|
|
21
|
+
medium: {
|
|
22
|
+
gridSize: 10,
|
|
23
|
+
timeBonus: 1.2,
|
|
24
|
+
scoreMultiplier: 1.2,
|
|
25
|
+
hintAvailable: false,
|
|
26
|
+
gameDuration: 120
|
|
27
|
+
},
|
|
28
|
+
hard: {
|
|
29
|
+
gridSize: 12,
|
|
30
|
+
timeBonus: 1.0,
|
|
31
|
+
scoreMultiplier: 1.5,
|
|
32
|
+
hintAvailable: false,
|
|
33
|
+
gameDuration: 180
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
// Maze Runner Game Theme - Matches scoreboard brown
|
|
38
|
+
export const MAZE_RUNNER_THEME = {
|
|
39
|
+
backgroundColor: '#f5f5dc',
|
|
40
|
+
// Beige background to match maze theme
|
|
41
|
+
headerBackgroundColor: 'rgba(139, 69, 19, 0.9)',
|
|
42
|
+
// Brown header to match scoreboard
|
|
43
|
+
headerTextColor: '#ffffff',
|
|
44
|
+
sectionBackgroundColor: 'rgba(139, 69, 19, 0.4)',
|
|
45
|
+
// Match scoreboard transparency
|
|
46
|
+
sectionTitleColor: '#ffffff',
|
|
47
|
+
// White text on brown sections
|
|
48
|
+
buttonSelectedColor: '#8b4513',
|
|
49
|
+
// Match start button brown
|
|
50
|
+
buttonUnselectedColor: 'rgba(255, 255, 255, 0.3)',
|
|
51
|
+
buttonSelectedTextColor: '#ffffff',
|
|
52
|
+
buttonUnselectedTextColor: '#1f2937',
|
|
53
|
+
switchTrackColorFalse: 'rgba(139, 69, 19, 0.5)',
|
|
54
|
+
switchTrackColorTrue: '#8b4513',
|
|
55
|
+
// Match start button
|
|
56
|
+
switchThumbColor: '#ffffff',
|
|
57
|
+
infoTextColor: '#1f2937' // Dark text for readability
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
// Maze Runner Difficulty Descriptions
|
|
61
|
+
export const MAZE_RUNNER_DIFFICULTY_DESCRIPTIONS = {
|
|
62
|
+
easy: 'Small maze, more forgiving maze',
|
|
63
|
+
medium: 'Balanced maze, balanced challenge',
|
|
64
|
+
hard: 'Complex maze, maximum challenge!'
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
// Vibrant color palette for Maze Runner background (inspired by adventure themes)
|
|
68
|
+
export const MAZE_ADVENTURE_COLORS = ['#FF6B6B',
|
|
69
|
+
// Vibrant coral red
|
|
70
|
+
'#4ECDC4',
|
|
71
|
+
// Vibrant teal
|
|
72
|
+
'#45B7D1',
|
|
73
|
+
// Vibrant sky blue
|
|
74
|
+
'#96CEB4',
|
|
75
|
+
// Vibrant mint green
|
|
76
|
+
'#FFEAA7',
|
|
77
|
+
// Vibrant golden yellow
|
|
78
|
+
'#DDA0DD',
|
|
79
|
+
// Vibrant plum
|
|
80
|
+
'#98D8C8',
|
|
81
|
+
// Vibrant seafoam
|
|
82
|
+
'#F7DC6F',
|
|
83
|
+
// Vibrant lemon
|
|
84
|
+
'#BB8FCE',
|
|
85
|
+
// Vibrant lavender
|
|
86
|
+
'#85C1E9',
|
|
87
|
+
// Vibrant light blue
|
|
88
|
+
'#82E0AA',
|
|
89
|
+
// Vibrant light green
|
|
90
|
+
'#F8C471',
|
|
91
|
+
// Vibrant peach
|
|
92
|
+
'#D7BDE2',
|
|
93
|
+
// Vibrant light purple
|
|
94
|
+
'#A9DFBF',
|
|
95
|
+
// Vibrant pale green
|
|
96
|
+
'#FAD7A0',
|
|
97
|
+
// Vibrant cream
|
|
98
|
+
'#D5A6BD' // Vibrant dusty rose
|
|
99
|
+
];
|
|
100
|
+
//# sourceMappingURL=MazeRunnerConstants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DEFAULT_MAZE_RUNNER_SETTINGS","difficulty","gameDuration","soundEnabled","hapticEnabled","gridSize","showHints","MAZE_RUNNER_DIFFICULTY_CONFIG","easy","timeBonus","scoreMultiplier","hintAvailable","medium","hard","MAZE_RUNNER_THEME","backgroundColor","headerBackgroundColor","headerTextColor","sectionBackgroundColor","sectionTitleColor","buttonSelectedColor","buttonUnselectedColor","buttonSelectedTextColor","buttonUnselectedTextColor","switchTrackColorFalse","switchTrackColorTrue","switchThumbColor","infoTextColor","MAZE_RUNNER_DIFFICULTY_DESCRIPTIONS","MAZE_ADVENTURE_COLORS"],"sourceRoot":"../../../../src","sources":["games/maze-runner/MazeRunnerConstants.ts"],"mappings":";;AAEA;;AAUA,OAAO,MAAMA,4BAAgD,GAAG;EAC9DC,UAAU,EAAE,QAAQ;EACpBC,YAAY,EAAE,GAAG;EACjBC,YAAY,EAAE,IAAI;EAClBC,aAAa,EAAE,IAAI;EACnBC,QAAQ,EAAE,EAAE;EACZC,SAAS,EAAE;AACb,CAAC;AAED,OAAO,MAAMC,6BAA6B,GAAG;EAC3CC,IAAI,EAAE;IACJH,QAAQ,EAAE,CAAC;IACXI,SAAS,EAAE,GAAG;IACdC,eAAe,EAAE,GAAG;IACpBC,aAAa,EAAE,IAAI;IACnBT,YAAY,EAAE;EAChB,CAAC;EACDU,MAAM,EAAE;IACNP,QAAQ,EAAE,EAAE;IACZI,SAAS,EAAE,GAAG;IACdC,eAAe,EAAE,GAAG;IACpBC,aAAa,EAAE,KAAK;IACpBT,YAAY,EAAE;EAChB,CAAC;EACDW,IAAI,EAAE;IACJR,QAAQ,EAAE,EAAE;IACZI,SAAS,EAAE,GAAG;IACdC,eAAe,EAAE,GAAG;IACpBC,aAAa,EAAE,KAAK;IACpBT,YAAY,EAAE;EAChB;AACF,CAAU;;AAEV;AACA,OAAO,MAAMY,iBAAoC,GAAG;EAClDC,eAAe,EAAE,SAAS;EAAE;EAC5BC,qBAAqB,EAAE,wBAAwB;EAAE;EACjDC,eAAe,EAAE,SAAS;EAC1BC,sBAAsB,EAAE,wBAAwB;EAAE;EAClDC,iBAAiB,EAAE,SAAS;EAAE;EAC9BC,mBAAmB,EAAE,SAAS;EAAE;EAChCC,qBAAqB,EAAE,0BAA0B;EACjDC,uBAAuB,EAAE,SAAS;EAClCC,yBAAyB,EAAE,SAAS;EACpCC,qBAAqB,EAAE,wBAAwB;EAC/CC,oBAAoB,EAAE,SAAS;EAAE;EACjCC,gBAAgB,EAAE,SAAS;EAC3BC,aAAa,EAAE,SAAS,CAAE;AAC5B,CAAC;;AAED;AACA,OAAO,MAAMC,mCAAmC,GAAG;EACjDpB,IAAI,EAAE,iCAAiC;EACvCI,MAAM,EAAE,mCAAmC;EAC3CC,IAAI,EAAE;AACR,CAAU;;AAEV;AACA,OAAO,MAAMgB,qBAAqB,GAAG,CACnC,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS,CAAE;AAAA,CACH","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
export class MazeRunnerService {
|
|
4
4
|
gameTimer = null;
|
|
5
|
-
constructor(gridSize = 15, gameAreaWidth = 350, gameAreaHeight = 500) {
|
|
5
|
+
constructor(gridSize = 15, gameAreaWidth = 350, gameAreaHeight = 500, gameDuration = 120) {
|
|
6
6
|
this.gameConfig = {
|
|
7
7
|
GRID_SIZE: gridSize,
|
|
8
8
|
CELL_SIZE: Math.min(gameAreaWidth, gameAreaHeight) / gridSize,
|
|
@@ -12,13 +12,15 @@ export class MazeRunnerService {
|
|
|
12
12
|
GAME_AREA_HEIGHT: gameAreaHeight,
|
|
13
13
|
COLLISION_TOLERANCE: 5,
|
|
14
14
|
SCORE_PER_COMPLETION: 100,
|
|
15
|
-
TIME_BONUS_MULTIPLIER: 10
|
|
15
|
+
TIME_BONUS_MULTIPLIER: 10,
|
|
16
|
+
GAME_DURATION: gameDuration
|
|
16
17
|
};
|
|
17
18
|
this.gameState = {
|
|
18
19
|
isPlaying: false,
|
|
19
20
|
isPaused: false,
|
|
20
21
|
score: 0,
|
|
21
|
-
timeElapsed:
|
|
22
|
+
timeElapsed: gameDuration,
|
|
23
|
+
// Start with full time for countdown
|
|
22
24
|
ballPosition: {
|
|
23
25
|
x: 0,
|
|
24
26
|
y: 0
|
|
@@ -27,7 +29,8 @@ export class MazeRunnerService {
|
|
|
27
29
|
x: 0,
|
|
28
30
|
y: 0
|
|
29
31
|
},
|
|
30
|
-
isCompleted: false
|
|
32
|
+
isCompleted: false,
|
|
33
|
+
gameOver: false
|
|
31
34
|
};
|
|
32
35
|
this.maze = [];
|
|
33
36
|
this.walls = [];
|
|
@@ -79,7 +82,10 @@ export class MazeRunnerService {
|
|
|
79
82
|
this.gameState.isCompleted = false;
|
|
80
83
|
this.gameState.isPlaying = false; // Don't auto-start, let user click start
|
|
81
84
|
this.gameState.isPaused = false;
|
|
82
|
-
this.gameState.
|
|
85
|
+
this.gameState.gameOver = false;
|
|
86
|
+
this.gameState.score = 0; // Reset score for new maze
|
|
87
|
+
this.gameState.timeElapsed = this.gameConfig.GAME_DURATION; // Reset to full time for countdown
|
|
88
|
+
|
|
83
89
|
this.notifyGameStateChange();
|
|
84
90
|
}
|
|
85
91
|
generateMazeWithBacktracking() {
|
|
@@ -393,12 +399,15 @@ export class MazeRunnerService {
|
|
|
393
399
|
y: (this.gameConfig.GRID_SIZE - 1) * cellSize + cellSize / 2
|
|
394
400
|
};
|
|
395
401
|
}
|
|
396
|
-
updateSettings(gridSize,
|
|
402
|
+
updateSettings(gridSize, gameDuration, gameAreaWidth, gameAreaHeight) {
|
|
397
403
|
// Update game configuration with new settings
|
|
398
|
-
const
|
|
399
|
-
const
|
|
404
|
+
const newGameAreaWidth = gameAreaWidth || this.gameConfig.GAME_AREA_WIDTH;
|
|
405
|
+
const newGameAreaHeight = gameAreaHeight || this.gameConfig.GAME_AREA_HEIGHT;
|
|
400
406
|
this.gameConfig.GRID_SIZE = gridSize;
|
|
401
|
-
this.gameConfig.
|
|
407
|
+
this.gameConfig.GAME_AREA_WIDTH = newGameAreaWidth;
|
|
408
|
+
this.gameConfig.GAME_AREA_HEIGHT = newGameAreaHeight;
|
|
409
|
+
this.gameConfig.CELL_SIZE = Math.min(newGameAreaWidth, newGameAreaHeight) / gridSize;
|
|
410
|
+
this.gameConfig.GAME_DURATION = gameDuration; // Update game duration
|
|
402
411
|
|
|
403
412
|
// Generate new maze with updated settings
|
|
404
413
|
this.generateNewMaze();
|
|
@@ -406,8 +415,9 @@ export class MazeRunnerService {
|
|
|
406
415
|
// Reset game state
|
|
407
416
|
this.gameState.isPlaying = false;
|
|
408
417
|
this.gameState.isPaused = false;
|
|
409
|
-
this.gameState.timeElapsed =
|
|
418
|
+
this.gameState.timeElapsed = this.gameConfig.GAME_DURATION; // Reset to full time for countdown
|
|
410
419
|
this.gameState.isCompleted = false;
|
|
420
|
+
this.gameState.gameOver = false;
|
|
411
421
|
this.stopTimer();
|
|
412
422
|
this.notifyGameStateChange();
|
|
413
423
|
}
|
|
@@ -418,8 +428,10 @@ export class MazeRunnerService {
|
|
|
418
428
|
// Reset game state without starting - just prepare for a new game
|
|
419
429
|
this.gameState.isPlaying = false; // Don't auto-start
|
|
420
430
|
this.gameState.isPaused = false;
|
|
421
|
-
this.gameState.
|
|
431
|
+
this.gameState.score = 0; // Reset score for new game
|
|
432
|
+
this.gameState.timeElapsed = this.gameConfig.GAME_DURATION; // Reset to full time for countdown
|
|
422
433
|
this.gameState.isCompleted = false;
|
|
434
|
+
this.gameState.gameOver = false;
|
|
423
435
|
this.stopTimer(); // Make sure timer is stopped
|
|
424
436
|
this.notifyGameStateChange();
|
|
425
437
|
}
|
|
@@ -435,8 +447,10 @@ export class MazeRunnerService {
|
|
|
435
447
|
};
|
|
436
448
|
this.gameState.isPlaying = true;
|
|
437
449
|
this.gameState.isPaused = false;
|
|
438
|
-
this.gameState.
|
|
450
|
+
this.gameState.score = 0; // Reset score when starting new game
|
|
451
|
+
this.gameState.timeElapsed = this.gameConfig.GAME_DURATION; // Start with full time for countdown
|
|
439
452
|
this.gameState.isCompleted = false;
|
|
453
|
+
this.gameState.gameOver = false;
|
|
440
454
|
this.startTimer();
|
|
441
455
|
this.notifyGameStateChange();
|
|
442
456
|
}
|
|
@@ -460,7 +474,15 @@ export class MazeRunnerService {
|
|
|
460
474
|
this.stopTimer();
|
|
461
475
|
this.gameTimer = setInterval(() => {
|
|
462
476
|
if (!this.gameState.isPaused && this.gameState.isPlaying) {
|
|
463
|
-
this.gameState.timeElapsed
|
|
477
|
+
this.gameState.timeElapsed -= 1; // Count down instead of up
|
|
478
|
+
|
|
479
|
+
// Check if time has run out
|
|
480
|
+
if (this.gameState.timeElapsed <= 0) {
|
|
481
|
+
this.gameState.timeElapsed = 0;
|
|
482
|
+
this.gameState.isPlaying = false;
|
|
483
|
+
this.gameState.gameOver = true;
|
|
484
|
+
this.stopTimer();
|
|
485
|
+
}
|
|
464
486
|
this.notifyGameStateChange();
|
|
465
487
|
}
|
|
466
488
|
}, 1000);
|
|
@@ -528,7 +550,8 @@ export class MazeRunnerService {
|
|
|
528
550
|
return distance < this.gameConfig.BALL_SIZE;
|
|
529
551
|
}
|
|
530
552
|
completeLevel() {
|
|
531
|
-
|
|
553
|
+
// Time bonus based on remaining time (since we're counting down)
|
|
554
|
+
const timeBonus = this.gameState.timeElapsed * this.gameConfig.TIME_BONUS_MULTIPLIER;
|
|
532
555
|
this.gameState.score += this.gameConfig.SCORE_PER_COMPLETION + timeBonus;
|
|
533
556
|
this.gameState.isCompleted = true;
|
|
534
557
|
this.gameState.isPlaying = false; // Stop the game when maze is completed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MazeRunnerService","gameTimer","constructor","gridSize","gameAreaWidth","gameAreaHeight","gameConfig","GRID_SIZE","CELL_SIZE","Math","min","BALL_SIZE","PIPE_WIDTH","GAME_AREA_WIDTH","GAME_AREA_HEIGHT","COLLISION_TOLERANCE","SCORE_PER_COMPLETION","TIME_BONUS_MULTIPLIER","gameState","isPlaying","isPaused","score","timeElapsed","ballPosition","x","y","targetPosition","isCompleted","maze","walls","initializeMaze","generateMazeWithBacktracking","generateWalls","setStartAndEndPositions","setGameStateChangeCallback","callback","onGameStateChange","notifyGameStateChange","top","right","bottom","left","visited","generateNewMaze","stack","startCell","push","length","current","neighbors","getUnvisitedNeighbors","next","floor","random","removeWallBetween","pop","ensureConnectivity","hasPathFromStartToEnd","createMinimalPath","Array","fill","map","queue","shift","directions","dx","dy","wall","dir","newX","newY","currentCell","currentX","currentY","endX","endY","Set","key","has","add","possibleMoves","direction","cell","rightCell","bottomCell","leftCell","topCell","wallThickness","cellSize","mazeWidth","mazeHeight","width","height","type","cellX","cellY","updateSettings","_gameDuration","stopTimer","resetGame","startGame","startTimer","pauseGame","resumeGame","stopGame","setInterval","clearInterval","updateBallPosition","newPosition","isValidPosition","isNearTarget","completeLevel","position","ballRadius","ballCollidesWithWall","padding","ballX","ballY","closestX","max","closestY","distanceX","distanceY","distanceSquared","distance","sqrt","pow","timeBonus","getGameState","getGameConfig","getWalls","getMaze","row","cleanup"],"sourceRoot":"../../../../src","sources":["games/maze-runner/MazeRunnerService.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["MazeRunnerService","gameTimer","constructor","gridSize","gameAreaWidth","gameAreaHeight","gameDuration","gameConfig","GRID_SIZE","CELL_SIZE","Math","min","BALL_SIZE","PIPE_WIDTH","GAME_AREA_WIDTH","GAME_AREA_HEIGHT","COLLISION_TOLERANCE","SCORE_PER_COMPLETION","TIME_BONUS_MULTIPLIER","GAME_DURATION","gameState","isPlaying","isPaused","score","timeElapsed","ballPosition","x","y","targetPosition","isCompleted","gameOver","maze","walls","initializeMaze","generateMazeWithBacktracking","generateWalls","setStartAndEndPositions","setGameStateChangeCallback","callback","onGameStateChange","notifyGameStateChange","top","right","bottom","left","visited","generateNewMaze","stack","startCell","push","length","current","neighbors","getUnvisitedNeighbors","next","floor","random","removeWallBetween","pop","ensureConnectivity","hasPathFromStartToEnd","createMinimalPath","Array","fill","map","queue","shift","directions","dx","dy","wall","dir","newX","newY","currentCell","currentX","currentY","endX","endY","Set","key","has","add","possibleMoves","direction","cell","rightCell","bottomCell","leftCell","topCell","wallThickness","cellSize","mazeWidth","mazeHeight","width","height","type","cellX","cellY","updateSettings","newGameAreaWidth","newGameAreaHeight","stopTimer","resetGame","startGame","startTimer","pauseGame","resumeGame","stopGame","setInterval","clearInterval","updateBallPosition","newPosition","isValidPosition","isNearTarget","completeLevel","position","ballRadius","ballCollidesWithWall","padding","ballX","ballY","closestX","max","closestY","distanceX","distanceY","distanceSquared","distance","sqrt","pow","timeBonus","getGameState","getGameConfig","getWalls","getMaze","row","cleanup"],"sourceRoot":"../../../../src","sources":["games/maze-runner/MazeRunnerService.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,7 +5,8 @@ import { Canvas, Circle, RadialGradient, vec, Shadow } from '@shopify/react-nati
|
|
|
5
5
|
import { useSharedValue, useAnimatedStyle, withRepeat, withTiming, withSequence } from 'react-native-reanimated';
|
|
6
6
|
import Animated from 'react-native-reanimated';
|
|
7
7
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
-
|
|
8
|
+
// Memoized EnhancedBallComponent to prevent unnecessary re-renders
|
|
9
|
+
export const EnhancedBallComponent = /*#__PURE__*/React.memo(({
|
|
9
10
|
position,
|
|
10
11
|
size,
|
|
11
12
|
isDragging,
|
|
@@ -31,9 +32,9 @@ export const EnhancedBallComponent = ({
|
|
|
31
32
|
}, []);
|
|
32
33
|
React.useEffect(() => {
|
|
33
34
|
if (isDragging) {
|
|
34
|
-
pulseScale.value = withTiming(1.
|
|
35
|
+
pulseScale.value = withTiming(1.05, {
|
|
35
36
|
duration: 200
|
|
36
|
-
});
|
|
37
|
+
}); // Reduced from 1.2 to 1.05 for subtle effect
|
|
37
38
|
} else {
|
|
38
39
|
pulseScale.value = withTiming(1, {
|
|
39
40
|
duration: 200
|
|
@@ -145,5 +146,5 @@ export const EnhancedBallComponent = ({
|
|
|
145
146
|
})]
|
|
146
147
|
})
|
|
147
148
|
});
|
|
148
|
-
};
|
|
149
|
+
});
|
|
149
150
|
//# sourceMappingURL=EnhancedBallComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Canvas","Circle","RadialGradient","vec","Shadow","useSharedValue","useAnimatedStyle","withRepeat","withTiming","withSequence","Animated","jsx","_jsx","jsxs","_jsxs","EnhancedBallComponent","position","size","isDragging","isCompleted","rotation","glowIntensity","pulseScale","completionGlow","useEffect","value","duration","animatedStyle","scale","rotationDegrees","left","x","top","y","width","height","transform","rotate","canvasSize","ballRadius","centerX","centerY","View","style","children","cx","cy","r","opacity","c","colors","dx","dy","blur","color","strokeWidth"],"sourceRoot":"../../../../../src","sources":["games/maze-runner/components/EnhancedBallComponent.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,MAAM,EAAEC,MAAM,EAAEC,cAAc,EAAEC,GAAG,EAAEC,MAAM,QAAQ,4BAA4B;AACxF,SACEC,cAAc,EACdC,gBAAgB,EAChBC,UAAU,EACVC,UAAU,EACVC,YAAY,QACP,yBAAyB;AAChC,OAAOC,QAAQ,MAAM,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAU/C,OAAO,MAAMC,qBAA2D,
|
|
1
|
+
{"version":3,"names":["React","Canvas","Circle","RadialGradient","vec","Shadow","useSharedValue","useAnimatedStyle","withRepeat","withTiming","withSequence","Animated","jsx","_jsx","jsxs","_jsxs","EnhancedBallComponent","memo","position","size","isDragging","isCompleted","rotation","glowIntensity","pulseScale","completionGlow","useEffect","value","duration","animatedStyle","scale","rotationDegrees","left","x","top","y","width","height","transform","rotate","canvasSize","ballRadius","centerX","centerY","View","style","children","cx","cy","r","opacity","c","colors","dx","dy","blur","color","strokeWidth"],"sourceRoot":"../../../../../src","sources":["games/maze-runner/components/EnhancedBallComponent.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,11 +4,12 @@ import React from 'react';
|
|
|
4
4
|
import { View, StyleSheet } from 'react-native';
|
|
5
5
|
import { Gesture, GestureDetector } from 'react-native-gesture-handler';
|
|
6
6
|
import Animated, { useSharedValue, useAnimatedStyle, runOnJS, withSpring } from 'react-native-reanimated';
|
|
7
|
-
import
|
|
7
|
+
import { playHaptic, HapticType } from "../../../services/HapticsService.js";
|
|
8
8
|
import { EnhancedBallComponent } from "./EnhancedBallComponent.js";
|
|
9
9
|
import { WallComponent } from "./WallComponent.js";
|
|
10
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
-
|
|
11
|
+
// Memoized EnhancedGameArea component to prevent unnecessary re-renders
|
|
12
|
+
export const EnhancedGameArea = /*#__PURE__*/React.memo(({
|
|
12
13
|
gameState,
|
|
13
14
|
gameConfig,
|
|
14
15
|
walls,
|
|
@@ -32,16 +33,14 @@ export const EnhancedGameArea = ({
|
|
|
32
33
|
React.useEffect(() => {
|
|
33
34
|
wallsSharedValue.value = walls;
|
|
34
35
|
}, [walls]);
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
};
|
|
40
|
-
const triggerCollisionHaptic = () => {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
};
|
|
36
|
+
|
|
37
|
+
// Memoized haptic callback functions
|
|
38
|
+
const triggerMoveHaptic = React.useCallback(() => {
|
|
39
|
+
playHaptic(HapticType.LIGHT, hapticEnabled);
|
|
40
|
+
}, [hapticEnabled]);
|
|
41
|
+
const triggerCollisionHaptic = React.useCallback(() => {
|
|
42
|
+
playHaptic(HapticType.MEDIUM, hapticEnabled);
|
|
43
|
+
}, [hapticEnabled]);
|
|
45
44
|
|
|
46
45
|
// Store the initial position when gesture starts
|
|
47
46
|
const startPosition = useSharedValue({
|
|
@@ -56,7 +55,7 @@ export const EnhancedGameArea = ({
|
|
|
56
55
|
const currentWalls = wallsSharedValue.value;
|
|
57
56
|
|
|
58
57
|
// Use minimal margin to allow ball to fit better in maze paths
|
|
59
|
-
const collisionMargin = 0.5
|
|
58
|
+
const collisionMargin = 0.2; // Reduced from 0.5 for more precise collision
|
|
60
59
|
const effectiveRadius = ballRadius + collisionMargin;
|
|
61
60
|
for (let i = 0; i < currentWalls.length; i++) {
|
|
62
61
|
const wall = currentWalls[i];
|
|
@@ -120,7 +119,7 @@ export const EnhancedGameArea = ({
|
|
|
120
119
|
y: gameState.ballPosition.y
|
|
121
120
|
};
|
|
122
121
|
isDragging.value = true;
|
|
123
|
-
runOnJS(
|
|
122
|
+
runOnJS(triggerMoveHaptic)();
|
|
124
123
|
}).onUpdate(event => {
|
|
125
124
|
if (!gameState.isPlaying || gameState.isPaused) return;
|
|
126
125
|
|
|
@@ -256,6 +255,7 @@ export const EnhancedGameArea = ({
|
|
|
256
255
|
return /*#__PURE__*/_jsx(View, {
|
|
257
256
|
style: [styles.marker, styles.endMarker, {
|
|
258
257
|
left: endPos.x - 15,
|
|
258
|
+
// Half of 30px marker size
|
|
259
259
|
top: endPos.y - 15
|
|
260
260
|
}],
|
|
261
261
|
children: /*#__PURE__*/_jsx(View, {
|
|
@@ -294,7 +294,7 @@ export const EnhancedGameArea = ({
|
|
|
294
294
|
})]
|
|
295
295
|
})
|
|
296
296
|
});
|
|
297
|
-
};
|
|
297
|
+
});
|
|
298
298
|
const styles = StyleSheet.create({
|
|
299
299
|
container: {
|
|
300
300
|
backgroundColor: 'transparent',
|
|
@@ -318,6 +318,7 @@ const styles = StyleSheet.create({
|
|
|
318
318
|
marker: {
|
|
319
319
|
position: 'absolute',
|
|
320
320
|
width: 30,
|
|
321
|
+
// Revert to original size for proper collision detection
|
|
321
322
|
height: 30,
|
|
322
323
|
borderRadius: 15,
|
|
323
324
|
justifyContent: 'center',
|
|
@@ -334,10 +335,12 @@ const styles = StyleSheet.create({
|
|
|
334
335
|
startMarker: {
|
|
335
336
|
backgroundColor: '#4CAF50',
|
|
336
337
|
borderWidth: 3,
|
|
338
|
+
// Revert to original border width
|
|
337
339
|
borderColor: '#2E7D32'
|
|
338
340
|
},
|
|
339
341
|
startMarkerInner: {
|
|
340
342
|
width: 12,
|
|
343
|
+
// Revert to original size
|
|
341
344
|
height: 12,
|
|
342
345
|
borderRadius: 6,
|
|
343
346
|
backgroundColor: '#81C784'
|
|
@@ -345,10 +348,12 @@ const styles = StyleSheet.create({
|
|
|
345
348
|
endMarker: {
|
|
346
349
|
backgroundColor: '#FF5722',
|
|
347
350
|
borderWidth: 3,
|
|
351
|
+
// Revert to original border width
|
|
348
352
|
borderColor: '#D84315'
|
|
349
353
|
},
|
|
350
354
|
endMarkerInner: {
|
|
351
355
|
width: 12,
|
|
356
|
+
// Revert to original size
|
|
352
357
|
height: 12,
|
|
353
358
|
borderRadius: 6,
|
|
354
359
|
backgroundColor: '#FF8A65'
|