react-native-games 1.2.0 → 1.3.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 +43 -23
- package/lib/module/games/balloon-blaster/BalloonBlaster.js +1 -1
- package/lib/module/games/balloon-blaster/BalloonBlaster.js.map +1 -1
- package/lib/module/games/bike-racing/BikeRacing.js +1 -0
- package/lib/module/games/bike-racing/BikeRacing.js.map +1 -0
- package/lib/module/games/bike-racing/BikeRacingConstants.js +1 -0
- package/lib/module/games/bike-racing/BikeRacingConstants.js.map +1 -0
- package/lib/module/games/bike-racing/BikeRacingService.js +1 -0
- package/lib/module/games/bike-racing/BikeRacingService.js.map +1 -0
- package/lib/module/games/bike-racing/BikeRacingStore.js +1 -0
- package/lib/module/games/bike-racing/BikeRacingStore.js.map +1 -0
- package/lib/module/games/bike-racing/components/BikeComponent.js +1 -0
- package/lib/module/games/bike-racing/components/BikeComponent.js.map +1 -0
- package/lib/module/games/bike-racing/components/GameBackground.js +1 -0
- package/lib/module/games/bike-racing/components/GameBackground.js.map +1 -0
- package/lib/module/games/bike-racing/components/ScoreBoard.js +1 -0
- package/lib/module/games/bike-racing/components/ScoreBoard.js.map +1 -0
- package/lib/module/games/bike-racing/components/index.js +1 -0
- package/lib/module/games/bike-racing/components/index.js.map +1 -0
- package/lib/module/games/bike-racing/index.js +1 -0
- package/lib/module/games/bike-racing/index.js.map +1 -0
- package/lib/module/games/block-blast/BlockBlast.js +1 -0
- package/lib/module/games/block-blast/BlockBlast.js.map +1 -0
- package/lib/module/games/block-blast/BlockBlastConstants.js +1 -0
- package/lib/module/games/block-blast/BlockBlastConstants.js.map +1 -0
- package/lib/module/games/block-blast/BlockBlastService.js +1 -0
- package/lib/module/games/block-blast/BlockBlastService.js.map +1 -0
- package/lib/module/games/block-blast/BlockBlastStore.js +1 -0
- package/lib/module/games/block-blast/BlockBlastStore.js.map +1 -0
- package/lib/module/games/block-blast/components/BlockPieceComponent.js +1 -0
- package/lib/module/games/block-blast/components/BlockPieceComponent.js.map +1 -0
- package/lib/module/games/block-blast/components/GameArea.js +1 -0
- package/lib/module/games/block-blast/components/GameArea.js.map +1 -0
- package/lib/module/games/block-blast/components/GameBackground.js +1 -0
- package/lib/module/games/block-blast/components/GameBackground.js.map +1 -0
- package/lib/module/games/block-blast/components/GridComponent.js +1 -0
- package/lib/module/games/block-blast/components/GridComponent.js.map +1 -0
- package/lib/module/games/block-blast/components/ScoreBoard.js +1 -0
- package/lib/module/games/block-blast/components/ScoreBoard.js.map +1 -0
- package/lib/module/games/block-blast/components/index.js +1 -0
- package/lib/module/games/block-blast/components/index.js.map +1 -0
- package/lib/module/games/block-blast/index.js +1 -0
- package/lib/module/games/block-blast/index.js.map +1 -0
- package/lib/module/games/bubble-shooter/BubbleShooter.js +1 -0
- package/lib/module/games/bubble-shooter/BubbleShooter.js.map +1 -0
- package/lib/module/games/bubble-shooter/BubbleShooterConstants.js +1 -0
- package/lib/module/games/bubble-shooter/BubbleShooterConstants.js.map +1 -0
- package/lib/module/games/bubble-shooter/BubbleShooterService.js +1 -0
- package/lib/module/games/bubble-shooter/BubbleShooterService.js.map +1 -0
- package/lib/module/games/bubble-shooter/BubbleShooterStore.js +1 -0
- package/lib/module/games/bubble-shooter/BubbleShooterStore.js.map +1 -0
- package/lib/module/games/bubble-shooter/components/GameArea.js +1 -0
- package/lib/module/games/bubble-shooter/components/GameArea.js.map +1 -0
- package/lib/module/games/bubble-shooter/components/GameBackground.js +1 -0
- package/lib/module/games/bubble-shooter/components/GameBackground.js.map +1 -0
- package/lib/module/games/bubble-shooter/components/ScoreBoard.js +1 -0
- package/lib/module/games/bubble-shooter/components/ScoreBoard.js.map +1 -0
- package/lib/module/games/bubble-shooter/components/index.js +1 -0
- package/lib/module/games/bubble-shooter/components/index.js.map +1 -0
- package/lib/module/games/bubble-shooter/index.js +1 -0
- package/lib/module/games/bubble-shooter/index.js.map +1 -0
- package/lib/module/games/candy-crush/CandyCrush.js +1 -1
- package/lib/module/games/candy-crush/CandyCrush.js.map +1 -1
- package/lib/module/games/car-racing/CarRacing.js +1 -0
- package/lib/module/games/car-racing/CarRacing.js.map +1 -0
- package/lib/module/games/car-racing/CarRacingConstants.js +1 -0
- package/lib/module/games/car-racing/CarRacingConstants.js.map +1 -0
- package/lib/module/games/car-racing/CarRacingService.js +1 -0
- package/lib/module/games/car-racing/CarRacingService.js.map +1 -0
- package/lib/module/games/car-racing/CarRacingStore.js +1 -0
- package/lib/module/games/car-racing/CarRacingStore.js.map +1 -0
- package/lib/module/games/car-racing/components/CarComponent.js +1 -0
- package/lib/module/games/car-racing/components/CarComponent.js.map +1 -0
- package/lib/module/games/car-racing/components/GameBackground.js +1 -0
- package/lib/module/games/car-racing/components/GameBackground.js.map +1 -0
- package/lib/module/games/car-racing/components/ScoreBoard.js +1 -0
- package/lib/module/games/car-racing/components/ScoreBoard.js.map +1 -0
- package/lib/module/games/car-racing/components/index.js +1 -0
- package/lib/module/games/car-racing/components/index.js.map +1 -0
- package/lib/module/games/colors-sort/ColorsSort.js +1 -1
- package/lib/module/games/colors-sort/ColorsSort.js.map +1 -1
- package/lib/module/games/dino-jump/DinoJump.js +1 -1
- package/lib/module/games/dino-jump/DinoJump.js.map +1 -1
- package/lib/module/games/flappy-bird/FlappyBird.js +1 -1
- package/lib/module/games/flappy-bird/FlappyBird.js.map +1 -1
- package/lib/module/games/fruit-merger/FruitMerger.js +1 -1
- package/lib/module/games/fruit-merger/FruitMerger.js.map +1 -1
- package/lib/module/games/fruit-ninja/FruitNinja.js +1 -1
- package/lib/module/games/fruit-ninja/FruitNinja.js.map +1 -1
- package/lib/module/games/game-2048/Game2048.js +1 -1
- package/lib/module/games/game-2048/Game2048.js.map +1 -1
- package/lib/module/games/maze-runner/MazeRunner.js +1 -1
- package/lib/module/games/maze-runner/MazeRunner.js.map +1 -1
- package/lib/module/games/perfect-circle/PerfectCircle.js +1 -0
- package/lib/module/games/perfect-circle/PerfectCircle.js.map +1 -0
- package/lib/module/games/perfect-circle/PerfectCircleConstants.js +1 -0
- package/lib/module/games/perfect-circle/PerfectCircleConstants.js.map +1 -0
- package/lib/module/games/perfect-circle/PerfectCircleService.js +1 -0
- package/lib/module/games/perfect-circle/PerfectCircleService.js.map +1 -0
- package/lib/module/games/perfect-circle/PerfectCircleStore.js +1 -0
- package/lib/module/games/perfect-circle/PerfectCircleStore.js.map +1 -0
- package/lib/module/games/perfect-circle/components/DrawingCanvas.js +1 -0
- package/lib/module/games/perfect-circle/components/DrawingCanvas.js.map +1 -0
- package/lib/module/games/perfect-circle/components/GameBackground.js +1 -0
- package/lib/module/games/perfect-circle/components/GameBackground.js.map +1 -0
- package/lib/module/games/perfect-circle/components/ScoreBoard.js +1 -0
- package/lib/module/games/perfect-circle/components/ScoreBoard.js.map +1 -0
- package/lib/module/games/perfect-circle/index.js +1 -0
- package/lib/module/games/perfect-circle/index.js.map +1 -0
- package/lib/module/games/popit-fidget/PopitFidget.js +1 -1
- package/lib/module/games/popit-fidget/PopitFidget.js.map +1 -1
- package/lib/module/games/sliding-numbers/SlidingNumbers.js +1 -1
- package/lib/module/games/sliding-numbers/SlidingNumbers.js.map +1 -1
- package/lib/module/games/snake/Snake.js +1 -1
- package/lib/module/games/snake/Snake.js.map +1 -1
- package/lib/module/games/snake/SnakeStore.js +1 -1
- package/lib/module/games/snake/SnakeStore.js.map +1 -1
- package/lib/module/games/snake/components/ScoreBoard.js +1 -1
- package/lib/module/games/snake/components/ScoreBoard.js.map +1 -1
- package/lib/module/games/space-fighter/SpaceFighter.js +1 -1
- package/lib/module/games/space-fighter/SpaceFighter.js.map +1 -1
- package/lib/module/games/whack-a-mole/WhackAMole.js +1 -1
- package/lib/module/games/whack-a-mole/WhackAMole.js.map +1 -1
- package/lib/module/helpers/GameOverModal.js +1 -1
- package/lib/module/helpers/GameOverModal.js.map +1 -1
- package/lib/module/helpers/GameSettingsModal.js +1 -1
- package/lib/module/helpers/GameSettingsModal.js.map +1 -1
- package/lib/module/helpers/ScoreBoardContainer.js +1 -1
- package/lib/module/helpers/ScoreBoardContainer.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/services/GamesConstants.js +1 -1
- package/lib/module/services/GamesConstants.js.map +1 -1
- package/lib/module/services/GamesService.js +1 -1
- package/lib/module/services/GamesService.js.map +1 -1
- package/lib/module/services/ScoringService.js +1 -0
- package/lib/module/services/ScoringService.js.map +1 -0
- package/lib/module/services/SoundsService.js +1 -1
- package/lib/module/services/SoundsService.js.map +1 -1
- package/lib/module/services/UtilsService.js +1 -1
- package/lib/module/services/UtilsService.js.map +1 -1
- package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts.map +1 -1
- package/lib/typescript/src/games/bike-racing/BikeRacing.d.ts +4 -0
- package/lib/typescript/src/games/bike-racing/BikeRacing.d.ts.map +1 -0
- package/lib/typescript/src/games/bike-racing/BikeRacingConstants.d.ts +76 -0
- package/lib/typescript/src/games/bike-racing/BikeRacingConstants.d.ts.map +1 -0
- package/lib/typescript/src/games/bike-racing/BikeRacingService.d.ts +22 -0
- package/lib/typescript/src/games/bike-racing/BikeRacingService.d.ts.map +1 -0
- package/lib/typescript/src/games/bike-racing/BikeRacingStore.d.ts +72 -0
- package/lib/typescript/src/games/bike-racing/BikeRacingStore.d.ts.map +1 -0
- package/lib/typescript/src/games/bike-racing/components/BikeComponent.d.ts +12 -0
- package/lib/typescript/src/games/bike-racing/components/BikeComponent.d.ts.map +1 -0
- package/lib/typescript/src/games/bike-racing/components/GameBackground.d.ts +9 -0
- package/lib/typescript/src/games/bike-racing/components/GameBackground.d.ts.map +1 -0
- package/lib/typescript/src/games/bike-racing/components/ScoreBoard.d.ts +7 -0
- package/lib/typescript/src/games/bike-racing/components/ScoreBoard.d.ts.map +1 -0
- package/lib/typescript/src/games/bike-racing/components/index.d.ts +4 -0
- package/lib/typescript/src/games/bike-racing/components/index.d.ts.map +1 -0
- package/lib/typescript/src/games/bike-racing/index.d.ts +5 -0
- package/lib/typescript/src/games/bike-racing/index.d.ts.map +1 -0
- package/lib/typescript/src/games/block-blast/BlockBlast.d.ts +4 -0
- package/lib/typescript/src/games/block-blast/BlockBlast.d.ts.map +1 -0
- package/lib/typescript/src/games/block-blast/BlockBlastConstants.d.ts +82 -0
- package/lib/typescript/src/games/block-blast/BlockBlastConstants.d.ts.map +1 -0
- package/lib/typescript/src/games/block-blast/BlockBlastService.d.ts +17 -0
- package/lib/typescript/src/games/block-blast/BlockBlastService.d.ts.map +1 -0
- package/lib/typescript/src/games/block-blast/BlockBlastStore.d.ts +62 -0
- package/lib/typescript/src/games/block-blast/BlockBlastStore.d.ts.map +1 -0
- package/lib/typescript/src/games/block-blast/components/BlockPieceComponent.d.ts +14 -0
- package/lib/typescript/src/games/block-blast/components/BlockPieceComponent.d.ts.map +1 -0
- package/lib/typescript/src/games/block-blast/components/GameArea.d.ts +12 -0
- package/lib/typescript/src/games/block-blast/components/GameArea.d.ts.map +1 -0
- package/lib/typescript/src/games/block-blast/components/GameBackground.d.ts +7 -0
- package/lib/typescript/src/games/block-blast/components/GameBackground.d.ts.map +1 -0
- package/lib/typescript/src/games/block-blast/components/GridComponent.d.ts +17 -0
- package/lib/typescript/src/games/block-blast/components/GridComponent.d.ts.map +1 -0
- package/lib/typescript/src/games/block-blast/components/ScoreBoard.d.ts +7 -0
- package/lib/typescript/src/games/block-blast/components/ScoreBoard.d.ts.map +1 -0
- package/lib/typescript/src/games/block-blast/components/index.d.ts +6 -0
- package/lib/typescript/src/games/block-blast/components/index.d.ts.map +1 -0
- package/lib/typescript/src/games/block-blast/index.d.ts +5 -0
- package/lib/typescript/src/games/block-blast/index.d.ts.map +1 -0
- package/lib/typescript/src/games/bubble-shooter/BubbleShooter.d.ts +4 -0
- package/lib/typescript/src/games/bubble-shooter/BubbleShooter.d.ts.map +1 -0
- package/lib/typescript/src/games/bubble-shooter/BubbleShooterConstants.d.ts +61 -0
- package/lib/typescript/src/games/bubble-shooter/BubbleShooterConstants.d.ts.map +1 -0
- package/lib/typescript/src/games/bubble-shooter/BubbleShooterService.d.ts +26 -0
- package/lib/typescript/src/games/bubble-shooter/BubbleShooterService.d.ts.map +1 -0
- package/lib/typescript/src/games/bubble-shooter/BubbleShooterStore.d.ts +62 -0
- package/lib/typescript/src/games/bubble-shooter/BubbleShooterStore.d.ts.map +1 -0
- package/lib/typescript/src/games/bubble-shooter/components/GameArea.d.ts +9 -0
- package/lib/typescript/src/games/bubble-shooter/components/GameArea.d.ts.map +1 -0
- package/lib/typescript/src/games/bubble-shooter/components/GameBackground.d.ts +8 -0
- package/lib/typescript/src/games/bubble-shooter/components/GameBackground.d.ts.map +1 -0
- package/lib/typescript/src/games/bubble-shooter/components/ScoreBoard.d.ts +7 -0
- package/lib/typescript/src/games/bubble-shooter/components/ScoreBoard.d.ts.map +1 -0
- package/lib/typescript/src/games/bubble-shooter/components/index.d.ts +4 -0
- package/lib/typescript/src/games/bubble-shooter/components/index.d.ts.map +1 -0
- package/lib/typescript/src/games/bubble-shooter/index.d.ts +3 -0
- package/lib/typescript/src/games/bubble-shooter/index.d.ts.map +1 -0
- package/lib/typescript/src/games/candy-crush/CandyCrush.d.ts.map +1 -1
- package/lib/typescript/src/games/car-racing/CarRacing.d.ts +4 -0
- package/lib/typescript/src/games/car-racing/CarRacing.d.ts.map +1 -0
- package/lib/typescript/src/games/car-racing/CarRacingConstants.d.ts +76 -0
- package/lib/typescript/src/games/car-racing/CarRacingConstants.d.ts.map +1 -0
- package/lib/typescript/src/games/car-racing/CarRacingService.d.ts +22 -0
- package/lib/typescript/src/games/car-racing/CarRacingService.d.ts.map +1 -0
- package/lib/typescript/src/games/car-racing/CarRacingStore.d.ts +72 -0
- package/lib/typescript/src/games/car-racing/CarRacingStore.d.ts.map +1 -0
- package/lib/typescript/src/games/car-racing/components/CarComponent.d.ts +13 -0
- package/lib/typescript/src/games/car-racing/components/CarComponent.d.ts.map +1 -0
- package/lib/typescript/src/games/car-racing/components/GameBackground.d.ts +9 -0
- package/lib/typescript/src/games/car-racing/components/GameBackground.d.ts.map +1 -0
- package/lib/typescript/src/games/car-racing/components/ScoreBoard.d.ts +7 -0
- package/lib/typescript/src/games/car-racing/components/ScoreBoard.d.ts.map +1 -0
- package/lib/typescript/src/games/car-racing/components/index.d.ts +4 -0
- package/lib/typescript/src/games/car-racing/components/index.d.ts.map +1 -0
- package/lib/typescript/src/games/colors-sort/ColorsSort.d.ts.map +1 -1
- package/lib/typescript/src/games/dino-jump/DinoJump.d.ts.map +1 -1
- package/lib/typescript/src/games/flappy-bird/FlappyBird.d.ts.map +1 -1
- package/lib/typescript/src/games/fruit-merger/FruitMerger.d.ts.map +1 -1
- package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts.map +1 -1
- package/lib/typescript/src/games/game-2048/Game2048.d.ts.map +1 -1
- package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts.map +1 -1
- package/lib/typescript/src/games/perfect-circle/PerfectCircle.d.ts +4 -0
- package/lib/typescript/src/games/perfect-circle/PerfectCircle.d.ts.map +1 -0
- package/lib/typescript/src/games/perfect-circle/PerfectCircleConstants.d.ts +81 -0
- package/lib/typescript/src/games/perfect-circle/PerfectCircleConstants.d.ts.map +1 -0
- package/lib/typescript/src/games/perfect-circle/PerfectCircleService.d.ts +14 -0
- package/lib/typescript/src/games/perfect-circle/PerfectCircleService.d.ts.map +1 -0
- package/lib/typescript/src/games/perfect-circle/PerfectCircleStore.d.ts +40 -0
- package/lib/typescript/src/games/perfect-circle/PerfectCircleStore.d.ts.map +1 -0
- package/lib/typescript/src/games/perfect-circle/components/DrawingCanvas.d.ts +9 -0
- package/lib/typescript/src/games/perfect-circle/components/DrawingCanvas.d.ts.map +1 -0
- package/lib/typescript/src/games/perfect-circle/components/GameBackground.d.ts +8 -0
- package/lib/typescript/src/games/perfect-circle/components/GameBackground.d.ts.map +1 -0
- package/lib/typescript/src/games/perfect-circle/components/ScoreBoard.d.ts +7 -0
- package/lib/typescript/src/games/perfect-circle/components/ScoreBoard.d.ts.map +1 -0
- package/lib/typescript/src/games/perfect-circle/index.d.ts +3 -0
- package/lib/typescript/src/games/perfect-circle/index.d.ts.map +1 -0
- package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts.map +1 -1
- package/lib/typescript/src/games/sliding-numbers/SlidingNumbers.d.ts.map +1 -1
- package/lib/typescript/src/games/snake/Snake.d.ts.map +1 -1
- package/lib/typescript/src/games/snake/SnakeStore.d.ts +4 -0
- package/lib/typescript/src/games/snake/SnakeStore.d.ts.map +1 -1
- package/lib/typescript/src/games/snake/components/ScoreBoard.d.ts.map +1 -1
- package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts.map +1 -1
- package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts.map +1 -1
- package/lib/typescript/src/helpers/ScoreBoardContainer.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +6 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/services/GamesConstants.d.ts +50 -0
- package/lib/typescript/src/services/GamesConstants.d.ts.map +1 -1
- package/lib/typescript/src/services/GamesService.d.ts +2 -1
- package/lib/typescript/src/services/GamesService.d.ts.map +1 -1
- package/lib/typescript/src/services/ScoringService.d.ts +2 -0
- package/lib/typescript/src/services/ScoringService.d.ts.map +1 -0
- package/lib/typescript/src/services/SoundsService.d.ts +88 -0
- package/lib/typescript/src/services/SoundsService.d.ts.map +1 -1
- package/lib/typescript/src/services/UtilsService.d.ts +12 -1
- package/lib/typescript/src/services/UtilsService.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","StyleSheet","GestureHandlerRootView","Gesture","GestureDetector","runOnJS","GameControlButton","GameOverModal","GameSettingsModal","DEFAULT_GAME_SETTINGS","GAME_IDS","GameBackground","GameGrid","ScoreBoard","useSnakeStore","useScore","useIsPlaying","useIsGameOver","SNAKE_COLORS","jsx","_jsx","jsxs","_jsxs","Snake","memo","settings","onSettingsChange","score","isPlaying","isGameOver","startGame","state","stopGame","resetGame","initializeGame","updateSettings","changeDirection","prevSettingsRef","
|
|
1
|
+
{"version":3,"names":["React","View","StyleSheet","GestureHandlerRootView","Gesture","GestureDetector","runOnJS","GameControlButton","GameOverModal","GameSettingsModal","DEFAULT_GAME_SETTINGS","GAME_IDS","GameBackground","GameGrid","ScoreBoard","useSnakeStore","useScore","useIsPlaying","useIsGameOver","SNAKE_COLORS","jsx","_jsx","jsxs","_jsxs","Snake","memo","settings","onSettingsChange","onEndGame","score","isPlaying","isGameOver","gameReportedRef","useRef","reportGameEnd","useCallback","status","current","toString","startGame","state","stopGame","resetGame","initializeGame","updateSettings","changeDirection","prevSettingsRef","enableSounds","enableHaptics","prevDifficultyRef","useEffect","difficulty","handleStartGame","handleResetGame","handleStopGame","handleSwipe","direction","requestAnimationFrame","error","console","panGesture","useMemo","Pan","onEnd","event","threshold","absX","Math","abs","translationX","absY","translationY","gameControlButtonProps","gameOver","onStartGame","onStopGame","onResetGame","startButtonText","startButtonSubtext","startButtonColor","BUTTON_PRIMARY","startButtonBorderColor","BUTTON_SECONDARY","gameOverModalProps","isVisible","onPlayAgain","buttonText","primaryColor","borderColor","buttonColor","buttonBorderColor","buttonTextColor","scoreFormatter","s","gameSettingsModalProps","gameId","SNAKE","offset","children","style","styles","container","gesture","gridContainer","paddingTop","displayName","create","flex","justifyContent","alignItems"],"sourceRoot":"../../../../src","sources":["games/snake/Snake.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{create}from 'zustand';import{subscribeWithSelector}from 'zustand/middleware';import{immerMiddleware}from "../../services/UtilsService.js";import{SnakeService}from "./SnakeService.js";import{SNAKE_GAME_CONFIG,SNAKE_SOUNDS}from "./SnakeConstants.js";import{playSound}from "../../services/SoundsService.js";import{playHaptic,HapticType}from "../../services/HapticsService.js";const gameService = new SnakeService();export const useSnakeStore = create()(subscribeWithSelector(immerMiddleware((set,get)=>({snake:gameService.initializeSnake(),food:null,direction:'RIGHT',nextDirection:'RIGHT',score:0,isPlaying:false,isGameOver:false,isPaused:false,difficulty:'easy',enableSounds:true,enableHaptics:true,moveTimer:null,startGame:()=>{const state = get();if(state.moveTimer)clearInterval(state.moveTimer);const initialFood = gameService.generateFood(state.snake,false);const gameSpeed = SNAKE_GAME_CONFIG.GAME_SPEED[state.difficulty];const moveTimer = setInterval(()=>{const currentState = get();if(currentState.isPlaying && !currentState.isPaused){currentState.gameLoop();}},gameSpeed);set(state =>{state.isPlaying = true;state.isPaused = false;state.food = initialFood;state.moveTimer = moveTimer;});},stopGame:()=>{const state = get();if(state.moveTimer)clearInterval(state.moveTimer);playSound(SNAKE_SOUNDS.LOSE,state.enableSounds);playHaptic(HapticType.MEDIUM,state.enableHaptics);state.initializeGame(state.difficulty);},pauseGame:()=>{set(state =>{state.isPaused = true;});},resumeGame:()=>{set(state =>{state.isPaused = false;});},resetGame:()=>{const state = get();state.initializeGame(state.difficulty);},initializeGame:(difficulty = 'easy')=>{const state = get();if(state.moveTimer)clearInterval(state.moveTimer);gameService.resetIdCounter();const newSnake = gameService.initializeSnake();set(state =>{state.snake = newSnake;state.food = null;state.direction = 'RIGHT';state.nextDirection = 'RIGHT';state.score = 0;state.isPlaying = false;state.isGameOver = false;state.isPaused = false;state.difficulty = difficulty;state.moveTimer = null;});},changeDirection:newDirection =>{const state = get();if(!state.isPlaying || state.isPaused)return;if(gameService.isValidDirectionChange(state.direction,newDirection)){set(state =>{state.nextDirection = newDirection;});}},gameLoop:()=>{const state = get();if(!state.isPlaying || state.isPaused || state.isGameOver)return;set(draft =>{draft.direction = draft.nextDirection;const newSnake = gameService.moveSnake(draft.snake,draft.direction);const head = newSnake[0];if(!head)return;if(gameService.checkWallCollision(head)){draft.isGameOver = true;draft.isPlaying = false;if(draft.moveTimer){clearInterval(draft.moveTimer);draft.moveTimer = null;}playSound(SNAKE_SOUNDS.COLLISION,draft.enableSounds);playHaptic(HapticType.HEAVY,draft.enableHaptics);return;}if(gameService.checkSelfCollision(newSnake)){draft.isGameOver = true;draft.isPlaying = false;if(draft.moveTimer){clearInterval(draft.moveTimer);draft.moveTimer = null;}playSound(SNAKE_SOUNDS.COLLISION,draft.enableSounds);playHaptic(HapticType.HEAVY,draft.enableHaptics);return;}if(draft.food && gameService.checkFoodCollision(head,draft.food)){const grownSnake = gameService.growSnake(newSnake);draft.snake = grownSnake;const points = gameService.calculateScore(draft.food.isSpecial,draft.difficulty);draft.score += points;const sound = draft.food.isSpecial ? SNAKE_SOUNDS.SPECIAL:SNAKE_SOUNDS.EAT;playSound(sound,draft.enableSounds);playHaptic(draft.food.isSpecial ? HapticType.HEAVY:HapticType.MEDIUM,draft.enableHaptics);const isSpecial = Math.random()< SNAKE_GAME_CONFIG.SPECIAL_FOOD_CHANCE;draft.food = gameService.generateFood(grownSnake,isSpecial);}else{draft.snake = newSnake;}if(draft.food && gameService.isSpecialFoodExpired(draft.food)){draft.food = gameService.generateFood(draft.snake,false);}});},updateSettings:(enableSounds,enableHaptics)=>{set(state =>{state.enableSounds = enableSounds;state.enableHaptics = enableHaptics;});}}))));export const useSnake =()=> useSnakeStore(state => state.snake);export const useFood =()=> useSnakeStore(state => state.food);export const useScore =()=> useSnakeStore(state => state.score);export const useIsPlaying =()=> useSnakeStore(state => state.isPlaying);export const useIsGameOver =()=> useSnakeStore(state => state.isGameOver);export const useIsPaused =()=> useSnakeStore(state => state.isPaused);
|
|
1
|
+
"use strict";import{create}from 'zustand';import{subscribeWithSelector}from 'zustand/middleware';import{immerMiddleware}from "../../services/UtilsService.js";import{SnakeService}from "./SnakeService.js";import{SNAKE_GAME_CONFIG,SNAKE_SOUNDS}from "./SnakeConstants.js";import{playSound}from "../../services/SoundsService.js";import{playHaptic,HapticType}from "../../services/HapticsService.js";const gameService = new SnakeService();export const useSnakeStore = create()(subscribeWithSelector(immerMiddleware((set,get)=>({snake:gameService.initializeSnake(),food:null,direction:'RIGHT',nextDirection:'RIGHT',score:0,timeLeft:300,isPlaying:false,isGameOver:false,isPaused:false,difficulty:'easy',enableSounds:true,enableHaptics:true,moveTimer:null,countdownTimer:null,startGame:()=>{const state = get();if(state.moveTimer)clearInterval(state.moveTimer);if(state.countdownTimer)clearInterval(state.countdownTimer);const initialFood = gameService.generateFood(state.snake,false);const gameSpeed = SNAKE_GAME_CONFIG.GAME_SPEED[state.difficulty];const moveTimer = setInterval(()=>{const currentState = get();if(currentState.isPlaying && !currentState.isPaused){currentState.gameLoop();}},gameSpeed);const countdownTimer = setInterval(()=>{const currentState = get();if(currentState.isPlaying && !currentState.isPaused){currentState.decrementTime();}},1000);set(state =>{state.isPlaying = true;state.isPaused = false;state.food = initialFood;state.moveTimer = moveTimer;state.countdownTimer = countdownTimer;});},stopGame:()=>{const state = get();if(state.moveTimer)clearInterval(state.moveTimer);if(state.countdownTimer)clearInterval(state.countdownTimer);playSound(SNAKE_SOUNDS.LOSE,state.enableSounds);playHaptic(HapticType.MEDIUM,state.enableHaptics);state.initializeGame(state.difficulty);},pauseGame:()=>{set(state =>{state.isPaused = true;});},resumeGame:()=>{set(state =>{state.isPaused = false;});},resetGame:()=>{const state = get();state.initializeGame(state.difficulty);},initializeGame:(difficulty = 'easy')=>{const state = get();if(state.moveTimer)clearInterval(state.moveTimer);if(state.countdownTimer)clearInterval(state.countdownTimer);gameService.resetIdCounter();const newSnake = gameService.initializeSnake();const timeLimit = difficulty === 'easy' ? 300:600;set(state =>{state.snake = newSnake;state.food = null;state.direction = 'RIGHT';state.nextDirection = 'RIGHT';state.score = 0;state.timeLeft = timeLimit;state.isPlaying = false;state.isGameOver = false;state.isPaused = false;state.difficulty = difficulty;state.moveTimer = null;state.countdownTimer = null;});},changeDirection:newDirection =>{const state = get();if(!state.isPlaying || state.isPaused)return;if(gameService.isValidDirectionChange(state.direction,newDirection)){set(state =>{state.nextDirection = newDirection;});}},gameLoop:()=>{const state = get();if(!state.isPlaying || state.isPaused || state.isGameOver)return;set(draft =>{draft.direction = draft.nextDirection;const newSnake = gameService.moveSnake(draft.snake,draft.direction);const head = newSnake[0];if(!head)return;if(gameService.checkWallCollision(head)){draft.isGameOver = true;draft.isPlaying = false;if(draft.moveTimer){clearInterval(draft.moveTimer);draft.moveTimer = null;}if(draft.countdownTimer){clearInterval(draft.countdownTimer);draft.countdownTimer = null;}playSound(SNAKE_SOUNDS.COLLISION,draft.enableSounds);playHaptic(HapticType.HEAVY,draft.enableHaptics);return;}if(gameService.checkSelfCollision(newSnake)){draft.isGameOver = true;draft.isPlaying = false;if(draft.moveTimer){clearInterval(draft.moveTimer);draft.moveTimer = null;}if(draft.countdownTimer){clearInterval(draft.countdownTimer);draft.countdownTimer = null;}playSound(SNAKE_SOUNDS.COLLISION,draft.enableSounds);playHaptic(HapticType.HEAVY,draft.enableHaptics);return;}if(draft.food && gameService.checkFoodCollision(head,draft.food)){const grownSnake = gameService.growSnake(newSnake);draft.snake = grownSnake;const points = gameService.calculateScore(draft.food.isSpecial,draft.difficulty);draft.score += points;const sound = draft.food.isSpecial ? SNAKE_SOUNDS.SPECIAL:SNAKE_SOUNDS.EAT;playSound(sound,draft.enableSounds);playHaptic(draft.food.isSpecial ? HapticType.HEAVY:HapticType.MEDIUM,draft.enableHaptics);const isSpecial = Math.random()< SNAKE_GAME_CONFIG.SPECIAL_FOOD_CHANCE;draft.food = gameService.generateFood(grownSnake,isSpecial);}else{draft.snake = newSnake;}if(draft.food && gameService.isSpecialFoodExpired(draft.food)){draft.food = gameService.generateFood(draft.snake,false);}});},updateSettings:(enableSounds,enableHaptics)=>{set(state =>{state.enableSounds = enableSounds;state.enableHaptics = enableHaptics;});},decrementTime:()=>{set(state =>{if(state.timeLeft > 0){state.timeLeft--;}else{state.isGameOver = true;state.isPlaying = false;if(state.moveTimer){clearInterval(state.moveTimer);state.moveTimer = null;}if(state.countdownTimer){clearInterval(state.countdownTimer);state.countdownTimer = null;}}});}}))));export const useSnake =()=> useSnakeStore(state => state.snake);export const useFood =()=> useSnakeStore(state => state.food);export const useScore =()=> useSnakeStore(state => state.score);export const useTimeLeft =()=> useSnakeStore(state => state.timeLeft);export const useIsPlaying =()=> useSnakeStore(state => state.isPlaying);export const useIsGameOver =()=> useSnakeStore(state => state.isGameOver);export const useIsPaused =()=> useSnakeStore(state => state.isPaused);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["create","subscribeWithSelector","immerMiddleware","SnakeService","SNAKE_GAME_CONFIG","SNAKE_SOUNDS","playSound","playHaptic","HapticType","gameService","useSnakeStore","set","get","snake","initializeSnake","food","direction","nextDirection","score","isPlaying","isGameOver","isPaused","difficulty","enableSounds","enableHaptics","moveTimer","startGame","state","clearInterval","initialFood","generateFood","gameSpeed","GAME_SPEED","setInterval","currentState","gameLoop","stopGame","LOSE","MEDIUM","initializeGame","pauseGame","resumeGame","resetGame","resetIdCounter","newSnake","changeDirection","newDirection","isValidDirectionChange","draft","moveSnake","head","checkWallCollision","COLLISION","HEAVY","checkSelfCollision","checkFoodCollision","grownSnake","growSnake","points","calculateScore","isSpecial","sound","SPECIAL","EAT","Math","random","SPECIAL_FOOD_CHANCE","isSpecialFoodExpired","updateSettings","useSnake","useFood","useScore","useIsPlaying","useIsGameOver","useIsPaused"],"sourceRoot":"../../../../src","sources":["games/snake/SnakeStore.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,SAAS;AAChC,SAASC,qBAAqB,QAAQ,oBAAoB;AAC1D,SAASC,eAAe,QAAQ,gCAA6B;AAC7D,SAASC,YAAY,QAAsC,mBAAgB;AAC3E,SAASC,iBAAiB,EAAEC,YAAY,QAAwB,qBAAkB;AAClF,SAASC,SAAS,QAAQ,iCAA8B;AACxD,SAASC,UAAU,EAAEC,UAAU,QAAQ,kCAA+B;
|
|
1
|
+
{"version":3,"names":["create","subscribeWithSelector","immerMiddleware","SnakeService","SNAKE_GAME_CONFIG","SNAKE_SOUNDS","playSound","playHaptic","HapticType","gameService","useSnakeStore","set","get","snake","initializeSnake","food","direction","nextDirection","score","timeLeft","isPlaying","isGameOver","isPaused","difficulty","enableSounds","enableHaptics","moveTimer","countdownTimer","startGame","state","clearInterval","initialFood","generateFood","gameSpeed","GAME_SPEED","setInterval","currentState","gameLoop","decrementTime","stopGame","LOSE","MEDIUM","initializeGame","pauseGame","resumeGame","resetGame","resetIdCounter","newSnake","timeLimit","changeDirection","newDirection","isValidDirectionChange","draft","moveSnake","head","checkWallCollision","COLLISION","HEAVY","checkSelfCollision","checkFoodCollision","grownSnake","growSnake","points","calculateScore","isSpecial","sound","SPECIAL","EAT","Math","random","SPECIAL_FOOD_CHANCE","isSpecialFoodExpired","updateSettings","useSnake","useFood","useScore","useTimeLeft","useIsPlaying","useIsGameOver","useIsPaused"],"sourceRoot":"../../../../src","sources":["games/snake/SnakeStore.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import React from 'react';import{View,Text,StyleSheet}from 'react-native';import{useScore}from "../SnakeStore.js";import{SNAKE_COLORS}from "../SnakeConstants.js";import{ScoreBoardContainer}from "../../../helpers/index.js";import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";export const ScoreBoard = React.memo(({offset = 0})=>{const score = useScore();return _jsx(ScoreBoardContainer,{offset:offset,backgroundColor:SNAKE_COLORS.SCORE_BACKGROUND,borderColor:SNAKE_COLORS.SCORE_BACKGROUND,children:
|
|
1
|
+
"use strict";import React from 'react';import{View,Text,StyleSheet}from 'react-native';import{useScore,useTimeLeft}from "../SnakeStore.js";import{SNAKE_COLORS}from "../SnakeConstants.js";import{ScoreBoardContainer}from "../../../helpers/index.js";import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";export const ScoreBoard = React.memo(({offset = 0})=>{const score = useScore();const timeLeft = useTimeLeft();const formattedTime = React.useMemo(()=>{const minutes = Math.floor(timeLeft / 60);const seconds = timeLeft % 60;return `${minutes}:${seconds.toString().padStart(2,'0')}`;},[timeLeft]);return _jsx(ScoreBoardContainer,{offset:offset,backgroundColor:SNAKE_COLORS.SCORE_BACKGROUND,borderColor:SNAKE_COLORS.SCORE_BACKGROUND,children:_jsxs(View,{style:styles.scoreContainer,children:[_jsxs(View,{style:styles.scoreItem,children:[_jsx(Text,{style:styles.label,children:"Score"}),_jsx(Text,{style:styles.value,children:score})]}),_jsxs(View,{style:styles.scoreItem,children:[_jsx(Text,{style:styles.label,children:"Time"}),_jsx(Text,{style:styles.value,children:formattedTime})]})]})});});ScoreBoard.displayName = 'ScoreBoard';const styles = StyleSheet.create({scoreContainer:{flex:1,flexDirection:'row',justifyContent:'space-around',alignItems:'center'},scoreItem:{alignItems:'center'},label:{fontSize:16,color:'rgba(255,255,255,0.7)',marginBottom:4},value:{fontSize:25,color:SNAKE_COLORS.SCORE_TEXT,fontWeight:'bold'}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","Text","StyleSheet","useScore","SNAKE_COLORS","ScoreBoardContainer","jsx","_jsx","jsxs","_jsxs","ScoreBoard","memo","offset","score","backgroundColor","SCORE_BACKGROUND","borderColor","children","style","styles","scoreContainer","scoreItem","label","value","displayName","create","alignItems","fontSize","color","marginBottom","SCORE_TEXT","fontWeight"],"sourceRoot":"../../../../../src","sources":["games/snake/components/ScoreBoard.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AACrD,SAASC,QAAQ,QAAQ,kBAAe;
|
|
1
|
+
{"version":3,"names":["React","View","Text","StyleSheet","useScore","useTimeLeft","SNAKE_COLORS","ScoreBoardContainer","jsx","_jsx","jsxs","_jsxs","ScoreBoard","memo","offset","score","timeLeft","formattedTime","useMemo","minutes","Math","floor","seconds","toString","padStart","backgroundColor","SCORE_BACKGROUND","borderColor","children","style","styles","scoreContainer","scoreItem","label","value","displayName","create","flex","flexDirection","justifyContent","alignItems","fontSize","color","marginBottom","SCORE_TEXT","fontWeight"],"sourceRoot":"../../../../../src","sources":["games/snake/components/ScoreBoard.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AACrD,SAASC,QAAQ,EAAEC,WAAW,QAAQ,kBAAe;AACrD,SAASC,YAAY,QAAQ,sBAAmB;AAChD,SAASC,mBAAmB,QAAQ,2BAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMvD,OAAO,MAAMC,UAAqC,gBAAGZ,KAAK,CAACa,IAAI,CAAC,CAAC;EAACC,MAAM,GAAG;AAAC,CAAC,KAAK;EAChF,MAAMC,KAAK,GAAGX,QAAQ,CAAC,CAAC;EACxB,MAAMY,QAAQ,GAAGX,WAAW,CAAC,CAAC;;EAE9B;EACA,MAAMY,aAAa,GAAGjB,KAAK,CAACkB,OAAO,CAAC,MAAM;IACxC,MAAMC,OAAO,GAAGC,IAAI,CAACC,KAAK,CAACL,QAAQ,GAAG,EAAE,CAAC;IACzC,MAAMM,OAAO,GAAGN,QAAQ,GAAG,EAAE;IAC7B,OAAO,GAAGG,OAAO,IAAIG,OAAO,CAACC,QAAQ,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;EAC5D,CAAC,EAAE,CAACR,QAAQ,CAAC,CAAC;EAEd,oBACEP,IAAA,CAACF,mBAAmB;IAClBO,MAAM,EAAEA,MAAO;IACfW,eAAe,EAAEnB,YAAY,CAACoB,gBAAiB;IAC/CC,WAAW,EAAErB,YAAY,CAACoB,gBAAiB;IAAAE,QAAA,eAE3CjB,KAAA,CAACV,IAAI;MAAC4B,KAAK,EAAEC,MAAM,CAACC,cAAe;MAAAH,QAAA,gBACjCjB,KAAA,CAACV,IAAI;QAAC4B,KAAK,EAAEC,MAAM,CAACE,SAAU;QAAAJ,QAAA,gBAC5BnB,IAAA,CAACP,IAAI;UAAC2B,KAAK,EAAEC,MAAM,CAACG,KAAM;UAAAL,QAAA,EAAC;QAAK,CAAM,CAAC,eACvCnB,IAAA,CAACP,IAAI;UAAC2B,KAAK,EAAEC,MAAM,CAACI,KAAM;UAAAN,QAAA,EAAEb;QAAK,CAAO,CAAC;MAAA,CACrC,CAAC,eACPJ,KAAA,CAACV,IAAI;QAAC4B,KAAK,EAAEC,MAAM,CAACE,SAAU;QAAAJ,QAAA,gBAC5BnB,IAAA,CAACP,IAAI;UAAC2B,KAAK,EAAEC,MAAM,CAACG,KAAM;UAAAL,QAAA,EAAC;QAAI,CAAM,CAAC,eACtCnB,IAAA,CAACP,IAAI;UAAC2B,KAAK,EAAEC,MAAM,CAACI,KAAM;UAAAN,QAAA,EAAEX;QAAa,CAAO,CAAC;MAAA,CAC7C,CAAC;IAAA,CACH;EAAC,CACY,CAAC;AAE1B,CAAC,CAAC;AAEFL,UAAU,CAACuB,WAAW,GAAG,YAAY;AAErC,MAAML,MAAM,GAAG3B,UAAU,CAACiC,MAAM,CAAC;EAC/BL,cAAc,EAAE;IACdM,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,cAAc;IAC9BC,UAAU,EAAE;EACd,CAAC;EACDR,SAAS,EAAE;IACTQ,UAAU,EAAE;EACd,CAAC;EACDP,KAAK,EAAE;IACLQ,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAE,0BAA0B;IACjCC,YAAY,EAAE;EAChB,CAAC;EACDT,KAAK,EAAE;IACLO,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAEpC,YAAY,CAACsC,UAAU;IAC9BC,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import React,{useEffect,useCallback,useMemo}from 'react';import{View,StyleSheet,Dimensions}from 'react-native';import{GestureHandlerRootView}from 'react-native-gesture-handler';import{useSpaceFighterStore}from "./SpaceFighterStore.js";import{createSpaceFighterService}from "./SpaceFighterService.js";import{getDifficultySettings}from "./SpaceFighterConstants.js";import{ScoreBoard,GameArea,GameBackground}from "./components/index.js";import{GameControlButton,GameOverModal,useGameErrorHandler,GameErrorType}from "../../helpers/index.js";import{GameSettingsModal}from "../../helpers/index.js";import{GAME_IDS,DEFAULT_GAME_SETTINGS}from "../../services/UtilsService.js";import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";const{width,height}= Dimensions.get('window');export const SpaceFighter =({settings = DEFAULT_GAME_SETTINGS,onSettingsChange})=>{const{difficulty}= useMemo(()=> settings || DEFAULT_GAME_SETTINGS,[settings]);const isPlaying = useSpaceFighterStore(state => state.isPlaying);const gameOver = useSpaceFighterStore(state => state.gameOver);const score = useSpaceFighterStore(state => state.score);const setOffset = useSpaceFighterStore(state => state.setOffset);const startGame = useSpaceFighterStore(state => state.startGame);const stopGame = useSpaceFighterStore(state => state.stopGame);const resetGame = useSpaceFighterStore(state => state.resetGame);const decrementTime = useSpaceFighterStore(state => state.decrementTime);const addAsteroids = useSpaceFighterStore(state => state.addAsteroids);const removeAsteroid = useSpaceFighterStore(state => state.removeAsteroid);const updateAsteroid = useSpaceFighterStore(state => state.updateAsteroid);const updateSpacecraft = useSpaceFighterStore(state => state.updateSpacecraft);const offset = settings?.offset ?? 0;useEffect(()=>{setOffset(offset);},[offset,setOffset]);const{wrapFunction,safeExecute}= useGameErrorHandler(GAME_IDS.SPACE_FIGHTER);const gameService = useMemo(()=> safeExecute(()=> createSpaceFighterService(width,height),createSpaceFighterService(width,height),GameErrorType.INITIALIZATION_ERROR),[safeExecute]);useEffect(()=>{return()=>{handleResetGame();if(gameService){gameService.cleanup();}};},[gameService]);useEffect(()=>{if(gameOver && gameService){gameService.cleanup();}},[gameOver,gameService]);const difficultySettings = useMemo(()=> getDifficultySettings(difficulty),[difficulty]);const handleStartGame = useCallback(()=> wrapFunction(()=>{startGame();if(gameService){gameService.updateDifficultySettings(difficultySettings.asteroidSpeed,difficultySettings.asteroidSpawnInterval);gameService.startGameTimer(decrementTime);gameService.startAsteroidSpawning(addAsteroids);gameService.startPhysicsLoop(updateSpacecraft,updateAsteroid,removeAsteroid,()=> useSpaceFighterStore.getState().spacecraft,()=> useSpaceFighterStore.getState().asteroids);}},GameErrorType.INITIALIZATION_ERROR)(),[wrapFunction,startGame,gameService,difficultySettings,updateSpacecraft,decrementTime,addAsteroids,updateAsteroid,removeAsteroid]);const handleStopGame = useCallback(()=> wrapFunction(()=>{stopGame();if(gameService){gameService.cleanup();}},GameErrorType.UNKNOWN_ERROR)(),[wrapFunction,stopGame,gameService]);const handleResetGame = useCallback(()=> wrapFunction(()=>{if(gameService){gameService.cleanup();}resetGame();if(gameService){const initialSpacecraft = gameService.getInitialSpacecraft();updateSpacecraft(initialSpacecraft);}},GameErrorType.UNKNOWN_ERROR)(),[wrapFunction,gameService,resetGame,updateSpacecraft]);const gameControlButtonProps = useMemo(()=>({isPlaying,gameOver,onStartGame:handleStartGame,onStopGame:handleStopGame,startButtonText:"START FLYING",stopButtonText:"STOP GAME",startButtonSubtext:"Navigate through space!",stopButtonSubtext:"End current game",startButtonColor:"#9370db",stopButtonColor:"#dc2626",startButtonBorderColor:"#ba68c8",stopButtonBorderColor:"#f87171"}),[isPlaying,gameOver,handleStartGame,handleStopGame]);const gameOverModalProps = useMemo(()=>({isVisible:gameOver,score,onPlayAgain:handleResetGame,buttonText:"Fly Again!",primaryColor:"rgba(147,112,219,0.5)",borderColor:"rgba(147,112,219,0.5)",buttonColor:"#ffffff",buttonBorderColor:"#ffffff",buttonTextColor:"#9370db"}),[gameOver,score,handleResetGame]);const gameSettingsModalProps = useMemo(()=>({gameId:GAME_IDS.SPACE_FIGHTER,settings:settings || DEFAULT_GAME_SETTINGS,onSettingsChange}),[settings,onSettingsChange]);return _jsx(View,{style:styles.container,children:_jsx(GestureHandlerRootView,{children:_jsxs(GameBackground,{children:[_jsx(GameArea,{}),_jsx(ScoreBoard,{offset:offset}),_jsx(GameControlButton,{...gameControlButtonProps}),_jsx(GameOverModal,{...gameOverModalProps}),_jsx(GameSettingsModal,{...gameSettingsModalProps})]})})});};const styles = StyleSheet.create({container:{flex:1}});
|
|
1
|
+
"use strict";import React,{useEffect,useCallback,useMemo}from 'react';import{View,StyleSheet,Dimensions}from 'react-native';import{GestureHandlerRootView}from 'react-native-gesture-handler';import{useSpaceFighterStore}from "./SpaceFighterStore.js";import{createSpaceFighterService}from "./SpaceFighterService.js";import{getDifficultySettings}from "./SpaceFighterConstants.js";import{ScoreBoard,GameArea,GameBackground}from "./components/index.js";import{GameControlButton,GameOverModal,useGameErrorHandler,GameErrorType}from "../../helpers/index.js";import{GameSettingsModal}from "../../helpers/index.js";import{GAME_IDS,DEFAULT_GAME_SETTINGS}from "../../services/UtilsService.js";import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";const{width,height}= Dimensions.get('window');export const SpaceFighter =({settings = DEFAULT_GAME_SETTINGS,onSettingsChange,onEndGame})=>{const{difficulty}= useMemo(()=> settings || DEFAULT_GAME_SETTINGS,[settings]);const isPlaying = useSpaceFighterStore(state => state.isPlaying);const gameOver = useSpaceFighterStore(state => state.gameOver);const score = useSpaceFighterStore(state => state.score);const gameReportedRef = React.useRef(false);const reportGameEnd = useCallback(status =>{if(onEndGame && !gameReportedRef.current){const currentState = useSpaceFighterStore.getState();onEndGame({status,score:currentState.score.toString()});gameReportedRef.current = true;}},[onEndGame]);const setOffset = useSpaceFighterStore(state => state.setOffset);const startGame = useSpaceFighterStore(state => state.startGame);const stopGame = useSpaceFighterStore(state => state.stopGame);const resetGame = useSpaceFighterStore(state => state.resetGame);const decrementTime = useSpaceFighterStore(state => state.decrementTime);const addAsteroids = useSpaceFighterStore(state => state.addAsteroids);const removeAsteroid = useSpaceFighterStore(state => state.removeAsteroid);const updateAsteroid = useSpaceFighterStore(state => state.updateAsteroid);const updateSpacecraft = useSpaceFighterStore(state => state.updateSpacecraft);const offset = settings?.offset ?? 0;useEffect(()=>{setOffset(offset);},[offset,setOffset]);const{wrapFunction,safeExecute}= useGameErrorHandler(GAME_IDS.SPACE_FIGHTER);const gameService = useMemo(()=> safeExecute(()=> createSpaceFighterService(width,height),createSpaceFighterService(width,height),GameErrorType.INITIALIZATION_ERROR),[safeExecute]);useEffect(()=>{return()=>{handleResetGame();if(gameService){gameService.cleanup();}};},[gameService]);useEffect(()=>{if(gameOver && !gameReportedRef.current){const currentState = useSpaceFighterStore.getState();const status = currentState.lives <= 0 ? 'lose':'win';reportGameEnd(status);}if(!gameOver){gameReportedRef.current = false;}},[gameOver,reportGameEnd]);useEffect(()=>{if(gameOver && gameService){gameService.cleanup();}},[gameOver,gameService]);const difficultySettings = useMemo(()=> getDifficultySettings(difficulty),[difficulty]);const handleStartGame = useCallback(()=> wrapFunction(()=>{gameReportedRef.current = false;startGame();if(gameService){gameService.updateDifficultySettings(difficultySettings.asteroidSpeed,difficultySettings.asteroidSpawnInterval);gameService.startGameTimer(decrementTime);gameService.startAsteroidSpawning(addAsteroids);gameService.startPhysicsLoop(updateSpacecraft,updateAsteroid,removeAsteroid,()=> useSpaceFighterStore.getState().spacecraft,()=> useSpaceFighterStore.getState().asteroids);}},GameErrorType.INITIALIZATION_ERROR)(),[wrapFunction,startGame,gameService,difficultySettings,updateSpacecraft,decrementTime,addAsteroids,updateAsteroid,removeAsteroid]);const handleStopGame = useCallback(()=> wrapFunction(()=>{reportGameEnd('cancel');stopGame();if(gameService){gameService.cleanup();}},GameErrorType.UNKNOWN_ERROR)(),[wrapFunction,stopGame,gameService,reportGameEnd]);const handleResetGame = useCallback(()=> wrapFunction(()=>{if(gameService){gameService.cleanup();}resetGame();if(gameService){const initialSpacecraft = gameService.getInitialSpacecraft();updateSpacecraft(initialSpacecraft);}},GameErrorType.UNKNOWN_ERROR)(),[wrapFunction,gameService,resetGame,updateSpacecraft]);const gameControlButtonProps = useMemo(()=>({isPlaying,gameOver,onStartGame:handleStartGame,onStopGame:handleStopGame,startButtonText:"START FLYING",stopButtonText:"STOP GAME",startButtonSubtext:"Navigate through space!",stopButtonSubtext:"End current game",startButtonColor:"#9370db",stopButtonColor:"#dc2626",startButtonBorderColor:"#ba68c8",stopButtonBorderColor:"#f87171"}),[isPlaying,gameOver,handleStartGame,handleStopGame]);const gameOverModalProps = useMemo(()=>({isVisible:gameOver,score,onPlayAgain:handleResetGame,buttonText:"Fly Again!",primaryColor:"rgba(147,112,219,0.5)",borderColor:"rgba(147,112,219,0.5)",buttonColor:"#ffffff",buttonBorderColor:"#ffffff",buttonTextColor:"#9370db"}),[gameOver,score,handleResetGame]);const gameSettingsModalProps = useMemo(()=>({gameId:GAME_IDS.SPACE_FIGHTER,settings:settings || DEFAULT_GAME_SETTINGS,onSettingsChange}),[settings,onSettingsChange]);return _jsx(View,{style:styles.container,children:_jsx(GestureHandlerRootView,{children:_jsxs(GameBackground,{children:[_jsx(GameArea,{}),_jsx(ScoreBoard,{offset:offset}),_jsx(GameControlButton,{...gameControlButtonProps}),_jsx(GameOverModal,{...gameOverModalProps}),_jsx(GameSettingsModal,{...gameSettingsModalProps})]})})});};const styles = StyleSheet.create({container:{flex:1}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useCallback","useMemo","View","StyleSheet","Dimensions","GestureHandlerRootView","useSpaceFighterStore","createSpaceFighterService","getDifficultySettings","ScoreBoard","GameArea","GameBackground","GameControlButton","GameOverModal","useGameErrorHandler","GameErrorType","GameSettingsModal","GAME_IDS","DEFAULT_GAME_SETTINGS","jsx","_jsx","jsxs","_jsxs","width","height","get","SpaceFighter","settings","onSettingsChange","difficulty","isPlaying","state","gameOver","score","setOffset","startGame","stopGame","resetGame","decrementTime","addAsteroids","removeAsteroid","updateAsteroid","updateSpacecraft","offset","wrapFunction","safeExecute","SPACE_FIGHTER","gameService","INITIALIZATION_ERROR","handleResetGame","cleanup","difficultySettings","handleStartGame","updateDifficultySettings","asteroidSpeed","asteroidSpawnInterval","startGameTimer","startAsteroidSpawning","startPhysicsLoop","
|
|
1
|
+
{"version":3,"names":["React","useEffect","useCallback","useMemo","View","StyleSheet","Dimensions","GestureHandlerRootView","useSpaceFighterStore","createSpaceFighterService","getDifficultySettings","ScoreBoard","GameArea","GameBackground","GameControlButton","GameOverModal","useGameErrorHandler","GameErrorType","GameSettingsModal","GAME_IDS","DEFAULT_GAME_SETTINGS","jsx","_jsx","jsxs","_jsxs","width","height","get","SpaceFighter","settings","onSettingsChange","onEndGame","difficulty","isPlaying","state","gameOver","score","gameReportedRef","useRef","reportGameEnd","status","current","currentState","getState","toString","setOffset","startGame","stopGame","resetGame","decrementTime","addAsteroids","removeAsteroid","updateAsteroid","updateSpacecraft","offset","wrapFunction","safeExecute","SPACE_FIGHTER","gameService","INITIALIZATION_ERROR","handleResetGame","cleanup","lives","difficultySettings","handleStartGame","updateDifficultySettings","asteroidSpeed","asteroidSpawnInterval","startGameTimer","startAsteroidSpawning","startPhysicsLoop","spacecraft","asteroids","handleStopGame","UNKNOWN_ERROR","initialSpacecraft","getInitialSpacecraft","gameControlButtonProps","onStartGame","onStopGame","startButtonText","stopButtonText","startButtonSubtext","stopButtonSubtext","startButtonColor","stopButtonColor","startButtonBorderColor","stopButtonBorderColor","gameOverModalProps","isVisible","onPlayAgain","buttonText","primaryColor","borderColor","buttonColor","buttonBorderColor","buttonTextColor","gameSettingsModalProps","gameId","style","styles","container","children","create","flex"],"sourceRoot":"../../../../src","sources":["games/space-fighter/SpaceFighter.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import React,{useEffect,useRef,useCallback,useMemo}from 'react';import{View,StyleSheet}from 'react-native';import{useSharedValue,withSpring,withTiming}from 'react-native-reanimated';import{playSound,GAME_SOUNDS}from "../../services/SoundsService.js";import{useWhackAMoleStore}from "./WhackAMoleStore.js";import{createWhackAMoleService,ANIMATION_CONFIG,GAME_CONFIG}from "./WhackAMoleService.js";import{ScoreBoard,GameGrid,GameBackground}from "./components/index.js";import{GameControlButton,GameOverModal}from "../../helpers/index.js";import{GameSettingsModal}from "../../helpers/GameSettingsModal.js";import{WHACK_A_MOLE_CONSTANTS}from "./WhackAMoleConstants.js";import{GAME_IDS,DEFAULT_GAME_SETTINGS}from "../../services/UtilsService.js";import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";export const WhackAMole =({settings = DEFAULT_GAME_SETTINGS,onSettingsChange})=>{const{score,timeLeft,isPlaying,gameOver,holes,startGame,stopGame,resetGame,whackMole,decrementTime,activateHole,deactivateHole,setHoles}= useWhackAMoleStore();const{difficulty = 'medium',enableSounds = true}= settings ||{};const gameDuration = GAME_CONFIG.GAME_DURATION;const gameConstants = React.useMemo(()=>({moleSpawnInterval:WHACK_A_MOLE_CONSTANTS.moleSpawnInterval[difficulty],moleVisibleDuration:WHACK_A_MOLE_CONSTANTS.moleVisibleDuration[difficulty],gridSize:WHACK_A_MOLE_CONSTANTS.gridSize[difficulty],pointsPerMole:WHACK_A_MOLE_CONSTANTS.pointsPerMole[difficulty]}),[difficulty]);const{moleSpawnInterval,moleVisibleDuration,gridSize,pointsPerMole}= gameConstants;const createHolesForGrid = useCallback(size =>{const totalHoles = size * size;return Array.from({length:totalHoles},(_,i)=>({id:i,isActive:false,position:{x:(i % size - 1)*(GAME_CONFIG.HOLE_SIZE + 20),y:Math.floor(i / size - 1)*(GAME_CONFIG.HOLE_SIZE + 20),z:0}}));},[]);const prevDifficultyRef = React.useRef(difficulty);useEffect(()=>{if(!isPlaying && !gameOver){const newHoles = createHolesForGrid(gridSize);setHoles(newHoles);}},[gridSize,isPlaying,gameOver,setHoles]);const maxHoles = 16;const moleAnimations = useRef(Array.from({length:maxHoles},()=> useSharedValue(0))).current;const hitAnimations = useRef(Array.from({length:maxHoles},()=> useSharedValue(0))).current;const gameService = useMemo(()=> createWhackAMoleService(moleAnimations,hitAnimations),[moleAnimations,hitAnimations]);const playHitSound = useCallback(()=>{playSound(GAME_SOUNDS.WHACK_A_MOLE.HIT,enableSounds);},[enableSounds]);const playMissSound = useCallback(()=>{playSound(GAME_SOUNDS.WHACK_A_MOLE.MISS,enableSounds);},[enableSounds]);const spawnMole = useCallback(()=>{const currentHoles = useWhackAMoleStore.getState().holes;const availableHoles = [];for(let i = 0;i < currentHoles.length;i++){if(currentHoles[i] && !currentHoles[i]?.isActive){availableHoles.push(i);}}gameService.spawnRandomMole(availableHoles,holeId =>{if(moleAnimations[holeId]){moleAnimations[holeId].value = withSpring(1,ANIMATION_CONFIG.MOLE_SPRING);activateHole(holeId);}},holeId =>{const currentState = useWhackAMoleStore.getState();if(holeId < currentState.holes.length && currentState.holes[holeId] && currentState.holes[holeId].isActive && moleAnimations[holeId]){playMissSound();moleAnimations[holeId].value = withSpring(0,ANIMATION_CONFIG.MOLE_SPRING);deactivateHole(holeId);}},moleVisibleDuration);},[playMissSound,activateHole,deactivateHole,moleVisibleDuration]);const handleStartGame = useCallback(()=>{startGame(gameDuration,gridSize);gameService.resetAnimations();gameService.startGameTimer(decrementTime);gameService.startMoleSpawning(spawnMole,moleSpawnInterval);},[gameDuration,gridSize,decrementTime,moleSpawnInterval,spawnMole]);const handleStopGame = useCallback(()=>{stopGame();gameService.cleanup();gameService.resetAnimations();},[stopGame]);const handleWhackMole = useCallback(holeId =>{const currentState = useWhackAMoleStore.getState();if(!currentState.isPlaying)return;if(holeId < 0 || holeId >= currentState.holes.length || !currentState.holes[holeId] || !currentState.holes[holeId].isActive)return;gameService.whackMole(holeId,()=>{playHitSound();whackMole(holeId,pointsPerMole);if(moleAnimations[holeId]){moleAnimations[holeId].value = withSpring(0,ANIMATION_CONFIG.MOLE_SPRING);}if(hitAnimations[holeId]){hitAnimations[holeId].value = withTiming(1,ANIMATION_CONFIG.HIT_TIMING,finished =>{if(finished && hitAnimations[holeId]){hitAnimations[holeId].value = withTiming(0,ANIMATION_CONFIG.HIT_TIMING);}});}});},[playHitSound,whackMole,pointsPerMole]);const handleResetGame = useCallback(()=>{gameService.cleanup();resetGame();gameService.resetAnimations();},[resetGame]);useEffect(()=>{if(gameOver || !isPlaying){gameService.cleanup();}},[gameOver,isPlaying]);useEffect(()=>{return()=>{handleResetGame();};},[handleResetGame]);const gameControlButtonProps = useMemo(()=>({isPlaying,gameOver,onStartGame:handleStartGame,onStopGame:handleStopGame,startButtonText:"START WHACKING",stopButtonText:"STOP GAME",startButtonSubtext:"Whack moles to score!",stopButtonSubtext:"End current game",startButtonColor:"#10b981",stopButtonColor:"#dc2626",startButtonBorderColor:"#34d399",stopButtonBorderColor:"#f87171"}),[isPlaying,gameOver,handleStartGame,handleStopGame]);const gameOverModalProps = useMemo(()=>({isVisible:gameOver,score,onPlayAgain:handleResetGame,buttonText:"Whack Again!",primaryColor:"rgba(16,185,129,0.5)",borderColor:"rgba(16,185,129,0.5)",buttonColor:"#ffffff",buttonBorderColor:"#ffffff",buttonTextColor:"#10b981"}),[gameOver,score,handleResetGame]);React.useEffect(()=>{if(isPlaying && prevDifficultyRef.current !== difficulty){stopGame();gameService.cleanup();gameService.resetAnimations();requestAnimationFrame(()=>{startGame(gameDuration,gridSize);gameService.resetAnimations();gameService.startGameTimer(decrementTime);gameService.startMoleSpawning(spawnMole,moleSpawnInterval);});}prevDifficultyRef.current = difficulty;},[difficulty,isPlaying,gameDuration,gridSize,moleSpawnInterval,startGame,stopGame,decrementTime,spawnMole]);const offset = settings?.offset ?? 0;return _jsx(GameBackground,{offset:offset,children:_jsxs(View,{style:[styles.container,{paddingTop:offset}],children:[_jsx(ScoreBoard,{score:score,timeLeft:timeLeft,offset:offset}),_jsx(GameGrid,{holes:holes,moleAnimations:moleAnimations,hitAnimations:hitAnimations,onHolePress:handleWhackMole,gridSize:gridSize}),_jsx(GameControlButton,{...gameControlButtonProps}),_jsx(GameOverModal,{...gameOverModalProps}),_jsx(GameSettingsModal,{gameId:GAME_IDS.WHACK_A_MOLE,settings:settings || DEFAULT_GAME_SETTINGS,onSettingsChange:onSettingsChange})]})});};const styles = StyleSheet.create({container:{flex:1,backgroundColor:'transparent',paddingTop:0,paddingHorizontal:20,paddingBottom:0}});
|
|
1
|
+
"use strict";import React,{useEffect,useRef,useCallback,useMemo}from 'react';import{View,StyleSheet}from 'react-native';import{useSharedValue,withSpring,withTiming}from 'react-native-reanimated';import{playSound,GAME_SOUNDS}from "../../services/SoundsService.js";import{useWhackAMoleStore}from "./WhackAMoleStore.js";import{createWhackAMoleService,ANIMATION_CONFIG,GAME_CONFIG}from "./WhackAMoleService.js";import{ScoreBoard,GameGrid,GameBackground}from "./components/index.js";import{GameControlButton,GameOverModal}from "../../helpers/index.js";import{GameSettingsModal}from "../../helpers/GameSettingsModal.js";import{WHACK_A_MOLE_CONSTANTS}from "./WhackAMoleConstants.js";import{GAME_IDS,DEFAULT_GAME_SETTINGS}from "../../services/UtilsService.js";import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";export const WhackAMole =({settings = DEFAULT_GAME_SETTINGS,onSettingsChange,onEndGame})=>{const{score,timeLeft,isPlaying,gameOver,holes,startGame,stopGame,resetGame,whackMole,decrementTime,activateHole,deactivateHole,setHoles}= useWhackAMoleStore();const gameReportedRef = useRef(false);const reportGameEnd = useCallback(status =>{if(onEndGame && !gameReportedRef.current){const currentState = useWhackAMoleStore.getState();onEndGame({status,score:currentState.score.toString()});gameReportedRef.current = true;}},[onEndGame]);const{difficulty = 'medium',enableSounds = true}= settings ||{};const gameDuration = GAME_CONFIG.GAME_DURATION;const gameConstants = React.useMemo(()=>({moleSpawnInterval:WHACK_A_MOLE_CONSTANTS.moleSpawnInterval[difficulty],moleVisibleDuration:WHACK_A_MOLE_CONSTANTS.moleVisibleDuration[difficulty],gridSize:WHACK_A_MOLE_CONSTANTS.gridSize[difficulty],pointsPerMole:WHACK_A_MOLE_CONSTANTS.pointsPerMole[difficulty]}),[difficulty]);const{moleSpawnInterval,moleVisibleDuration,gridSize,pointsPerMole}= gameConstants;const createHolesForGrid = useCallback(size =>{const totalHoles = size * size;return Array.from({length:totalHoles},(_,i)=>({id:i,isActive:false,position:{x:(i % size - 1)*(GAME_CONFIG.HOLE_SIZE + 20),y:Math.floor(i / size - 1)*(GAME_CONFIG.HOLE_SIZE + 20),z:0}}));},[]);const prevDifficultyRef = React.useRef(difficulty);useEffect(()=>{if(!isPlaying && !gameOver){const newHoles = createHolesForGrid(gridSize);setHoles(newHoles);}},[gridSize,isPlaying,gameOver,setHoles]);const maxHoles = 16;const moleAnimations = useRef(Array.from({length:maxHoles},()=> useSharedValue(0))).current;const hitAnimations = useRef(Array.from({length:maxHoles},()=> useSharedValue(0))).current;const gameService = useMemo(()=> createWhackAMoleService(moleAnimations,hitAnimations),[moleAnimations,hitAnimations]);const playHitSound = useCallback(()=>{playSound(GAME_SOUNDS.WHACK_A_MOLE.HIT,enableSounds);},[enableSounds]);const playMissSound = useCallback(()=>{playSound(GAME_SOUNDS.WHACK_A_MOLE.MISS,enableSounds);},[enableSounds]);const spawnMole = useCallback(()=>{const currentHoles = useWhackAMoleStore.getState().holes;const availableHoles = [];for(let i = 0;i < currentHoles.length;i++){if(currentHoles[i] && !currentHoles[i]?.isActive){availableHoles.push(i);}}gameService.spawnRandomMole(availableHoles,holeId =>{if(moleAnimations[holeId]){moleAnimations[holeId].value = withSpring(1,ANIMATION_CONFIG.MOLE_SPRING);activateHole(holeId);}},holeId =>{const currentState = useWhackAMoleStore.getState();if(holeId < currentState.holes.length && currentState.holes[holeId] && currentState.holes[holeId].isActive && moleAnimations[holeId]){playMissSound();moleAnimations[holeId].value = withSpring(0,ANIMATION_CONFIG.MOLE_SPRING);deactivateHole(holeId);}},moleVisibleDuration);},[playMissSound,activateHole,deactivateHole,moleVisibleDuration]);const handleStartGame = useCallback(()=>{gameReportedRef.current = false;startGame(gameDuration,gridSize);gameService.resetAnimations();gameService.startGameTimer(decrementTime);gameService.startMoleSpawning(spawnMole,moleSpawnInterval);},[gameDuration,gridSize,decrementTime,moleSpawnInterval,spawnMole]);const handleStopGame = useCallback(()=>{reportGameEnd('cancel');stopGame();gameService.cleanup();gameService.resetAnimations();},[stopGame,reportGameEnd]);const handleWhackMole = useCallback(holeId =>{const currentState = useWhackAMoleStore.getState();if(!currentState.isPlaying)return;if(holeId < 0 || holeId >= currentState.holes.length || !currentState.holes[holeId] || !currentState.holes[holeId].isActive)return;gameService.whackMole(holeId,()=>{playHitSound();whackMole(holeId,pointsPerMole);if(moleAnimations[holeId]){moleAnimations[holeId].value = withSpring(0,ANIMATION_CONFIG.MOLE_SPRING);}if(hitAnimations[holeId]){hitAnimations[holeId].value = withTiming(1,ANIMATION_CONFIG.HIT_TIMING,finished =>{if(finished && hitAnimations[holeId]){hitAnimations[holeId].value = withTiming(0,ANIMATION_CONFIG.HIT_TIMING);}});}});},[playHitSound,whackMole,pointsPerMole]);const handleResetGame = useCallback(()=>{gameService.cleanup();resetGame();gameService.resetAnimations();},[resetGame]);useEffect(()=>{if(gameOver && !gameReportedRef.current){reportGameEnd('win');}if(!gameOver){gameReportedRef.current = false;}},[gameOver,reportGameEnd]);useEffect(()=>{if(gameOver || !isPlaying){gameService.cleanup();}},[gameOver,isPlaying]);useEffect(()=>{return()=>{handleResetGame();};},[handleResetGame]);const gameControlButtonProps = useMemo(()=>({isPlaying,gameOver,onStartGame:handleStartGame,onStopGame:handleStopGame,startButtonText:"START WHACKING",stopButtonText:"STOP GAME",startButtonSubtext:"Whack moles to score!",stopButtonSubtext:"End current game",startButtonColor:"#10b981",stopButtonColor:"#dc2626",startButtonBorderColor:"#34d399",stopButtonBorderColor:"#f87171"}),[isPlaying,gameOver,handleStartGame,handleStopGame]);const gameOverModalProps = useMemo(()=>({isVisible:gameOver,score,onPlayAgain:handleResetGame,buttonText:"Whack Again!",primaryColor:"rgba(16,185,129,0.5)",borderColor:"rgba(16,185,129,0.5)",buttonColor:"#ffffff",buttonBorderColor:"#ffffff",buttonTextColor:"#10b981"}),[gameOver,score,handleResetGame]);React.useEffect(()=>{if(isPlaying && prevDifficultyRef.current !== difficulty){stopGame();gameService.cleanup();gameService.resetAnimations();requestAnimationFrame(()=>{startGame(gameDuration,gridSize);gameService.resetAnimations();gameService.startGameTimer(decrementTime);gameService.startMoleSpawning(spawnMole,moleSpawnInterval);});}prevDifficultyRef.current = difficulty;},[difficulty,isPlaying,gameDuration,gridSize,moleSpawnInterval,startGame,stopGame,decrementTime,spawnMole]);const offset = settings?.offset ?? 0;return _jsx(GameBackground,{offset:offset,children:_jsxs(View,{style:[styles.container,{paddingTop:offset}],children:[_jsx(ScoreBoard,{score:score,timeLeft:timeLeft,offset:offset}),_jsx(GameGrid,{holes:holes,moleAnimations:moleAnimations,hitAnimations:hitAnimations,onHolePress:handleWhackMole,gridSize:gridSize}),_jsx(GameControlButton,{...gameControlButtonProps}),_jsx(GameOverModal,{...gameOverModalProps}),_jsx(GameSettingsModal,{gameId:GAME_IDS.WHACK_A_MOLE,settings:settings || DEFAULT_GAME_SETTINGS,onSettingsChange:onSettingsChange})]})});};const styles = StyleSheet.create({container:{flex:1,backgroundColor:'transparent',paddingTop:0,paddingHorizontal:20,paddingBottom:0}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useRef","useCallback","useMemo","View","StyleSheet","useSharedValue","withSpring","withTiming","playSound","GAME_SOUNDS","useWhackAMoleStore","createWhackAMoleService","ANIMATION_CONFIG","GAME_CONFIG","ScoreBoard","GameGrid","GameBackground","GameControlButton","GameOverModal","GameSettingsModal","WHACK_A_MOLE_CONSTANTS","GAME_IDS","DEFAULT_GAME_SETTINGS","jsx","_jsx","jsxs","_jsxs","WhackAMole","settings","onSettingsChange","score","timeLeft","isPlaying","gameOver","holes","startGame","stopGame","resetGame","whackMole","decrementTime","activateHole","deactivateHole","setHoles","difficulty","enableSounds","gameDuration","GAME_DURATION","gameConstants","moleSpawnInterval","moleVisibleDuration","gridSize","pointsPerMole","createHolesForGrid","size","totalHoles","Array","from","length","_","i","id","isActive","position","x","HOLE_SIZE","y","Math","floor","z","prevDifficultyRef","newHoles","maxHoles","moleAnimations","current","hitAnimations","gameService","playHitSound","WHACK_A_MOLE","HIT","playMissSound","MISS","spawnMole","currentHoles","getState","availableHoles","push","spawnRandomMole","holeId","value","MOLE_SPRING","currentState","handleStartGame","resetAnimations","startGameTimer","startMoleSpawning","handleStopGame","cleanup","handleWhackMole","HIT_TIMING","finished","handleResetGame","gameControlButtonProps","onStartGame","onStopGame","startButtonText","stopButtonText","startButtonSubtext","stopButtonSubtext","startButtonColor","stopButtonColor","startButtonBorderColor","stopButtonBorderColor","gameOverModalProps","isVisible","onPlayAgain","buttonText","primaryColor","borderColor","buttonColor","buttonBorderColor","buttonTextColor","requestAnimationFrame","offset","children","style","styles","container","paddingTop","onHolePress","gameId","create","flex","backgroundColor","paddingHorizontal","paddingBottom"],"sourceRoot":"../../../../src","sources":["games/whack-a-mole/WhackAMole.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","useCallback","useMemo","View","StyleSheet","useSharedValue","withSpring","withTiming","playSound","GAME_SOUNDS","useWhackAMoleStore","createWhackAMoleService","ANIMATION_CONFIG","GAME_CONFIG","ScoreBoard","GameGrid","GameBackground","GameControlButton","GameOverModal","GameSettingsModal","WHACK_A_MOLE_CONSTANTS","GAME_IDS","DEFAULT_GAME_SETTINGS","jsx","_jsx","jsxs","_jsxs","WhackAMole","settings","onSettingsChange","onEndGame","score","timeLeft","isPlaying","gameOver","holes","startGame","stopGame","resetGame","whackMole","decrementTime","activateHole","deactivateHole","setHoles","gameReportedRef","reportGameEnd","status","current","currentState","getState","toString","difficulty","enableSounds","gameDuration","GAME_DURATION","gameConstants","moleSpawnInterval","moleVisibleDuration","gridSize","pointsPerMole","createHolesForGrid","size","totalHoles","Array","from","length","_","i","id","isActive","position","x","HOLE_SIZE","y","Math","floor","z","prevDifficultyRef","newHoles","maxHoles","moleAnimations","hitAnimations","gameService","playHitSound","WHACK_A_MOLE","HIT","playMissSound","MISS","spawnMole","currentHoles","availableHoles","push","spawnRandomMole","holeId","value","MOLE_SPRING","handleStartGame","resetAnimations","startGameTimer","startMoleSpawning","handleStopGame","cleanup","handleWhackMole","HIT_TIMING","finished","handleResetGame","gameControlButtonProps","onStartGame","onStopGame","startButtonText","stopButtonText","startButtonSubtext","stopButtonSubtext","startButtonColor","stopButtonColor","startButtonBorderColor","stopButtonBorderColor","gameOverModalProps","isVisible","onPlayAgain","buttonText","primaryColor","borderColor","buttonColor","buttonBorderColor","buttonTextColor","requestAnimationFrame","offset","children","style","styles","container","paddingTop","onHolePress","gameId","create","flex","backgroundColor","paddingHorizontal","paddingBottom"],"sourceRoot":"../../../../src","sources":["games/whack-a-mole/WhackAMole.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import React from 'react';import{View,TouchableOpacity,Text,StyleSheet,Modal}from 'react-native';import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";export const GameOverModal = React.memo(({isVisible,score,onPlayAgain,buttonText = "Play Again",primaryColor = "rgba(59,130,246,0.8)",borderColor = "rgba(59,130,246,0.9)",buttonColor = "#10b981",buttonBorderColor = "#34d399",buttonTextColor = "#ffffff",scoreLabel = "Final Score",scoreFormatter})=>{const displayScore = scoreFormatter ? scoreFormatter(score):score.toString();return _jsx(Modal,{visible:isVisible,animationType:"fade",transparent:true,onRequestClose:onPlayAgain,children:_jsx(View,{style:styles.gameOverOverlay,children:_jsx(View,{style:[styles.gameOverModal,{backgroundColor:primaryColor,borderColor:borderColor}],children:_jsxs(View,{style:styles.modalContent,children:[_jsx(Text,{style:styles.gameOverTitle,children:"Game Over!"}),_jsxs(View,{style:[styles.finalScoreContainer,{backgroundColor:'rgba(255,255,255,0.2)'}],children:[_jsx(Text,{style:styles.finalScoreLabel,children:scoreLabel}),_jsx(Text,{style:styles.finalScoreValue,children:displayScore})]}),_jsx(View,{style:styles.playAgainContainer,children:_jsx(TouchableOpacity,{style:[styles.playAgainButton,{backgroundColor:buttonColor,borderColor:buttonBorderColor}],onPress:onPlayAgain,activeOpacity:0.8,children:_jsx(Text,{style:[styles.buttonText,{color:buttonTextColor}],children:buttonText})})})]})})})});});const styles = StyleSheet.create({gameOverOverlay:{flex:1,justifyContent:'center',alignItems:'center',backgroundColor:'rgba(0,0,0,0.
|
|
1
|
+
"use strict";import React from 'react';import{View,TouchableOpacity,Text,StyleSheet,Modal}from 'react-native';import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";export const GameOverModal = React.memo(({isVisible,score,onPlayAgain,buttonText = "Play Again",primaryColor = "rgba(59,130,246,0.8)",borderColor = "rgba(59,130,246,0.9)",buttonColor = "#10b981",buttonBorderColor = "#34d399",buttonTextColor = "#ffffff",scoreLabel = "Final Score",scoreFormatter})=>{const displayScore = scoreFormatter ? scoreFormatter(score):score.toString();return _jsx(Modal,{visible:isVisible,animationType:"fade",transparent:true,onRequestClose:onPlayAgain,children:_jsx(View,{style:styles.gameOverOverlay,children:_jsx(View,{style:[styles.gameOverModal,{backgroundColor:primaryColor,borderColor:borderColor}],children:_jsxs(View,{style:styles.modalContent,children:[_jsx(Text,{style:styles.gameOverTitle,children:"Game Over!"}),_jsxs(View,{style:[styles.finalScoreContainer,{backgroundColor:'rgba(255,255,255,0.2)'}],children:[_jsx(Text,{style:styles.finalScoreLabel,children:scoreLabel}),_jsx(Text,{style:styles.finalScoreValue,children:displayScore})]}),_jsx(View,{style:styles.playAgainContainer,children:_jsx(TouchableOpacity,{style:[styles.playAgainButton,{backgroundColor:buttonColor,borderColor:buttonBorderColor}],onPress:onPlayAgain,activeOpacity:0.8,children:_jsx(Text,{style:[styles.buttonText,{color:buttonTextColor}],children:buttonText})})})]})})})});});const styles = StyleSheet.create({gameOverOverlay:{flex:1,justifyContent:'center',alignItems:'center',backgroundColor:'rgba(0,0,0,0.8)'},gameOverModal:{borderRadius:24,minWidth:'80%',elevation:12},modalContent:{padding:40,alignItems:'center'},gameOverTitle:{fontSize:30,fontWeight:'bold',color:'#ffffff',marginBottom:32,textAlign:'center'},finalScoreContainer:{alignItems:'center',marginBottom:32,borderRadius:16,padding:20,minWidth:150},finalScoreLabel:{fontSize:18,color:'#ffffff',fontWeight:'bold',marginBottom:8},finalScoreValue:{fontSize:48,color:'#facc15',fontWeight:'bold',textAlign:'center'},playAgainContainer:{alignItems:'center'},playAgainButton:{paddingHorizontal:40,paddingVertical:20,borderRadius:24,shadowColor:'#000',shadowOffset:{width:0,height:2},shadowOpacity:0.25,shadowRadius:3.84,elevation:5,borderWidth:2},buttonText:{fontSize:18,fontWeight:'bold',color:'#ffffff',textAlign:'center',lineHeight:24}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","TouchableOpacity","Text","StyleSheet","Modal","jsx","_jsx","jsxs","_jsxs","GameOverModal","memo","isVisible","score","onPlayAgain","buttonText","primaryColor","borderColor","buttonColor","buttonBorderColor","buttonTextColor","scoreLabel","scoreFormatter","displayScore","toString","visible","animationType","transparent","onRequestClose","children","style","styles","gameOverOverlay","gameOverModal","backgroundColor","modalContent","gameOverTitle","finalScoreContainer","finalScoreLabel","finalScoreValue","playAgainContainer","playAgainButton","onPress","activeOpacity","color","create","flex","justifyContent","alignItems","borderRadius","minWidth","
|
|
1
|
+
{"version":3,"names":["React","View","TouchableOpacity","Text","StyleSheet","Modal","jsx","_jsx","jsxs","_jsxs","GameOverModal","memo","isVisible","score","onPlayAgain","buttonText","primaryColor","borderColor","buttonColor","buttonBorderColor","buttonTextColor","scoreLabel","scoreFormatter","displayScore","toString","visible","animationType","transparent","onRequestClose","children","style","styles","gameOverOverlay","gameOverModal","backgroundColor","modalContent","gameOverTitle","finalScoreContainer","finalScoreLabel","finalScoreValue","playAgainContainer","playAgainButton","onPress","activeOpacity","color","create","flex","justifyContent","alignItems","borderRadius","minWidth","elevation","padding","fontSize","fontWeight","marginBottom","textAlign","paddingHorizontal","paddingVertical","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","borderWidth","lineHeight"],"sourceRoot":"../../../src","sources":["helpers/GameOverModal.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import React from 'react';import{View,Text,ScrollView,TouchableOpacity,Switch,StyleSheet,Modal}from 'react-native';import{getGameTheme,getGameDifficultyDescriptions,getGameTitle}from "../services/GamesConstants.js";import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";export const GameSettingsModal =({gameId,settings,onSettingsChange =()=> undefined})=>{const theme = getGameTheme(gameId);const difficultyDescriptions = getGameDifficultyDescriptions(gameId);const title = `${getGameTitle(gameId)}Settings`;const{isVisible,difficulty,enableSounds,enableHaptics}= settings;const handleDifficultyChange = newDifficulty =>{onSettingsChange({...settings,difficulty:newDifficulty});};const handleSoundToggle = enabled =>{onSettingsChange({...settings,enableSounds:enabled});};const handleHapticToggle = enabled =>{onSettingsChange({...settings,enableHaptics:enabled});};const handleOnClose =()=>{onSettingsChange({...settings,isVisible:false});};return _jsx(Modal,{visible:isVisible,animationType:"fade",transparent:true,onRequestClose:handleOnClose,children:_jsx(View,{style:styles.overlay,children:_jsxs(View,{style:[styles.container,{backgroundColor:theme.backgroundColor}],children:[_jsxs(View,{style:[styles.header,{backgroundColor:theme.headerBackgroundColor}],children:[_jsx(Text,{style:[styles.headerTitle,{color:theme.headerTextColor}],children:title}),_jsx(TouchableOpacity,{onPress:handleOnClose,style:styles.closeButton,children:_jsx(Text,{style:[styles.closeButtonText,{color:theme.headerTextColor}],children:"\u2715"})})]}),_jsxs(ScrollView,{style:styles.scrollView,contentContainerStyle:styles.scrollContent,children:[_jsxs(View,{style:[styles.section,{backgroundColor:theme.sectionBackgroundColor}],children:[_jsx(Text,{style:[styles.sectionTitle,{color:theme.sectionTitleColor}],children:"Difficulty Level"}),_jsx(View,{style:styles.difficultyRow,children:['easy','medium','hard'].map(level => _jsx(TouchableOpacity,{onPress:()=> handleDifficultyChange(level),style:[styles.difficultyButton,{backgroundColor:difficulty === level ? theme.buttonSelectedColor:theme.buttonUnselectedColor}],children:_jsx(Text,{style:[styles.buttonText,styles.capitalize,{color:difficulty === level ? theme.buttonSelectedTextColor:theme.buttonUnselectedTextColor}],children:level})},level))}),_jsx(View,{style:styles.infoBox,children:_jsxs(Text,{style:[styles.infoText,{color:theme.infoTextColor}],children:[_jsx(Text,{style:styles.boldText,children:"Easy:"})," ",typeof difficultyDescriptions.easy === 'string' ? difficultyDescriptions.easy:difficultyDescriptions.easy.description,'\n',_jsx(Text,{style:styles.boldText,children:"Medium:"})," ",typeof difficultyDescriptions.medium === 'string' ? difficultyDescriptions.medium:difficultyDescriptions.medium.description,'\n',_jsx(Text,{style:styles.boldText,children:"Hard:"})," ",typeof difficultyDescriptions.hard === 'string' ? difficultyDescriptions.hard:difficultyDescriptions.hard.description]})})]}),_jsx(View,{style:[styles.section,{backgroundColor:theme.sectionBackgroundColor}],children:_jsxs(View,{style:styles.toggleContainer,children:[_jsxs(View,{children:[_jsx(Text,{style:[styles.toggleTitle,{color:theme.sectionTitleColor}],children:"Sound Effects"}),_jsx(Text,{style:[styles.toggleSubtitle,{color:theme.infoTextColor}],children:"Play sounds during gameplay"})]}),_jsx(Switch,{value:enableSounds,onValueChange:handleSoundToggle,trackColor:{false:theme.switchTrackColorFalse,true:theme.switchTrackColorTrue},thumbColor:theme.switchThumbColor})]})}),_jsx(View,{style:[styles.section,{backgroundColor:theme.sectionBackgroundColor}],children:_jsxs(View,{style:styles.toggleContainer,children:[_jsxs(View,{children:[_jsx(Text,{style:[styles.toggleTitle,{color:theme.sectionTitleColor}],children:"Haptic Feedback"}),_jsx(Text,{style:[styles.toggleSubtitle,{color:theme.infoTextColor}],children:"Vibration feedback for interactions"})]}),_jsx(Switch,{value:enableHaptics,onValueChange:handleHapticToggle,trackColor:{false:theme.switchTrackColorFalse,true:theme.switchTrackColorTrue},thumbColor:theme.switchThumbColor})]})})]})]})})});};const styles = StyleSheet.create({overlay:{flex:1,backgroundColor:'rgba(0,0,0,0.
|
|
1
|
+
"use strict";import React from 'react';import{View,Text,ScrollView,TouchableOpacity,Switch,StyleSheet,Modal}from 'react-native';import{getGameTheme,getGameDifficultyDescriptions,getGameTitle}from "../services/GamesConstants.js";import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";export const GameSettingsModal =({gameId,settings,onSettingsChange =()=> undefined})=>{const theme = getGameTheme(gameId);const difficultyDescriptions = getGameDifficultyDescriptions(gameId);const title = `${getGameTitle(gameId)}Settings`;const{isVisible,difficulty,enableSounds,enableHaptics}= settings;const handleDifficultyChange = newDifficulty =>{onSettingsChange({...settings,difficulty:newDifficulty});};const handleSoundToggle = enabled =>{onSettingsChange({...settings,enableSounds:enabled});};const handleHapticToggle = enabled =>{onSettingsChange({...settings,enableHaptics:enabled});};const handleOnClose =()=>{onSettingsChange({...settings,isVisible:false});};return _jsx(Modal,{visible:isVisible,animationType:"fade",transparent:true,onRequestClose:handleOnClose,children:_jsx(View,{style:styles.overlay,children:_jsxs(View,{style:[styles.container,{backgroundColor:theme.backgroundColor}],children:[_jsxs(View,{style:[styles.header,{backgroundColor:theme.headerBackgroundColor}],children:[_jsx(Text,{style:[styles.headerTitle,{color:theme.headerTextColor}],children:title}),_jsx(TouchableOpacity,{onPress:handleOnClose,style:styles.closeButton,children:_jsx(Text,{style:[styles.closeButtonText,{color:theme.headerTextColor}],children:"\u2715"})})]}),_jsxs(ScrollView,{style:styles.scrollView,contentContainerStyle:styles.scrollContent,children:[_jsxs(View,{style:[styles.section,{backgroundColor:theme.sectionBackgroundColor}],children:[_jsx(Text,{style:[styles.sectionTitle,{color:theme.sectionTitleColor}],children:"Difficulty Level"}),_jsx(View,{style:styles.difficultyRow,children:['easy','medium','hard'].map(level => _jsx(TouchableOpacity,{onPress:()=> handleDifficultyChange(level),style:[styles.difficultyButton,{backgroundColor:difficulty === level ? theme.buttonSelectedColor:theme.buttonUnselectedColor}],children:_jsx(Text,{style:[styles.buttonText,styles.capitalize,{color:difficulty === level ? theme.buttonSelectedTextColor:theme.buttonUnselectedTextColor}],children:level})},level))}),_jsx(View,{style:styles.infoBox,children:_jsxs(Text,{style:[styles.infoText,{color:theme.infoTextColor}],children:[_jsx(Text,{style:styles.boldText,children:"Easy:"})," ",typeof difficultyDescriptions.easy === 'string' ? difficultyDescriptions.easy:difficultyDescriptions.easy.description,'\n',_jsx(Text,{style:styles.boldText,children:"Medium:"})," ",typeof difficultyDescriptions.medium === 'string' ? difficultyDescriptions.medium:difficultyDescriptions.medium.description,'\n',_jsx(Text,{style:styles.boldText,children:"Hard:"})," ",typeof difficultyDescriptions.hard === 'string' ? difficultyDescriptions.hard:difficultyDescriptions.hard.description]})})]}),_jsx(View,{style:[styles.section,{backgroundColor:theme.sectionBackgroundColor}],children:_jsxs(View,{style:styles.toggleContainer,children:[_jsxs(View,{children:[_jsx(Text,{style:[styles.toggleTitle,{color:theme.sectionTitleColor}],children:"Sound Effects"}),_jsx(Text,{style:[styles.toggleSubtitle,{color:theme.infoTextColor}],children:"Play sounds during gameplay"})]}),_jsx(Switch,{value:enableSounds,onValueChange:handleSoundToggle,trackColor:{false:theme.switchTrackColorFalse,true:theme.switchTrackColorTrue},thumbColor:theme.switchThumbColor})]})}),_jsx(View,{style:[styles.section,{backgroundColor:theme.sectionBackgroundColor}],children:_jsxs(View,{style:styles.toggleContainer,children:[_jsxs(View,{children:[_jsx(Text,{style:[styles.toggleTitle,{color:theme.sectionTitleColor}],children:"Haptic Feedback"}),_jsx(Text,{style:[styles.toggleSubtitle,{color:theme.infoTextColor}],children:"Vibration feedback for interactions"})]}),_jsx(Switch,{value:enableHaptics,onValueChange:handleHapticToggle,trackColor:{false:theme.switchTrackColorFalse,true:theme.switchTrackColorTrue},thumbColor:theme.switchThumbColor})]})})]})]})})});};const styles = StyleSheet.create({overlay:{flex:1,backgroundColor:'rgba(0,0,0,0.8)',justifyContent:'center',alignItems:'center',padding:20},container:{width:'95%',maxWidth:600,maxHeight:'95%',minHeight:'60%',borderRadius:10,overflow:'hidden'},header:{flexDirection:'row',justifyContent:'space-between',alignItems:'center',padding:10,paddingHorizontal:16},headerTitle:{fontSize:20,fontWeight:'semibold'},closeButton:{padding:8},closeButtonText:{fontSize:18,fontWeight:'semibold'},scrollView:{flex:1,padding:10},scrollContent:{flexGrow:1,paddingBottom:20},section:{borderRadius:12,padding:16,marginBottom:16},sectionTitle:{fontSize:16,fontWeight:'semibold',marginBottom:10},difficultyRow:{flexDirection:'row',justifyContent:'space-between',marginBottom:12},difficultyButton:{flex:1,paddingVertical:12,paddingHorizontal:8,borderRadius:8,marginHorizontal:4,alignItems:'center'},buttonText:{fontSize:16,fontWeight:'600'},capitalize:{textTransform:'capitalize'},infoBox:{backgroundColor:'rgba(255,255,255,0.1)',borderRadius:8,padding:12},infoText:{fontSize:14,lineHeight:20},boldText:{fontWeight:'semibold'},toggleContainer:{flexDirection:'row',justifyContent:'space-between',alignItems:'center'},toggleTitle:{fontSize:16,fontWeight:'semibold'},toggleSubtitle:{fontSize:14,marginTop:2}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","Text","ScrollView","TouchableOpacity","Switch","StyleSheet","Modal","getGameTheme","getGameDifficultyDescriptions","getGameTitle","jsx","_jsx","jsxs","_jsxs","GameSettingsModal","gameId","settings","onSettingsChange","undefined","theme","difficultyDescriptions","title","isVisible","difficulty","enableSounds","enableHaptics","handleDifficultyChange","newDifficulty","handleSoundToggle","enabled","handleHapticToggle","handleOnClose","visible","animationType","transparent","onRequestClose","children","style","styles","overlay","container","backgroundColor","header","headerBackgroundColor","headerTitle","color","headerTextColor","onPress","closeButton","closeButtonText","scrollView","contentContainerStyle","scrollContent","section","sectionBackgroundColor","sectionTitle","sectionTitleColor","difficultyRow","map","level","difficultyButton","buttonSelectedColor","buttonUnselectedColor","buttonText","capitalize","buttonSelectedTextColor","buttonUnselectedTextColor","infoBox","infoText","infoTextColor","boldText","easy","description","medium","hard","toggleContainer","toggleTitle","toggleSubtitle","value","onValueChange","trackColor","false","switchTrackColorFalse","true","switchTrackColorTrue","thumbColor","switchThumbColor","create","flex","justifyContent","alignItems","padding","width","maxWidth","maxHeight","minHeight","borderRadius","
|
|
1
|
+
{"version":3,"names":["React","View","Text","ScrollView","TouchableOpacity","Switch","StyleSheet","Modal","getGameTheme","getGameDifficultyDescriptions","getGameTitle","jsx","_jsx","jsxs","_jsxs","GameSettingsModal","gameId","settings","onSettingsChange","undefined","theme","difficultyDescriptions","title","isVisible","difficulty","enableSounds","enableHaptics","handleDifficultyChange","newDifficulty","handleSoundToggle","enabled","handleHapticToggle","handleOnClose","visible","animationType","transparent","onRequestClose","children","style","styles","overlay","container","backgroundColor","header","headerBackgroundColor","headerTitle","color","headerTextColor","onPress","closeButton","closeButtonText","scrollView","contentContainerStyle","scrollContent","section","sectionBackgroundColor","sectionTitle","sectionTitleColor","difficultyRow","map","level","difficultyButton","buttonSelectedColor","buttonUnselectedColor","buttonText","capitalize","buttonSelectedTextColor","buttonUnselectedTextColor","infoBox","infoText","infoTextColor","boldText","easy","description","medium","hard","toggleContainer","toggleTitle","toggleSubtitle","value","onValueChange","trackColor","false","switchTrackColorFalse","true","switchTrackColorTrue","thumbColor","switchThumbColor","create","flex","justifyContent","alignItems","padding","width","maxWidth","maxHeight","minHeight","borderRadius","overflow","flexDirection","paddingHorizontal","fontSize","fontWeight","flexGrow","paddingBottom","marginBottom","paddingVertical","marginHorizontal","textTransform","lineHeight","marginTop"],"sourceRoot":"../../../src","sources":["helpers/GameSettingsModal.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import React from 'react';import{View}from 'react-native';import{jsx as _jsx}from "react/jsx-runtime";export const ScoreBoardContainer = React.memo(({children,offset = 0,backgroundColor = 'rgba(0,0,0,0.7)',borderColor = 'rgba(255,255,255,0.3)'})=>{const
|
|
1
|
+
"use strict";import React from 'react';import{View}from 'react-native';import{jsx as _jsx}from "react/jsx-runtime";export const ScoreBoardContainer = React.memo(({children,offset = 0,backgroundColor = 'rgba(0,0,0,0.7)',borderColor = 'rgba(255,255,255,0.3)'})=>{const wrapperStyle = React.useMemo(()=>({position:'absolute',top:0,left:0,right:0,zIndex:10,alignItems:'center',paddingHorizontal:15,marginTop:offset > 0 ? offset + 30:15}),[offset]);const containerStyle = React.useMemo(()=>({maxWidth:600,width:'100%',backgroundColor,borderColor,borderWidth:2,padding:15,borderRadius:15}),[backgroundColor,borderColor]);return _jsx(View,{style:wrapperStyle,children:_jsx(View,{style:containerStyle,children:children})});});ScoreBoardContainer.displayName = 'ScoreBoardContainer';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","jsx","_jsx","ScoreBoardContainer","memo","children","offset","backgroundColor","borderColor","
|
|
1
|
+
{"version":3,"names":["React","View","jsx","_jsx","ScoreBoardContainer","memo","children","offset","backgroundColor","borderColor","wrapperStyle","useMemo","position","top","left","right","zIndex","alignItems","paddingHorizontal","marginTop","containerStyle","maxWidth","width","borderWidth","padding","borderRadius","style","displayName"],"sourceRoot":"../../../src","sources":["helpers/ScoreBoardContainer.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AASpC,OAAO,MAAMC,mBAAuD,gBAAGJ,KAAK,CAACK,IAAI,CAAC,CAAC;EACjFC,QAAQ;EACRC,MAAM,GAAG,CAAC;EACVC,eAAe,GAAG,oBAAoB;EACtCC,WAAW,GAAG;AAChB,CAAC,KAAK;EACJ;EACA,MAAMC,YAAY,GAAGV,KAAK,CAACW,OAAO,CAAC,OAAO;IACxCC,QAAQ,EAAE,UAAmB;IAC7BC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE,EAAE;IACVC,UAAU,EAAE,QAAiB;IAC7BC,iBAAiB,EAAE,EAAE;IACrBC,SAAS,EAAEZ,MAAM,GAAG,CAAC,GAAGA,MAAM,GAAG,EAAE,GAAG;EACxC,CAAC,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;;EAEb;EACA,MAAMa,cAAc,GAAGpB,KAAK,CAACW,OAAO,CAAC,OAAO;IAC1CU,QAAQ,EAAE,GAAG;IACbC,KAAK,EAAE,MAAM;IACbd,eAAe;IACfC,WAAW;IACXc,WAAW,EAAE,CAAC;IACdC,OAAO,EAAE,EAAE;IACXC,YAAY,EAAE;EAChB,CAAC,CAAC,EAAE,CAACjB,eAAe,EAAEC,WAAW,CAAC,CAAC;EAEnC,oBACEN,IAAA,CAACF,IAAI;IAACyB,KAAK,EAAEhB,YAAa;IAAAJ,QAAA,eACxBH,IAAA,CAACF,IAAI;MAACyB,KAAK,EAAEN,cAAe;MAAAd,QAAA,EACzBA;IAAQ,CACL;EAAC,CACH,CAAC;AAEX,CAAC,CAAC;AAEFF,mBAAmB,CAACuB,WAAW,GAAG,qBAAqB","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";export * from "./games/balloon-blaster/BalloonBlaster.js";export * from "./games/popit-fidget/PopitFidget.js";export * from "./games/whack-a-mole/WhackAMole.js";export * from "./games/fruit-ninja/FruitNinja.js";export * from "./games/maze-runner/MazeRunner.js";export * from "./games/space-fighter/SpaceFighter.js";export * from "./games/sliding-numbers/SlidingNumbers.js";export * from "./games/game-2048/Game2048.js";export * from "./games/dino-jump/DinoJump.js";export
|
|
1
|
+
"use strict";export * from "./games/balloon-blaster/BalloonBlaster.js";export * from "./games/popit-fidget/PopitFidget.js";export * from "./games/whack-a-mole/WhackAMole.js";export * from "./games/fruit-ninja/FruitNinja.js";export * from "./games/maze-runner/MazeRunner.js";export * from "./games/space-fighter/SpaceFighter.js";export * from "./games/sliding-numbers/SlidingNumbers.js";export * from "./games/game-2048/Game2048.js";export * from "./games/dino-jump/DinoJump.js";export * from "./games/colors-sort/ColorsSort.js";export * from "./games/fruit-merger/FruitMerger.js";export * from "./games/flappy-bird/FlappyBird.js";export * from "./games/candy-crush/CandyCrush.js";export * from "./games/snake/Snake.js";export * from "./games/car-racing/CarRacing.js";export * from "./games/bike-racing/BikeRacing.js";export * from "./games/block-blast/BlockBlast.js";export * from "./games/bubble-shooter/BubbleShooter.js";export * from "./games/perfect-circle/PerfectCircle.js";export * from "./services/GamesService.js";export * from "./services/UtilsService.js";
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA,cAAc,2CAAwC;AACtD,cAAc,qCAAkC;AAChD,cAAc,oCAAiC;AAC/C,cAAc,mCAAgC;AAC9C,cAAc,mCAAgC;AAC9C,cAAc,uCAAoC;AAClD,cAAc,2CAAwC;AACtD,cAAc,+BAA4B;AAC1C,cAAc,+BAA4B;AAC1C,cAAc,mCAAgC;AAC9C,cAAc,qCAAkC;AAChD,cAAc,mCAAgC;AAC9C,cAAc,mCAAgC;AAC9C,cAAc,wBAAqB;AACnC,cAAc,iCAA8B;AAC5C,cAAc,mCAAgC;AAC9C,cAAc,mCAAgC;AAC9C,cAAc,yCAAsC;AACpD,cAAc,yCAAsC;;AAEpD;AACA,cAAc,4BAAyB;AACvC,cAAc,4BAAyB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{GAME_IDS}from "./UtilsService.js";import{BALLOON_BLASTER_THEME,BALLOON_BLASTER_DIFFICULTY_DESCRIPTIONS}from "../games/balloon-blaster/BalloonBlasterConstants.js";import{FRUIT_NINJA_THEME,FRUIT_NINJA_DIFFICULTY_DESCRIPTIONS}from "../games/fruit-ninja/FruitNinjaConstants.js";import{MAZE_RUNNER_THEME,MAZE_RUNNER_DIFFICULTY_DESCRIPTIONS}from "../games/maze-runner/MazeRunnerConstants.js";import{WHACK_A_MOLE_THEME,WHACK_A_MOLE_DIFFICULTY_DESCRIPTIONS}from "../games/whack-a-mole/WhackAMoleConstants.js";import{SPACE_FIGHTER_THEME,SPACE_FIGHTER_DIFFICULTY_DESCRIPTIONS}from "../games/space-fighter/SpaceFighterConstants.js";import{POPIT_FIDGET_THEME,POPIT_FIDGET_DIFFICULTY_DESCRIPTIONS}from "../games/popit-fidget/PopitFidgetConstants.js";import{SLIDING_NUMBERS_THEME,SLIDING_NUMBERS_DIFFICULTY_DESCRIPTIONS}from "../games/sliding-numbers/SlidingNumbersConstants.js";import{GAME_2048_THEME,GAME_2048_DIFFICULTY_DESCRIPTIONS}from "../games/game-2048/Game2048Constants.js";import{DINO_JUMP_THEME,DINO_JUMP_DIFFICULTY_DESCRIPTIONS}from "../games/dino-jump/DinoJumpConstants.js";import{COLORS_SORT_THEME,COLORS_SORT_DIFFICULTY_DESCRIPTIONS}from "../games/colors-sort/ColorsSortConstants.js";import{FRUIT_MERGER_THEME,FRUIT_MERGER_DIFFICULTY_DESCRIPTIONS}from "../games/fruit-merger/FruitMergerConstants.js";import{FLAPPY_BIRD_THEME,FLAPPY_BIRD_DIFFICULTY_DESCRIPTIONS}from "../games/flappy-bird/FlappyBirdConstants.js";import{CANDY_CRUSH_THEME,CANDY_CRUSH_DIFFICULTY_DESCRIPTIONS}from "../games/candy-crush/CandyCrushConstants.js";import{SNAKE_THEME,SNAKE_DIFFICULTY_DESCRIPTIONS}from "../games/snake/SnakeConstants.js";export const GAME_THEMES ={balloonBlaster:BALLOON_BLASTER_THEME,fruitNinja:FRUIT_NINJA_THEME,mazeRunner:MAZE_RUNNER_THEME,whackAMole:WHACK_A_MOLE_THEME,spaceFighter:SPACE_FIGHTER_THEME,popitFidget:POPIT_FIDGET_THEME,slidingNumbers:SLIDING_NUMBERS_THEME,game2048:GAME_2048_THEME,dinoJump:DINO_JUMP_THEME,colorsSort:COLORS_SORT_THEME,fruitMerger:FRUIT_MERGER_THEME,flappyBird:FLAPPY_BIRD_THEME,candyCrush:CANDY_CRUSH_THEME,snake:SNAKE_THEME};export const GAME_DIFFICULTY_DESCRIPTIONS ={balloonBlaster:BALLOON_BLASTER_DIFFICULTY_DESCRIPTIONS,fruitNinja:FRUIT_NINJA_DIFFICULTY_DESCRIPTIONS,mazeRunner:MAZE_RUNNER_DIFFICULTY_DESCRIPTIONS,whackAMole:WHACK_A_MOLE_DIFFICULTY_DESCRIPTIONS,spaceFighter:SPACE_FIGHTER_DIFFICULTY_DESCRIPTIONS,popitFidget:POPIT_FIDGET_DIFFICULTY_DESCRIPTIONS,slidingNumbers:SLIDING_NUMBERS_DIFFICULTY_DESCRIPTIONS,game2048:GAME_2048_DIFFICULTY_DESCRIPTIONS,dinoJump:DINO_JUMP_DIFFICULTY_DESCRIPTIONS,colorsSort:COLORS_SORT_DIFFICULTY_DESCRIPTIONS,fruitMerger:FRUIT_MERGER_DIFFICULTY_DESCRIPTIONS,flappyBird:FLAPPY_BIRD_DIFFICULTY_DESCRIPTIONS,candyCrush:CANDY_CRUSH_DIFFICULTY_DESCRIPTIONS,snake:SNAKE_DIFFICULTY_DESCRIPTIONS};export const DIFFICULTY_LEVELS = ['easy','medium','hard'];export const GAME_NAMES ={BALLOON_BLASTER:'balloonBlaster',FRUIT_SLICER:'fruitSlicer',MAZE_RUNNER:'mazeRunner',CAT_POPPER:'catPopper',SPACE_TRAVELLER:'spaceTraveller'};export const getGameTheme = gameId =>{switch(gameId){case GAME_IDS.BALLOON_BLASTER:return GAME_THEMES.balloonBlaster;case GAME_IDS.FRUIT_NINJA:return GAME_THEMES.fruitNinja;case GAME_IDS.MAZE_RUNNER:return GAME_THEMES.mazeRunner;case GAME_IDS.WHACK_A_MOLE:return GAME_THEMES.whackAMole;case GAME_IDS.SPACE_FIGHTER:return GAME_THEMES.spaceFighter;case GAME_IDS.POPIT_FIDGET:return GAME_THEMES.popitFidget;case GAME_IDS.SLIDING_NUMBERS:return GAME_THEMES.slidingNumbers;case GAME_IDS.GAME_2048:return GAME_THEMES.game2048;case GAME_IDS.DINO_JUMP:return GAME_THEMES.dinoJump;case GAME_IDS.COLORS_SORT:return GAME_THEMES.colorsSort;case GAME_IDS.FRUIT_MERGER:return GAME_THEMES.fruitMerger;case GAME_IDS.FLAPPY_BIRD:return GAME_THEMES.flappyBird;case GAME_IDS.CANDY_CRUSH:return GAME_THEMES.candyCrush;case GAME_IDS.SNAKE:return GAME_THEMES.snake;default:return GAME_THEMES.balloonBlaster;}};export const getGameDifficultyDescriptions = gameId =>{switch(gameId){case GAME_IDS.BALLOON_BLASTER:return GAME_DIFFICULTY_DESCRIPTIONS.balloonBlaster;case GAME_IDS.FRUIT_NINJA:return GAME_DIFFICULTY_DESCRIPTIONS.fruitNinja;case GAME_IDS.MAZE_RUNNER:return GAME_DIFFICULTY_DESCRIPTIONS.mazeRunner;case GAME_IDS.WHACK_A_MOLE:return GAME_DIFFICULTY_DESCRIPTIONS.whackAMole;case GAME_IDS.SPACE_FIGHTER:return GAME_DIFFICULTY_DESCRIPTIONS.spaceFighter;case GAME_IDS.POPIT_FIDGET:return GAME_DIFFICULTY_DESCRIPTIONS.popitFidget;case GAME_IDS.SLIDING_NUMBERS:return GAME_DIFFICULTY_DESCRIPTIONS.slidingNumbers;case GAME_IDS.GAME_2048:return GAME_DIFFICULTY_DESCRIPTIONS.game2048;case GAME_IDS.DINO_JUMP:return GAME_DIFFICULTY_DESCRIPTIONS.dinoJump;case GAME_IDS.COLORS_SORT:return GAME_DIFFICULTY_DESCRIPTIONS.colorsSort;case GAME_IDS.FRUIT_MERGER:return GAME_DIFFICULTY_DESCRIPTIONS.fruitMerger;case GAME_IDS.FLAPPY_BIRD:return GAME_DIFFICULTY_DESCRIPTIONS.flappyBird;case GAME_IDS.CANDY_CRUSH:return GAME_DIFFICULTY_DESCRIPTIONS.candyCrush;case GAME_IDS.SNAKE:return GAME_DIFFICULTY_DESCRIPTIONS.snake;default:return GAME_DIFFICULTY_DESCRIPTIONS.balloonBlaster;}};export const getGameTitle = gameId =>{switch(gameId){case GAME_IDS.BALLOON_BLASTER:return 'Balloon Blaster';case GAME_IDS.FRUIT_NINJA:return 'Fruit Ninja';case GAME_IDS.MAZE_RUNNER:return 'Maze Runner';case GAME_IDS.WHACK_A_MOLE:return 'Whack-a-Mole';case GAME_IDS.SPACE_FIGHTER:return 'Space Fighter';case GAME_IDS.POPIT_FIDGET:return 'Pop It Fidget';case GAME_IDS.SLIDING_NUMBERS:return 'Sliding Numbers';case GAME_IDS.GAME_2048:return '2048';case GAME_IDS.DINO_JUMP:return 'Dino Jump';case GAME_IDS.COLORS_SORT:return 'Colors Sort';case GAME_IDS.FRUIT_MERGER:return 'Fruit Merger';case GAME_IDS.FLAPPY_BIRD:return 'Flappy Bird';case GAME_IDS.CANDY_CRUSH:return 'Candy Crush';case GAME_IDS.SNAKE:return 'Snake';default:return 'Game Settings';}};
|
|
1
|
+
"use strict";import{GAME_IDS}from "./UtilsService.js";import{BALLOON_BLASTER_THEME,BALLOON_BLASTER_DIFFICULTY_DESCRIPTIONS}from "../games/balloon-blaster/BalloonBlasterConstants.js";import{FRUIT_NINJA_THEME,FRUIT_NINJA_DIFFICULTY_DESCRIPTIONS}from "../games/fruit-ninja/FruitNinjaConstants.js";import{MAZE_RUNNER_THEME,MAZE_RUNNER_DIFFICULTY_DESCRIPTIONS}from "../games/maze-runner/MazeRunnerConstants.js";import{WHACK_A_MOLE_THEME,WHACK_A_MOLE_DIFFICULTY_DESCRIPTIONS}from "../games/whack-a-mole/WhackAMoleConstants.js";import{SPACE_FIGHTER_THEME,SPACE_FIGHTER_DIFFICULTY_DESCRIPTIONS}from "../games/space-fighter/SpaceFighterConstants.js";import{POPIT_FIDGET_THEME,POPIT_FIDGET_DIFFICULTY_DESCRIPTIONS}from "../games/popit-fidget/PopitFidgetConstants.js";import{SLIDING_NUMBERS_THEME,SLIDING_NUMBERS_DIFFICULTY_DESCRIPTIONS}from "../games/sliding-numbers/SlidingNumbersConstants.js";import{GAME_2048_THEME,GAME_2048_DIFFICULTY_DESCRIPTIONS}from "../games/game-2048/Game2048Constants.js";import{DINO_JUMP_THEME,DINO_JUMP_DIFFICULTY_DESCRIPTIONS}from "../games/dino-jump/DinoJumpConstants.js";import{COLORS_SORT_THEME,COLORS_SORT_DIFFICULTY_DESCRIPTIONS}from "../games/colors-sort/ColorsSortConstants.js";import{FRUIT_MERGER_THEME,FRUIT_MERGER_DIFFICULTY_DESCRIPTIONS}from "../games/fruit-merger/FruitMergerConstants.js";import{FLAPPY_BIRD_THEME,FLAPPY_BIRD_DIFFICULTY_DESCRIPTIONS}from "../games/flappy-bird/FlappyBirdConstants.js";import{CANDY_CRUSH_THEME,CANDY_CRUSH_DIFFICULTY_DESCRIPTIONS}from "../games/candy-crush/CandyCrushConstants.js";import{SNAKE_THEME,SNAKE_DIFFICULTY_DESCRIPTIONS}from "../games/snake/SnakeConstants.js";import{CAR_RACING_THEME,CAR_RACING_DIFFICULTY_DESCRIPTIONS}from "../games/car-racing/CarRacingConstants.js";import{BIKE_RACING_THEME,BIKE_RACING_DIFFICULTY_DESCRIPTIONS}from "../games/bike-racing/BikeRacingConstants.js";import{BLOCK_BLAST_THEME,BLOCK_BLAST_DIFFICULTY_DESCRIPTIONS}from "../games/block-blast/BlockBlastConstants.js";import{BUBBLE_SHOOTER_THEME,BUBBLE_SHOOTER_DIFFICULTY_DESCRIPTIONS}from "../games/bubble-shooter/BubbleShooterConstants.js";import{PERFECT_CIRCLE_THEME,PERFECT_CIRCLE_DIFFICULTY_DESCRIPTIONS}from "../games/perfect-circle/PerfectCircleConstants.js";export const GAME_THEMES ={balloonBlaster:BALLOON_BLASTER_THEME,fruitNinja:FRUIT_NINJA_THEME,mazeRunner:MAZE_RUNNER_THEME,whackAMole:WHACK_A_MOLE_THEME,spaceFighter:SPACE_FIGHTER_THEME,popitFidget:POPIT_FIDGET_THEME,slidingNumbers:SLIDING_NUMBERS_THEME,game2048:GAME_2048_THEME,dinoJump:DINO_JUMP_THEME,colorsSort:COLORS_SORT_THEME,fruitMerger:FRUIT_MERGER_THEME,flappyBird:FLAPPY_BIRD_THEME,candyCrush:CANDY_CRUSH_THEME,snake:SNAKE_THEME,carRacing:CAR_RACING_THEME,bikeRacing:BIKE_RACING_THEME,blockBlast:BLOCK_BLAST_THEME,bubbleShooter:BUBBLE_SHOOTER_THEME,perfectCircle:PERFECT_CIRCLE_THEME};export const GAME_DIFFICULTY_DESCRIPTIONS ={balloonBlaster:BALLOON_BLASTER_DIFFICULTY_DESCRIPTIONS,fruitNinja:FRUIT_NINJA_DIFFICULTY_DESCRIPTIONS,mazeRunner:MAZE_RUNNER_DIFFICULTY_DESCRIPTIONS,whackAMole:WHACK_A_MOLE_DIFFICULTY_DESCRIPTIONS,spaceFighter:SPACE_FIGHTER_DIFFICULTY_DESCRIPTIONS,popitFidget:POPIT_FIDGET_DIFFICULTY_DESCRIPTIONS,slidingNumbers:SLIDING_NUMBERS_DIFFICULTY_DESCRIPTIONS,game2048:GAME_2048_DIFFICULTY_DESCRIPTIONS,dinoJump:DINO_JUMP_DIFFICULTY_DESCRIPTIONS,colorsSort:COLORS_SORT_DIFFICULTY_DESCRIPTIONS,fruitMerger:FRUIT_MERGER_DIFFICULTY_DESCRIPTIONS,flappyBird:FLAPPY_BIRD_DIFFICULTY_DESCRIPTIONS,candyCrush:CANDY_CRUSH_DIFFICULTY_DESCRIPTIONS,snake:SNAKE_DIFFICULTY_DESCRIPTIONS,carRacing:CAR_RACING_DIFFICULTY_DESCRIPTIONS,bikeRacing:BIKE_RACING_DIFFICULTY_DESCRIPTIONS,blockBlast:BLOCK_BLAST_DIFFICULTY_DESCRIPTIONS,bubbleShooter:BUBBLE_SHOOTER_DIFFICULTY_DESCRIPTIONS,perfectCircle:PERFECT_CIRCLE_DIFFICULTY_DESCRIPTIONS};export const DIFFICULTY_LEVELS = ['easy','medium','hard'];export const GAME_NAMES ={BALLOON_BLASTER:'balloonBlaster',FRUIT_SLICER:'fruitSlicer',MAZE_RUNNER:'mazeRunner',CAT_POPPER:'catPopper',SPACE_TRAVELLER:'spaceTraveller'};export const getGameTheme = gameId =>{switch(gameId){case GAME_IDS.BALLOON_BLASTER:return GAME_THEMES.balloonBlaster;case GAME_IDS.FRUIT_NINJA:return GAME_THEMES.fruitNinja;case GAME_IDS.MAZE_RUNNER:return GAME_THEMES.mazeRunner;case GAME_IDS.WHACK_A_MOLE:return GAME_THEMES.whackAMole;case GAME_IDS.SPACE_FIGHTER:return GAME_THEMES.spaceFighter;case GAME_IDS.POPIT_FIDGET:return GAME_THEMES.popitFidget;case GAME_IDS.SLIDING_NUMBERS:return GAME_THEMES.slidingNumbers;case GAME_IDS.GAME_2048:return GAME_THEMES.game2048;case GAME_IDS.DINO_JUMP:return GAME_THEMES.dinoJump;case GAME_IDS.COLORS_SORT:return GAME_THEMES.colorsSort;case GAME_IDS.FRUIT_MERGER:return GAME_THEMES.fruitMerger;case GAME_IDS.FLAPPY_BIRD:return GAME_THEMES.flappyBird;case GAME_IDS.CANDY_CRUSH:return GAME_THEMES.candyCrush;case GAME_IDS.SNAKE:return GAME_THEMES.snake;case GAME_IDS.CAR_RACING:return GAME_THEMES.carRacing;case GAME_IDS.BIKE_RACING:return GAME_THEMES.bikeRacing;case GAME_IDS.BLOCK_BLAST:return GAME_THEMES.blockBlast;case GAME_IDS.BUBBLE_SHOOTER:return GAME_THEMES.bubbleShooter;case GAME_IDS.PERFECT_CIRCLE:return GAME_THEMES.perfectCircle;default:return GAME_THEMES.balloonBlaster;}};export const getGameDifficultyDescriptions = gameId =>{switch(gameId){case GAME_IDS.BALLOON_BLASTER:return GAME_DIFFICULTY_DESCRIPTIONS.balloonBlaster;case GAME_IDS.FRUIT_NINJA:return GAME_DIFFICULTY_DESCRIPTIONS.fruitNinja;case GAME_IDS.MAZE_RUNNER:return GAME_DIFFICULTY_DESCRIPTIONS.mazeRunner;case GAME_IDS.WHACK_A_MOLE:return GAME_DIFFICULTY_DESCRIPTIONS.whackAMole;case GAME_IDS.SPACE_FIGHTER:return GAME_DIFFICULTY_DESCRIPTIONS.spaceFighter;case GAME_IDS.POPIT_FIDGET:return GAME_DIFFICULTY_DESCRIPTIONS.popitFidget;case GAME_IDS.SLIDING_NUMBERS:return GAME_DIFFICULTY_DESCRIPTIONS.slidingNumbers;case GAME_IDS.GAME_2048:return GAME_DIFFICULTY_DESCRIPTIONS.game2048;case GAME_IDS.DINO_JUMP:return GAME_DIFFICULTY_DESCRIPTIONS.dinoJump;case GAME_IDS.COLORS_SORT:return GAME_DIFFICULTY_DESCRIPTIONS.colorsSort;case GAME_IDS.FRUIT_MERGER:return GAME_DIFFICULTY_DESCRIPTIONS.fruitMerger;case GAME_IDS.FLAPPY_BIRD:return GAME_DIFFICULTY_DESCRIPTIONS.flappyBird;case GAME_IDS.CANDY_CRUSH:return GAME_DIFFICULTY_DESCRIPTIONS.candyCrush;case GAME_IDS.SNAKE:return GAME_DIFFICULTY_DESCRIPTIONS.snake;case GAME_IDS.CAR_RACING:return GAME_DIFFICULTY_DESCRIPTIONS.carRacing;case GAME_IDS.BIKE_RACING:return GAME_DIFFICULTY_DESCRIPTIONS.bikeRacing;case GAME_IDS.BLOCK_BLAST:return GAME_DIFFICULTY_DESCRIPTIONS.blockBlast;case GAME_IDS.BUBBLE_SHOOTER:return GAME_DIFFICULTY_DESCRIPTIONS.bubbleShooter;case GAME_IDS.PERFECT_CIRCLE:return GAME_DIFFICULTY_DESCRIPTIONS.perfectCircle;default:return GAME_DIFFICULTY_DESCRIPTIONS.balloonBlaster;}};export const getGameTitle = gameId =>{switch(gameId){case GAME_IDS.BALLOON_BLASTER:return 'Balloon Blaster';case GAME_IDS.FRUIT_NINJA:return 'Fruit Ninja';case GAME_IDS.MAZE_RUNNER:return 'Maze Runner';case GAME_IDS.WHACK_A_MOLE:return 'Whack-a-Mole';case GAME_IDS.SPACE_FIGHTER:return 'Space Fighter';case GAME_IDS.POPIT_FIDGET:return 'Pop It Fidget';case GAME_IDS.SLIDING_NUMBERS:return 'Sliding Numbers';case GAME_IDS.GAME_2048:return '2048';case GAME_IDS.DINO_JUMP:return 'Dino Jump';case GAME_IDS.COLORS_SORT:return 'Colors Sort';case GAME_IDS.FRUIT_MERGER:return 'Fruit Merger';case GAME_IDS.FLAPPY_BIRD:return 'Flappy Bird';case GAME_IDS.CANDY_CRUSH:return 'Candy Crush';case GAME_IDS.SNAKE:return 'Snake';case GAME_IDS.CAR_RACING:return 'Car Racing';case GAME_IDS.BIKE_RACING:return 'Bike Racing';case GAME_IDS.BLOCK_BLAST:return 'Block Blast';case GAME_IDS.BUBBLE_SHOOTER:return 'Bubble Shooter';case GAME_IDS.PERFECT_CIRCLE:return 'Perfect Circle';default:return 'Game Settings';}};
|