react-native-games 0.7.0 → 1.0.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.
Files changed (459) hide show
  1. package/README.md +507 -84
  2. package/lib/module/games/balloon-blaster/BalloonBlaster.js +13 -21
  3. package/lib/module/games/balloon-blaster/BalloonBlaster.js.map +1 -1
  4. package/lib/module/games/balloon-blaster/BalloonBlasterStore.js +1 -1
  5. package/lib/module/games/balloon-blaster/components/GameArea.js +1 -1
  6. package/lib/module/games/balloon-blaster/components/GameArea.js.map +1 -1
  7. package/lib/module/games/balloon-blaster/components/GameBackground.js +24 -17
  8. package/lib/module/games/balloon-blaster/components/GameBackground.js.map +1 -1
  9. package/lib/module/games/balloon-blaster/components/ScoreBoard.js +47 -47
  10. package/lib/module/games/balloon-blaster/components/ScoreBoard.js.map +1 -1
  11. package/lib/module/games/candy-crush/CandyCrush.js +131 -0
  12. package/lib/module/games/candy-crush/CandyCrush.js.map +1 -0
  13. package/lib/module/games/candy-crush/CandyCrushConstants.js +125 -0
  14. package/lib/module/games/candy-crush/CandyCrushConstants.js.map +1 -0
  15. package/lib/module/games/candy-crush/CandyCrushService.js +370 -0
  16. package/lib/module/games/candy-crush/CandyCrushService.js.map +1 -0
  17. package/lib/module/games/candy-crush/CandyCrushStore.js +303 -0
  18. package/lib/module/games/candy-crush/CandyCrushStore.js.map +1 -0
  19. package/lib/module/games/candy-crush/components/CandyItem.js +191 -0
  20. package/lib/module/games/candy-crush/components/CandyItem.js.map +1 -0
  21. package/lib/module/games/candy-crush/components/GameBackground.js +85 -0
  22. package/lib/module/games/candy-crush/components/GameBackground.js.map +1 -0
  23. package/lib/module/games/candy-crush/components/GameGrid.js +314 -0
  24. package/lib/module/games/candy-crush/components/GameGrid.js.map +1 -0
  25. package/lib/module/games/candy-crush/components/ScoreBoard.js +79 -0
  26. package/lib/module/games/candy-crush/components/ScoreBoard.js.map +1 -0
  27. package/lib/module/games/candy-crush/components/index.js +7 -0
  28. package/lib/module/games/candy-crush/components/index.js.map +1 -0
  29. package/lib/module/games/candy-crush/index.js +6 -0
  30. package/lib/module/games/candy-crush/index.js.map +1 -0
  31. package/lib/module/games/colors-sort/ColorsSort.js +143 -0
  32. package/lib/module/games/colors-sort/ColorsSort.js.map +1 -0
  33. package/lib/module/games/colors-sort/ColorsSortConstants.js +72 -0
  34. package/lib/module/games/colors-sort/ColorsSortConstants.js.map +1 -0
  35. package/lib/module/games/colors-sort/ColorsSortService.js +255 -0
  36. package/lib/module/games/colors-sort/ColorsSortService.js.map +1 -0
  37. package/lib/module/games/colors-sort/ColorsSortStore.js +257 -0
  38. package/lib/module/games/colors-sort/ColorsSortStore.js.map +1 -0
  39. package/lib/module/games/colors-sort/components/ColorContainer.js +140 -0
  40. package/lib/module/games/colors-sort/components/ColorContainer.js.map +1 -0
  41. package/lib/module/games/colors-sort/components/GameBackground.js +135 -0
  42. package/lib/module/games/colors-sort/components/GameBackground.js.map +1 -0
  43. package/lib/module/games/colors-sort/components/ScoreBoard.js +70 -0
  44. package/lib/module/games/colors-sort/components/ScoreBoard.js.map +1 -0
  45. package/lib/module/games/colors-sort/components/index.js +6 -0
  46. package/lib/module/games/colors-sort/components/index.js.map +1 -0
  47. package/lib/module/games/dino-jump/DinoJump.js +209 -0
  48. package/lib/module/games/dino-jump/DinoJump.js.map +1 -0
  49. package/lib/module/games/dino-jump/DinoJumpConstants.js +189 -0
  50. package/lib/module/games/dino-jump/DinoJumpConstants.js.map +1 -0
  51. package/lib/module/games/dino-jump/DinoJumpService.js +270 -0
  52. package/lib/module/games/dino-jump/DinoJumpService.js.map +1 -0
  53. package/lib/module/games/dino-jump/DinoJumpStore.js +381 -0
  54. package/lib/module/games/dino-jump/DinoJumpStore.js.map +1 -0
  55. package/lib/module/games/dino-jump/components/DinoSprite.js +418 -0
  56. package/lib/module/games/dino-jump/components/DinoSprite.js.map +1 -0
  57. package/lib/module/games/dino-jump/components/GameArea.js +68 -0
  58. package/lib/module/games/dino-jump/components/GameArea.js.map +1 -0
  59. package/lib/module/games/dino-jump/components/GameBackground.js +444 -0
  60. package/lib/module/games/dino-jump/components/GameBackground.js.map +1 -0
  61. package/lib/module/games/dino-jump/components/ObstacleSprite.js +306 -0
  62. package/lib/module/games/dino-jump/components/ObstacleSprite.js.map +1 -0
  63. package/lib/module/games/dino-jump/components/ScoreBoard.js +105 -0
  64. package/lib/module/games/dino-jump/components/ScoreBoard.js.map +1 -0
  65. package/lib/module/games/dino-jump/components/StarSprite.js +45 -0
  66. package/lib/module/games/dino-jump/components/StarSprite.js.map +1 -0
  67. package/lib/module/games/dino-jump/components/index.js +9 -0
  68. package/lib/module/games/dino-jump/components/index.js.map +1 -0
  69. package/lib/module/games/flappy-bird/FlappyBird.js +126 -0
  70. package/lib/module/games/flappy-bird/FlappyBird.js.map +1 -0
  71. package/lib/module/games/flappy-bird/FlappyBirdConstants.js +90 -0
  72. package/lib/module/games/flappy-bird/FlappyBirdConstants.js.map +1 -0
  73. package/lib/module/games/flappy-bird/FlappyBirdStore.js +300 -0
  74. package/lib/module/games/flappy-bird/FlappyBirdStore.js.map +1 -0
  75. package/lib/module/games/flappy-bird/components/Bird.js +87 -0
  76. package/lib/module/games/flappy-bird/components/Bird.js.map +1 -0
  77. package/lib/module/games/flappy-bird/components/GameArea.js +87 -0
  78. package/lib/module/games/flappy-bird/components/GameArea.js.map +1 -0
  79. package/lib/module/games/flappy-bird/components/GameBackground.js +79 -0
  80. package/lib/module/games/flappy-bird/components/GameBackground.js.map +1 -0
  81. package/lib/module/games/flappy-bird/components/Pipes.js +172 -0
  82. package/lib/module/games/flappy-bird/components/Pipes.js.map +1 -0
  83. package/lib/module/games/flappy-bird/components/ScoreBoard.js +73 -0
  84. package/lib/module/games/flappy-bird/components/ScoreBoard.js.map +1 -0
  85. package/lib/module/games/flappy-bird/components/index.js +8 -0
  86. package/lib/module/games/flappy-bird/components/index.js.map +1 -0
  87. package/lib/module/games/fruit-merger/FruitMerger.js +120 -0
  88. package/lib/module/games/fruit-merger/FruitMerger.js.map +1 -0
  89. package/lib/module/games/fruit-merger/FruitMergerConstants.js +119 -0
  90. package/lib/module/games/fruit-merger/FruitMergerConstants.js.map +1 -0
  91. package/lib/module/games/fruit-merger/FruitMergerService.js +13 -0
  92. package/lib/module/games/fruit-merger/FruitMergerService.js.map +1 -0
  93. package/lib/module/games/fruit-merger/FruitMergerStore.js +315 -0
  94. package/lib/module/games/fruit-merger/FruitMergerStore.js.map +1 -0
  95. package/lib/module/games/fruit-merger/components/FruitItem.js +102 -0
  96. package/lib/module/games/fruit-merger/components/FruitItem.js.map +1 -0
  97. package/lib/module/games/fruit-merger/components/GameArea.js +103 -0
  98. package/lib/module/games/fruit-merger/components/GameArea.js.map +1 -0
  99. package/lib/module/games/fruit-merger/components/GameBackground.js +498 -0
  100. package/lib/module/games/fruit-merger/components/GameBackground.js.map +1 -0
  101. package/lib/module/games/fruit-merger/components/ScoreBoard.js +58 -0
  102. package/lib/module/games/fruit-merger/components/ScoreBoard.js.map +1 -0
  103. package/lib/module/games/fruit-merger/components/index.js +7 -0
  104. package/lib/module/games/fruit-merger/components/index.js.map +1 -0
  105. package/lib/module/games/fruit-ninja/FruitNinja.js +14 -22
  106. package/lib/module/games/fruit-ninja/FruitNinja.js.map +1 -1
  107. package/lib/module/games/fruit-ninja/FruitNinjaStore.js +1 -1
  108. package/lib/module/games/fruit-ninja/components/GameArea.js +1 -1
  109. package/lib/module/games/fruit-ninja/components/GameArea.js.map +1 -1
  110. package/lib/module/games/fruit-ninja/components/GameBackground.js +70 -45
  111. package/lib/module/games/fruit-ninja/components/GameBackground.js.map +1 -1
  112. package/lib/module/games/fruit-ninja/components/ScoreBoard.js +47 -46
  113. package/lib/module/games/fruit-ninja/components/ScoreBoard.js.map +1 -1
  114. package/lib/module/games/game-2048/Game2048.js +149 -0
  115. package/lib/module/games/game-2048/Game2048.js.map +1 -0
  116. package/lib/module/games/game-2048/Game2048Constants.js +263 -0
  117. package/lib/module/games/game-2048/Game2048Constants.js.map +1 -0
  118. package/lib/module/games/game-2048/Game2048Service.js +457 -0
  119. package/lib/module/games/game-2048/Game2048Service.js.map +1 -0
  120. package/lib/module/games/game-2048/Game2048Store.js +236 -0
  121. package/lib/module/games/game-2048/Game2048Store.js.map +1 -0
  122. package/lib/module/games/game-2048/components/GameBackground.js +247 -0
  123. package/lib/module/games/game-2048/components/GameBackground.js.map +1 -0
  124. package/lib/module/games/game-2048/components/GameGrid.js +139 -0
  125. package/lib/module/games/game-2048/components/GameGrid.js.map +1 -0
  126. package/lib/module/games/game-2048/components/GameTile.js +72 -0
  127. package/lib/module/games/game-2048/components/GameTile.js.map +1 -0
  128. package/lib/module/games/game-2048/components/ScoreBoard.js +52 -0
  129. package/lib/module/games/game-2048/components/ScoreBoard.js.map +1 -0
  130. package/lib/module/games/game-2048/components/index.js +7 -0
  131. package/lib/module/games/game-2048/components/index.js.map +1 -0
  132. package/lib/module/games/maze-runner/MazeRunner.js +51 -41
  133. package/lib/module/games/maze-runner/MazeRunner.js.map +1 -1
  134. package/lib/module/games/maze-runner/MazeRunnerService.js +19 -17
  135. package/lib/module/games/maze-runner/MazeRunnerService.js.map +1 -1
  136. package/lib/module/games/maze-runner/components/ScoreBoard.js +32 -42
  137. package/lib/module/games/maze-runner/components/ScoreBoard.js.map +1 -1
  138. package/lib/module/games/popit-fidget/PopitFidget.js +57 -66
  139. package/lib/module/games/popit-fidget/PopitFidget.js.map +1 -1
  140. package/lib/module/games/popit-fidget/PopitFidgetStore.js +6 -44
  141. package/lib/module/games/popit-fidget/PopitFidgetStore.js.map +1 -1
  142. package/lib/module/games/popit-fidget/components/ScoreBoard.js +31 -45
  143. package/lib/module/games/popit-fidget/components/ScoreBoard.js.map +1 -1
  144. package/lib/module/games/sliding-numbers/SlidingNumbers.js +159 -0
  145. package/lib/module/games/sliding-numbers/SlidingNumbers.js.map +1 -0
  146. package/lib/module/games/sliding-numbers/SlidingNumbersConstants.js +207 -0
  147. package/lib/module/games/sliding-numbers/SlidingNumbersConstants.js.map +1 -0
  148. package/lib/module/games/sliding-numbers/SlidingNumbersService.js +248 -0
  149. package/lib/module/games/sliding-numbers/SlidingNumbersService.js.map +1 -0
  150. package/lib/module/games/sliding-numbers/SlidingNumbersStore.js +274 -0
  151. package/lib/module/games/sliding-numbers/SlidingNumbersStore.js.map +1 -0
  152. package/lib/module/games/sliding-numbers/components/GameBackground.js +259 -0
  153. package/lib/module/games/sliding-numbers/components/GameBackground.js.map +1 -0
  154. package/lib/module/games/sliding-numbers/components/NumbersGrid.js +174 -0
  155. package/lib/module/games/sliding-numbers/components/NumbersGrid.js.map +1 -0
  156. package/lib/module/games/sliding-numbers/components/NumbersTile.js +116 -0
  157. package/lib/module/games/sliding-numbers/components/NumbersTile.js.map +1 -0
  158. package/lib/module/games/sliding-numbers/components/ScoreBoard.js +64 -0
  159. package/lib/module/games/sliding-numbers/components/ScoreBoard.js.map +1 -0
  160. package/lib/module/games/sliding-numbers/components/index.js +7 -0
  161. package/lib/module/games/sliding-numbers/components/index.js.map +1 -0
  162. package/lib/module/games/snake/Snake.js +189 -0
  163. package/lib/module/games/snake/Snake.js.map +1 -0
  164. package/lib/module/games/snake/SnakeConstants.js +138 -0
  165. package/lib/module/games/snake/SnakeConstants.js.map +1 -0
  166. package/lib/module/games/snake/SnakeService.js +148 -0
  167. package/lib/module/games/snake/SnakeService.js.map +1 -0
  168. package/lib/module/games/snake/SnakeStore.js +182 -0
  169. package/lib/module/games/snake/SnakeStore.js.map +1 -0
  170. package/lib/module/games/snake/components/GameBackground.js +221 -0
  171. package/lib/module/games/snake/components/GameBackground.js.map +1 -0
  172. package/lib/module/games/snake/components/GameGrid.js +153 -0
  173. package/lib/module/games/snake/components/GameGrid.js.map +1 -0
  174. package/lib/module/games/snake/components/ScoreBoard.js +51 -0
  175. package/lib/module/games/snake/components/ScoreBoard.js.map +1 -0
  176. package/lib/module/games/snake/components/index.js +6 -0
  177. package/lib/module/games/snake/components/index.js.map +1 -0
  178. package/lib/module/games/snake/index.js +6 -0
  179. package/lib/module/games/snake/index.js.map +1 -0
  180. package/lib/module/games/space-fighter/SpaceFighter.js +22 -26
  181. package/lib/module/games/space-fighter/SpaceFighter.js.map +1 -1
  182. package/lib/module/games/space-fighter/SpaceFighterService.js +7 -6
  183. package/lib/module/games/space-fighter/SpaceFighterService.js.map +1 -1
  184. package/lib/module/games/space-fighter/SpaceFighterStore.js +25 -11
  185. package/lib/module/games/space-fighter/SpaceFighterStore.js.map +1 -1
  186. package/lib/module/games/space-fighter/components/GameArea.js +1 -7
  187. package/lib/module/games/space-fighter/components/GameArea.js.map +1 -1
  188. package/lib/module/games/space-fighter/components/ScoreBoard.js +47 -48
  189. package/lib/module/games/space-fighter/components/ScoreBoard.js.map +1 -1
  190. package/lib/module/games/whack-a-mole/WhackAMole.js +17 -10
  191. package/lib/module/games/whack-a-mole/WhackAMole.js.map +1 -1
  192. package/lib/module/games/whack-a-mole/WhackAMoleStore.js +1 -1
  193. package/lib/module/games/whack-a-mole/components/GameBackground.js +37 -30
  194. package/lib/module/games/whack-a-mole/components/GameBackground.js.map +1 -1
  195. package/lib/module/games/whack-a-mole/components/ScoreBoard.js +32 -38
  196. package/lib/module/games/whack-a-mole/components/ScoreBoard.js.map +1 -1
  197. package/lib/module/helpers/AnimationFrame.js.map +1 -0
  198. package/lib/module/helpers/AnimationTracker.js.map +1 -0
  199. package/lib/module/helpers/ErrorHandler.js.map +1 -0
  200. package/lib/module/helpers/GameControlButton.js.map +1 -0
  201. package/lib/module/{shared/helpers → helpers}/GameOverModal.js +6 -3
  202. package/lib/module/helpers/GameOverModal.js.map +1 -0
  203. package/lib/module/{shared/helpers → helpers}/GameSettingsModal.js +5 -5
  204. package/lib/module/helpers/GameSettingsModal.js.map +1 -0
  205. package/lib/module/{shared/helpers → helpers}/ParticleBlast.js +3 -2
  206. package/lib/module/helpers/ParticleBlast.js.map +1 -0
  207. package/lib/module/helpers/ScoreBoardContainer.js +34 -0
  208. package/lib/module/helpers/ScoreBoardContainer.js.map +1 -0
  209. package/lib/module/{shared/helpers → helpers}/index.js +1 -1
  210. package/lib/module/helpers/index.js.map +1 -0
  211. package/lib/module/index.js +9 -0
  212. package/lib/module/index.js.map +1 -1
  213. package/lib/module/services/GamesConstants.js +100 -5
  214. package/lib/module/services/GamesConstants.js.map +1 -1
  215. package/lib/module/services/GamesService.js +108 -42
  216. package/lib/module/services/GamesService.js.map +1 -1
  217. package/lib/module/services/SoundsService.js +132 -1
  218. package/lib/module/services/SoundsService.js.map +1 -1
  219. package/lib/module/services/UtilsService.js +32 -0
  220. package/lib/module/services/UtilsService.js.map +1 -0
  221. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts +1 -1
  222. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts.map +1 -1
  223. package/lib/typescript/src/games/balloon-blaster/components/GameBackground.d.ts +1 -0
  224. package/lib/typescript/src/games/balloon-blaster/components/GameBackground.d.ts.map +1 -1
  225. package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts +5 -1
  226. package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts.map +1 -1
  227. package/lib/typescript/src/games/candy-crush/CandyCrush.d.ts +4 -0
  228. package/lib/typescript/src/games/candy-crush/CandyCrush.d.ts.map +1 -0
  229. package/lib/typescript/src/games/candy-crush/CandyCrushConstants.d.ts +104 -0
  230. package/lib/typescript/src/games/candy-crush/CandyCrushConstants.d.ts.map +1 -0
  231. package/lib/typescript/src/games/candy-crush/CandyCrushService.d.ts +40 -0
  232. package/lib/typescript/src/games/candy-crush/CandyCrushService.d.ts.map +1 -0
  233. package/lib/typescript/src/games/candy-crush/CandyCrushStore.d.ts +48 -0
  234. package/lib/typescript/src/games/candy-crush/CandyCrushStore.d.ts.map +1 -0
  235. package/lib/typescript/src/games/candy-crush/components/CandyItem.d.ts +13 -0
  236. package/lib/typescript/src/games/candy-crush/components/CandyItem.d.ts.map +1 -0
  237. package/lib/typescript/src/games/candy-crush/components/GameBackground.d.ts +5 -0
  238. package/lib/typescript/src/games/candy-crush/components/GameBackground.d.ts.map +1 -0
  239. package/lib/typescript/src/games/candy-crush/components/GameGrid.d.ts +3 -0
  240. package/lib/typescript/src/games/candy-crush/components/GameGrid.d.ts.map +1 -0
  241. package/lib/typescript/src/games/candy-crush/components/ScoreBoard.d.ts +6 -0
  242. package/lib/typescript/src/games/candy-crush/components/ScoreBoard.d.ts.map +1 -0
  243. package/lib/typescript/src/games/candy-crush/components/index.d.ts +5 -0
  244. package/lib/typescript/src/games/candy-crush/components/index.d.ts.map +1 -0
  245. package/lib/typescript/src/games/candy-crush/index.d.ts +4 -0
  246. package/lib/typescript/src/games/candy-crush/index.d.ts.map +1 -0
  247. package/lib/typescript/src/games/colors-sort/ColorsSort.d.ts +4 -0
  248. package/lib/typescript/src/games/colors-sort/ColorsSort.d.ts.map +1 -0
  249. package/lib/typescript/src/games/colors-sort/ColorsSortConstants.d.ts +54 -0
  250. package/lib/typescript/src/games/colors-sort/ColorsSortConstants.d.ts.map +1 -0
  251. package/lib/typescript/src/games/colors-sort/ColorsSortService.d.ts +66 -0
  252. package/lib/typescript/src/games/colors-sort/ColorsSortService.d.ts.map +1 -0
  253. package/lib/typescript/src/games/colors-sort/ColorsSortStore.d.ts +48 -0
  254. package/lib/typescript/src/games/colors-sort/ColorsSortStore.d.ts.map +1 -0
  255. package/lib/typescript/src/games/colors-sort/components/ColorContainer.d.ts +11 -0
  256. package/lib/typescript/src/games/colors-sort/components/ColorContainer.d.ts.map +1 -0
  257. package/lib/typescript/src/games/colors-sort/components/GameBackground.d.ts +7 -0
  258. package/lib/typescript/src/games/colors-sort/components/GameBackground.d.ts.map +1 -0
  259. package/lib/typescript/src/games/colors-sort/components/ScoreBoard.d.ts +7 -0
  260. package/lib/typescript/src/games/colors-sort/components/ScoreBoard.d.ts.map +1 -0
  261. package/lib/typescript/src/games/colors-sort/components/index.d.ts +4 -0
  262. package/lib/typescript/src/games/colors-sort/components/index.d.ts.map +1 -0
  263. package/lib/typescript/src/games/dino-jump/DinoJump.d.ts +4 -0
  264. package/lib/typescript/src/games/dino-jump/DinoJump.d.ts.map +1 -0
  265. package/lib/typescript/src/games/dino-jump/DinoJumpConstants.d.ts +97 -0
  266. package/lib/typescript/src/games/dino-jump/DinoJumpConstants.d.ts.map +1 -0
  267. package/lib/typescript/src/games/dino-jump/DinoJumpService.d.ts +40 -0
  268. package/lib/typescript/src/games/dino-jump/DinoJumpService.d.ts.map +1 -0
  269. package/lib/typescript/src/games/dino-jump/DinoJumpStore.d.ts +103 -0
  270. package/lib/typescript/src/games/dino-jump/DinoJumpStore.d.ts.map +1 -0
  271. package/lib/typescript/src/games/dino-jump/components/DinoSprite.d.ts +3 -0
  272. package/lib/typescript/src/games/dino-jump/components/DinoSprite.d.ts.map +1 -0
  273. package/lib/typescript/src/games/dino-jump/components/GameArea.d.ts +8 -0
  274. package/lib/typescript/src/games/dino-jump/components/GameArea.d.ts.map +1 -0
  275. package/lib/typescript/src/games/dino-jump/components/GameBackground.d.ts +8 -0
  276. package/lib/typescript/src/games/dino-jump/components/GameBackground.d.ts.map +1 -0
  277. package/lib/typescript/src/games/dino-jump/components/ObstacleSprite.d.ts +3 -0
  278. package/lib/typescript/src/games/dino-jump/components/ObstacleSprite.d.ts.map +1 -0
  279. package/lib/typescript/src/games/dino-jump/components/ScoreBoard.d.ts +7 -0
  280. package/lib/typescript/src/games/dino-jump/components/ScoreBoard.d.ts.map +1 -0
  281. package/lib/typescript/src/games/dino-jump/components/StarSprite.d.ts +3 -0
  282. package/lib/typescript/src/games/dino-jump/components/StarSprite.d.ts.map +1 -0
  283. package/lib/typescript/src/games/dino-jump/components/index.d.ts +7 -0
  284. package/lib/typescript/src/games/dino-jump/components/index.d.ts.map +1 -0
  285. package/lib/typescript/src/games/flappy-bird/FlappyBird.d.ts +4 -0
  286. package/lib/typescript/src/games/flappy-bird/FlappyBird.d.ts.map +1 -0
  287. package/lib/typescript/src/games/flappy-bird/FlappyBirdConstants.d.ts +83 -0
  288. package/lib/typescript/src/games/flappy-bird/FlappyBirdConstants.d.ts.map +1 -0
  289. package/lib/typescript/src/games/flappy-bird/FlappyBirdStore.d.ts +53 -0
  290. package/lib/typescript/src/games/flappy-bird/FlappyBirdStore.d.ts.map +1 -0
  291. package/lib/typescript/src/games/flappy-bird/components/Bird.d.ts +8 -0
  292. package/lib/typescript/src/games/flappy-bird/components/Bird.d.ts.map +1 -0
  293. package/lib/typescript/src/games/flappy-bird/components/GameArea.d.ts +8 -0
  294. package/lib/typescript/src/games/flappy-bird/components/GameArea.d.ts.map +1 -0
  295. package/lib/typescript/src/games/flappy-bird/components/GameBackground.d.ts +8 -0
  296. package/lib/typescript/src/games/flappy-bird/components/GameBackground.d.ts.map +1 -0
  297. package/lib/typescript/src/games/flappy-bird/components/Pipes.d.ts +9 -0
  298. package/lib/typescript/src/games/flappy-bird/components/Pipes.d.ts.map +1 -0
  299. package/lib/typescript/src/games/flappy-bird/components/ScoreBoard.d.ts +7 -0
  300. package/lib/typescript/src/games/flappy-bird/components/ScoreBoard.d.ts.map +1 -0
  301. package/lib/typescript/src/games/flappy-bird/components/index.d.ts +6 -0
  302. package/lib/typescript/src/games/flappy-bird/components/index.d.ts.map +1 -0
  303. package/lib/typescript/src/games/fruit-merger/FruitMerger.d.ts +4 -0
  304. package/lib/typescript/src/games/fruit-merger/FruitMerger.d.ts.map +1 -0
  305. package/lib/typescript/src/games/fruit-merger/FruitMergerConstants.d.ts +115 -0
  306. package/lib/typescript/src/games/fruit-merger/FruitMergerConstants.d.ts.map +1 -0
  307. package/lib/typescript/src/games/fruit-merger/FruitMergerService.d.ts +5 -0
  308. package/lib/typescript/src/games/fruit-merger/FruitMergerService.d.ts.map +1 -0
  309. package/lib/typescript/src/games/fruit-merger/FruitMergerStore.d.ts +43 -0
  310. package/lib/typescript/src/games/fruit-merger/FruitMergerStore.d.ts.map +1 -0
  311. package/lib/typescript/src/games/fruit-merger/components/FruitItem.d.ts +10 -0
  312. package/lib/typescript/src/games/fruit-merger/components/FruitItem.d.ts.map +1 -0
  313. package/lib/typescript/src/games/fruit-merger/components/GameArea.d.ts +8 -0
  314. package/lib/typescript/src/games/fruit-merger/components/GameArea.d.ts.map +1 -0
  315. package/lib/typescript/src/games/fruit-merger/components/GameBackground.d.ts +8 -0
  316. package/lib/typescript/src/games/fruit-merger/components/GameBackground.d.ts.map +1 -0
  317. package/lib/typescript/src/games/fruit-merger/components/ScoreBoard.d.ts +7 -0
  318. package/lib/typescript/src/games/fruit-merger/components/ScoreBoard.d.ts.map +1 -0
  319. package/lib/typescript/src/games/fruit-merger/components/index.d.ts +5 -0
  320. package/lib/typescript/src/games/fruit-merger/components/index.d.ts.map +1 -0
  321. package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts +1 -1
  322. package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts.map +1 -1
  323. package/lib/typescript/src/games/fruit-ninja/components/GameBackground.d.ts +1 -0
  324. package/lib/typescript/src/games/fruit-ninja/components/GameBackground.d.ts.map +1 -1
  325. package/lib/typescript/src/games/fruit-ninja/components/ScoreBoard.d.ts +5 -1
  326. package/lib/typescript/src/games/fruit-ninja/components/ScoreBoard.d.ts.map +1 -1
  327. package/lib/typescript/src/games/game-2048/Game2048.d.ts +4 -0
  328. package/lib/typescript/src/games/game-2048/Game2048.d.ts.map +1 -0
  329. package/lib/typescript/src/games/game-2048/Game2048Constants.d.ts +163 -0
  330. package/lib/typescript/src/games/game-2048/Game2048Constants.d.ts.map +1 -0
  331. package/lib/typescript/src/games/game-2048/Game2048Service.d.ts +113 -0
  332. package/lib/typescript/src/games/game-2048/Game2048Service.d.ts.map +1 -0
  333. package/lib/typescript/src/games/game-2048/Game2048Store.d.ts +48 -0
  334. package/lib/typescript/src/games/game-2048/Game2048Store.d.ts.map +1 -0
  335. package/lib/typescript/src/games/game-2048/components/GameBackground.d.ts +7 -0
  336. package/lib/typescript/src/games/game-2048/components/GameBackground.d.ts.map +1 -0
  337. package/lib/typescript/src/games/game-2048/components/GameGrid.d.ts +7 -0
  338. package/lib/typescript/src/games/game-2048/components/GameGrid.d.ts.map +1 -0
  339. package/lib/typescript/src/games/game-2048/components/GameTile.d.ts +13 -0
  340. package/lib/typescript/src/games/game-2048/components/GameTile.d.ts.map +1 -0
  341. package/lib/typescript/src/games/game-2048/components/ScoreBoard.d.ts +7 -0
  342. package/lib/typescript/src/games/game-2048/components/ScoreBoard.d.ts.map +1 -0
  343. package/lib/typescript/src/games/game-2048/components/index.d.ts +5 -0
  344. package/lib/typescript/src/games/game-2048/components/index.d.ts.map +1 -0
  345. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts +1 -1
  346. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts.map +1 -1
  347. package/lib/typescript/src/games/maze-runner/MazeRunnerService.d.ts +1 -0
  348. package/lib/typescript/src/games/maze-runner/MazeRunnerService.d.ts.map +1 -1
  349. package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts +1 -0
  350. package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts.map +1 -1
  351. package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts +1 -1
  352. package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts.map +1 -1
  353. package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts +2 -5
  354. package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts.map +1 -1
  355. package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts +2 -2
  356. package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts.map +1 -1
  357. package/lib/typescript/src/games/sliding-numbers/SlidingNumbers.d.ts +4 -0
  358. package/lib/typescript/src/games/sliding-numbers/SlidingNumbers.d.ts.map +1 -0
  359. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersConstants.d.ts +108 -0
  360. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersConstants.d.ts.map +1 -0
  361. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersService.d.ts +34 -0
  362. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersService.d.ts.map +1 -0
  363. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersStore.d.ts +56 -0
  364. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersStore.d.ts.map +1 -0
  365. package/lib/typescript/src/games/sliding-numbers/components/GameBackground.d.ts +7 -0
  366. package/lib/typescript/src/games/sliding-numbers/components/GameBackground.d.ts.map +1 -0
  367. package/lib/typescript/src/games/sliding-numbers/components/NumbersGrid.d.ts +7 -0
  368. package/lib/typescript/src/games/sliding-numbers/components/NumbersGrid.d.ts.map +1 -0
  369. package/lib/typescript/src/games/sliding-numbers/components/NumbersTile.d.ts +11 -0
  370. package/lib/typescript/src/games/sliding-numbers/components/NumbersTile.d.ts.map +1 -0
  371. package/lib/typescript/src/games/sliding-numbers/components/ScoreBoard.d.ts +7 -0
  372. package/lib/typescript/src/games/sliding-numbers/components/ScoreBoard.d.ts.map +1 -0
  373. package/lib/typescript/src/games/sliding-numbers/components/index.d.ts +5 -0
  374. package/lib/typescript/src/games/sliding-numbers/components/index.d.ts.map +1 -0
  375. package/lib/typescript/src/games/snake/Snake.d.ts +4 -0
  376. package/lib/typescript/src/games/snake/Snake.d.ts.map +1 -0
  377. package/lib/typescript/src/games/snake/SnakeConstants.d.ts +93 -0
  378. package/lib/typescript/src/games/snake/SnakeConstants.d.ts.map +1 -0
  379. package/lib/typescript/src/games/snake/SnakeService.d.ts +30 -0
  380. package/lib/typescript/src/games/snake/SnakeService.d.ts.map +1 -0
  381. package/lib/typescript/src/games/snake/SnakeStore.d.ts +43 -0
  382. package/lib/typescript/src/games/snake/SnakeStore.d.ts.map +1 -0
  383. package/lib/typescript/src/games/snake/components/GameBackground.d.ts +5 -0
  384. package/lib/typescript/src/games/snake/components/GameBackground.d.ts.map +1 -0
  385. package/lib/typescript/src/games/snake/components/GameGrid.d.ts +3 -0
  386. package/lib/typescript/src/games/snake/components/GameGrid.d.ts.map +1 -0
  387. package/lib/typescript/src/games/snake/components/ScoreBoard.d.ts +7 -0
  388. package/lib/typescript/src/games/snake/components/ScoreBoard.d.ts.map +1 -0
  389. package/lib/typescript/src/games/snake/components/index.d.ts +4 -0
  390. package/lib/typescript/src/games/snake/components/index.d.ts.map +1 -0
  391. package/lib/typescript/src/games/snake/index.d.ts +4 -0
  392. package/lib/typescript/src/games/snake/index.d.ts.map +1 -0
  393. package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts +1 -1
  394. package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts.map +1 -1
  395. package/lib/typescript/src/games/space-fighter/SpaceFighterService.d.ts.map +1 -1
  396. package/lib/typescript/src/games/space-fighter/SpaceFighterStore.d.ts +2 -0
  397. package/lib/typescript/src/games/space-fighter/SpaceFighterStore.d.ts.map +1 -1
  398. package/lib/typescript/src/games/space-fighter/components/GameArea.d.ts.map +1 -1
  399. package/lib/typescript/src/games/space-fighter/components/ScoreBoard.d.ts +5 -1
  400. package/lib/typescript/src/games/space-fighter/components/ScoreBoard.d.ts.map +1 -1
  401. package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts +1 -1
  402. package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts.map +1 -1
  403. package/lib/typescript/src/games/whack-a-mole/components/GameBackground.d.ts +1 -0
  404. package/lib/typescript/src/games/whack-a-mole/components/GameBackground.d.ts.map +1 -1
  405. package/lib/typescript/src/games/whack-a-mole/components/ScoreBoard.d.ts +1 -0
  406. package/lib/typescript/src/games/whack-a-mole/components/ScoreBoard.d.ts.map +1 -1
  407. package/lib/typescript/src/helpers/AnimationFrame.d.ts.map +1 -0
  408. package/lib/typescript/src/helpers/AnimationTracker.d.ts.map +1 -0
  409. package/lib/typescript/src/helpers/ErrorHandler.d.ts.map +1 -0
  410. package/lib/typescript/src/helpers/GameControlButton.d.ts.map +1 -0
  411. package/lib/typescript/src/{shared/helpers → helpers}/GameOverModal.d.ts +2 -0
  412. package/lib/typescript/src/helpers/GameOverModal.d.ts.map +1 -0
  413. package/lib/typescript/src/{shared/helpers → helpers}/GameSettingsModal.d.ts +1 -1
  414. package/lib/typescript/src/helpers/GameSettingsModal.d.ts.map +1 -0
  415. package/lib/typescript/src/helpers/ParticleBlast.d.ts.map +1 -0
  416. package/lib/typescript/src/helpers/ScoreBoardContainer.d.ts +9 -0
  417. package/lib/typescript/src/helpers/ScoreBoardContainer.d.ts.map +1 -0
  418. package/lib/typescript/src/{shared/helpers → helpers}/index.d.ts +2 -1
  419. package/lib/typescript/src/helpers/index.d.ts.map +1 -0
  420. package/lib/typescript/src/index.d.ts +9 -0
  421. package/lib/typescript/src/index.d.ts.map +1 -1
  422. package/lib/typescript/src/services/GamesConstants.d.ts +162 -0
  423. package/lib/typescript/src/services/GamesConstants.d.ts.map +1 -1
  424. package/lib/typescript/src/services/GamesService.d.ts +3 -25
  425. package/lib/typescript/src/services/GamesService.d.ts.map +1 -1
  426. package/lib/typescript/src/services/SoundsService.d.ts +103 -0
  427. package/lib/typescript/src/services/SoundsService.d.ts.map +1 -1
  428. package/lib/typescript/src/services/UtilsService.d.ts +38 -0
  429. package/lib/typescript/src/services/UtilsService.d.ts.map +1 -0
  430. package/package.json +1 -1
  431. package/lib/module/shared/helpers/AnimationFrame.js.map +0 -1
  432. package/lib/module/shared/helpers/AnimationTracker.js.map +0 -1
  433. package/lib/module/shared/helpers/ErrorHandler.js.map +0 -1
  434. package/lib/module/shared/helpers/GameControlButton.js.map +0 -1
  435. package/lib/module/shared/helpers/GameOverModal.js.map +0 -1
  436. package/lib/module/shared/helpers/GameSettingsModal.js.map +0 -1
  437. package/lib/module/shared/helpers/ParticleBlast.js.map +0 -1
  438. package/lib/module/shared/helpers/ResponsiveScoreBoard.js +0 -81
  439. package/lib/module/shared/helpers/ResponsiveScoreBoard.js.map +0 -1
  440. package/lib/module/shared/helpers/index.js.map +0 -1
  441. package/lib/typescript/src/shared/helpers/AnimationFrame.d.ts.map +0 -1
  442. package/lib/typescript/src/shared/helpers/AnimationTracker.d.ts.map +0 -1
  443. package/lib/typescript/src/shared/helpers/ErrorHandler.d.ts.map +0 -1
  444. package/lib/typescript/src/shared/helpers/GameControlButton.d.ts.map +0 -1
  445. package/lib/typescript/src/shared/helpers/GameOverModal.d.ts.map +0 -1
  446. package/lib/typescript/src/shared/helpers/GameSettingsModal.d.ts.map +0 -1
  447. package/lib/typescript/src/shared/helpers/ParticleBlast.d.ts.map +0 -1
  448. package/lib/typescript/src/shared/helpers/ResponsiveScoreBoard.d.ts +0 -42
  449. package/lib/typescript/src/shared/helpers/ResponsiveScoreBoard.d.ts.map +0 -1
  450. package/lib/typescript/src/shared/helpers/index.d.ts.map +0 -1
  451. /package/lib/module/{shared/helpers → helpers}/AnimationFrame.js +0 -0
  452. /package/lib/module/{shared/helpers → helpers}/AnimationTracker.js +0 -0
  453. /package/lib/module/{shared/helpers → helpers}/ErrorHandler.js +0 -0
  454. /package/lib/module/{shared/helpers → helpers}/GameControlButton.js +0 -0
  455. /package/lib/typescript/src/{shared/helpers → helpers}/AnimationFrame.d.ts +0 -0
  456. /package/lib/typescript/src/{shared/helpers → helpers}/AnimationTracker.d.ts +0 -0
  457. /package/lib/typescript/src/{shared/helpers → helpers}/ErrorHandler.d.ts +0 -0
  458. /package/lib/typescript/src/{shared/helpers → helpers}/GameControlButton.d.ts +0 -0
  459. /package/lib/typescript/src/{shared/helpers → helpers}/ParticleBlast.d.ts +0 -0
@@ -114,8 +114,9 @@ class SpaceFighterGameService {
114
114
  ...spacecraft
115
115
  };
116
116
 
117
- // Spacecraft never moves vertically - Y position is always locked to initial position
118
- newSpacecraft.y = this.height * 0.70; // Force Y position to always be at correct location (higher up)
117
+ // Spacecraft never moves vertically - Y position is always locked to current position
118
+ // The store manages the Y position based on offset, so we just maintain it
119
+ newSpacecraft.y = spacecraft.y; // Keep Y position as set by store
119
120
  newSpacecraft.velocityY = 0;
120
121
 
121
122
  // Only allow horizontal movement when being controlled
@@ -168,7 +169,8 @@ class SpaceFighterGameService {
168
169
  return {
169
170
  ...spacecraft,
170
171
  x: constrainedX,
171
- // Y position stays exactly the same - no vertical movement
172
+ y: spacecraft.y,
173
+ // Explicitly maintain Y position - no vertical movement
172
174
  velocityX: 0,
173
175
  velocityY: 0,
174
176
  isControlled: true
@@ -304,14 +306,13 @@ class SpaceFighterGameService {
304
306
  const elapsed = currentTime - this.lastCollisionTime;
305
307
  return Math.max(0, GAME_CONFIG.COLLISION_COOLDOWN - elapsed);
306
308
  }
307
-
308
309
  // Initial Spacecraft Position - Centered horizontally, positioned at bottom above start button
309
310
  getInitialSpacecraft() {
310
311
  return {
311
312
  x: this.width / 2,
312
313
  // Ensure exact center
313
- y: this.height * 0.70,
314
- // Position higher up for better gameplay
314
+ y: this.height * 0.77,
315
+ // Fixed position at 77% from top
315
316
  velocityX: 0,
316
317
  velocityY: 0,
317
318
  size: GAME_CONFIG.SPACECRAFT_SIZE,
@@ -1 +1 @@
1
- {"version":3,"names":["SPACE_FIGHTER_GAME_CONFIG","GAME_CONFIG","SPACE_FIGHTER_COLORS","COLORS","SpaceFighterGameService","gameTimer","asteroidSpawnTimer","physicsTimer","particles","lastCollisionTime","currentAsteroidSpeed","ASTEROID_SPEED","currentSpawnInterval","ASTEROID_SPAWN_INTERVAL","constructor","screenWidth","screenHeight","width","height","startGame","cleanup","clearInterval","startGameTimer","decrementTime","setInterval","updateDifficultySettings","asteroidSpeed","spawnInterval","startAsteroidSpawning","spawnAsteroid","initialAsteroids","generateAsteroidPair","asteroids","startPhysicsLoop","updateSpacecraft","updateAsteroid","removeAsteroid","getSpacecraft","getAsteroids","updatePhysics","pairId","Date","now","Math","random","minGapX","maxGapX","ASTEROID_GAP","gapX","leftAsteroid","id","x","y","ASTEROID_WIDTH","type","passed","spawnTime","rightAsteroid","spacecraft","newSpacecraft","velocityY","isControlled","velocityX","size","i","length","asteroid","newY","updateParticles","controlSpacecraft","targetX","_targetY","minX","maxX","constrainedX","max","min","releaseSpacecraft","checkCollision","currentTime","COLLISION_COOLDOWN","collision","spacecraftAsteroidCollision","asteroidId","spacecraftLeft","spacecraftRight","spacecraftTop","spacecraftBottom","asteroidLeft","asteroidRight","asteroidTop","asteroidBottom","checkAsteroidPass","passedAsteroids","push","createCollisionParticles","particle","color","SPACECRAFT","life","maxLife","bigParticle","activeParticles","getParticles","isInCollisionImmunity","getRemainingImmunityTime","elapsed","getInitialSpacecraft","SPACECRAFT_SIZE","createSpaceFighterService"],"sourceRoot":"../../../../src","sources":["games/space-fighter/SpaceFighterService.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["SPACE_FIGHTER_GAME_CONFIG","GAME_CONFIG","SPACE_FIGHTER_COLORS","COLORS","SpaceFighterGameService","gameTimer","asteroidSpawnTimer","physicsTimer","particles","lastCollisionTime","currentAsteroidSpeed","ASTEROID_SPEED","currentSpawnInterval","ASTEROID_SPAWN_INTERVAL","constructor","screenWidth","screenHeight","width","height","startGame","cleanup","clearInterval","startGameTimer","decrementTime","setInterval","updateDifficultySettings","asteroidSpeed","spawnInterval","startAsteroidSpawning","spawnAsteroid","initialAsteroids","generateAsteroidPair","asteroids","startPhysicsLoop","updateSpacecraft","updateAsteroid","removeAsteroid","getSpacecraft","getAsteroids","updatePhysics","pairId","Date","now","Math","random","minGapX","maxGapX","ASTEROID_GAP","gapX","leftAsteroid","id","x","y","ASTEROID_WIDTH","type","passed","spawnTime","rightAsteroid","spacecraft","newSpacecraft","velocityY","isControlled","velocityX","size","i","length","asteroid","newY","updateParticles","controlSpacecraft","targetX","_targetY","minX","maxX","constrainedX","max","min","releaseSpacecraft","checkCollision","currentTime","COLLISION_COOLDOWN","collision","spacecraftAsteroidCollision","asteroidId","spacecraftLeft","spacecraftRight","spacecraftTop","spacecraftBottom","asteroidLeft","asteroidRight","asteroidTop","asteroidBottom","checkAsteroidPass","passedAsteroids","push","createCollisionParticles","particle","color","SPACECRAFT","life","maxLife","bigParticle","activeParticles","getParticles","isInCollisionImmunity","getRemainingImmunityTime","elapsed","getInitialSpacecraft","SPACECRAFT_SIZE","createSpaceFighterService"],"sourceRoot":"../../../../src","sources":["games/space-fighter/SpaceFighterService.ts"],"mappings":"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","ignoreList":[]}
@@ -4,11 +4,17 @@ import { create } from 'zustand';
4
4
  import { subscribeWithSelector } from 'zustand/middleware';
5
5
  import { Dimensions } from 'react-native';
6
6
  import { GAME_CONFIG } from "./SpaceFighterService.js";
7
- import { immerMiddleware } from "../../services/GamesService.js";
7
+ import { immerMiddleware } from "../../services/UtilsService.js";
8
8
  const {
9
9
  width,
10
10
  height
11
11
  } = Dimensions.get('window');
12
+
13
+ // Helper function to get spacecraft Y position based on offset
14
+ const getSpacecraftYPosition = (offset = 0) => {
15
+ const yPercent = offset > 0 ? 0.77 : 0.68;
16
+ return height * yPercent;
17
+ };
12
18
  // Optimized store with selective subscriptions for low-end devices
13
19
  export const useSpaceFighterStore = create()(subscribeWithSelector(immerMiddleware((set, _get) => ({
14
20
  // Initial state
@@ -22,8 +28,8 @@ export const useSpaceFighterStore = create()(subscribeWithSelector(immerMiddlewa
22
28
  spacecraft: {
23
29
  x: width / 2,
24
30
  // Center horizontally
25
- y: height * 0.78,
26
- // Position at bottom above start button (moved up)
31
+ y: getSpacecraftYPosition(0),
32
+ // Dynamic position based on offset
27
33
  velocityX: 0,
28
34
  velocityY: 0,
29
35
  size: GAME_CONFIG.SPACECRAFT_SIZE,
@@ -31,7 +37,15 @@ export const useSpaceFighterStore = create()(subscribeWithSelector(immerMiddlewa
31
37
  },
32
38
  spacecraftPath: [],
33
39
  isControllingSpacecraft: false,
40
+ offset: 0,
34
41
  // Actions
42
+ setOffset: offset => {
43
+ set(draft => {
44
+ draft.offset = offset;
45
+ // Update spacecraft Y position when offset changes
46
+ draft.spacecraft.y = getSpacecraftYPosition(offset);
47
+ });
48
+ },
35
49
  startGame: _gameDuration => {
36
50
  // Always use fixed duration regardless of difficulty or passed duration
37
51
  const duration = 60;
@@ -48,8 +62,8 @@ export const useSpaceFighterStore = create()(subscribeWithSelector(immerMiddlewa
48
62
  draft.spacecraft = {
49
63
  x: width / 2,
50
64
  // Center horizontally
51
- y: height * 0.70,
52
- // Position higher up for better gameplay
65
+ y: getSpacecraftYPosition(draft.offset),
66
+ // Dynamic position based on offset
53
67
  velocityX: 0,
54
68
  velocityY: 0,
55
69
  size: GAME_CONFIG.SPACECRAFT_SIZE,
@@ -71,8 +85,8 @@ export const useSpaceFighterStore = create()(subscribeWithSelector(immerMiddlewa
71
85
  draft.spacecraft = {
72
86
  x: width / 2,
73
87
  // Center horizontally
74
- y: height * 0.70,
75
- // Position higher up for better gameplay
88
+ y: getSpacecraftYPosition(draft.offset),
89
+ // Dynamic position based on offset
76
90
  velocityX: 0,
77
91
  velocityY: 0,
78
92
  size: GAME_CONFIG.SPACECRAFT_SIZE,
@@ -94,8 +108,8 @@ export const useSpaceFighterStore = create()(subscribeWithSelector(immerMiddlewa
94
108
  draft.spacecraft = {
95
109
  x: width / 2,
96
110
  // Center horizontally
97
- y: height * 0.70,
98
- // Position higher up for better gameplay
111
+ y: getSpacecraftYPosition(draft.offset),
112
+ // Dynamic position based on offset
99
113
  velocityX: 0,
100
114
  velocityY: 0,
101
115
  size: GAME_CONFIG.SPACECRAFT_SIZE,
@@ -175,8 +189,8 @@ export const useSpaceFighterStore = create()(subscribeWithSelector(immerMiddlewa
175
189
  draft.spacecraft = {
176
190
  x: width / 2,
177
191
  // Center horizontally
178
- y: height * 0.70,
179
- // Position higher up for better gameplay
192
+ y: getSpacecraftYPosition(draft.offset),
193
+ // Dynamic position based on offset
180
194
  velocityX: 0,
181
195
  velocityY: 0,
182
196
  size: GAME_CONFIG.SPACECRAFT_SIZE,
@@ -1 +1 @@
1
- {"version":3,"names":["create","subscribeWithSelector","Dimensions","GAME_CONFIG","immerMiddleware","width","height","get","useSpaceFighterStore","set","_get","score","timeLeft","isPlaying","gameOver","lives","asteroids","spacecraft","x","y","velocityX","velocityY","size","SPACECRAFT_SIZE","isControlled","spacecraftPath","isControllingSpacecraft","startGame","_gameDuration","duration","draft","stopGame","resetGame","updateScore","points","decrementTime","newTimeLeft","addAsteroids","push","removeAsteroid","asteroidId","filter","a","id","updateAsteroid","updates","i","length","Object","assign","updateSpacecraft","setSpacecraftPath","path","setIsControllingSpacecraft","isControlling","markAsteroidPassed","pairId","passed","loseLife","newLives"],"sourceRoot":"../../../../src","sources":["games/space-fighter/SpaceFighterStore.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["create","subscribeWithSelector","Dimensions","GAME_CONFIG","immerMiddleware","width","height","get","getSpacecraftYPosition","offset","yPercent","useSpaceFighterStore","set","_get","score","timeLeft","isPlaying","gameOver","lives","asteroids","spacecraft","x","y","velocityX","velocityY","size","SPACECRAFT_SIZE","isControlled","spacecraftPath","isControllingSpacecraft","setOffset","draft","startGame","_gameDuration","duration","stopGame","resetGame","updateScore","points","decrementTime","newTimeLeft","addAsteroids","push","removeAsteroid","asteroidId","filter","a","id","updateAsteroid","updates","i","length","Object","assign","updateSpacecraft","setSpacecraftPath","path","setIsControllingSpacecraft","isControlling","markAsteroidPassed","pairId","passed","loseLife","newLives"],"sourceRoot":"../../../../src","sources":["games/space-fighter/SpaceFighterStore.ts"],"mappings":"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","ignoreList":[]}
@@ -7,7 +7,7 @@ import { useSpaceFighterStore } from "../SpaceFighterStore.js";
7
7
  import { createSpaceFighterService } from "../SpaceFighterService.js";
8
8
  import { playSound, GAME_SOUNDS } from "../../../services/SoundsService.js";
9
9
  import { playHaptic, HapticType } from "../../../services/HapticsService.js";
10
- import { ParticleBlast } from "../../../shared/helpers/index.js";
10
+ import { ParticleBlast } from "../../../helpers/index.js";
11
11
  import { AsteroidComponent } from "./AsteroidComponent.js";
12
12
  import { Spacecraft3D } from "./Spacecraft3D.js";
13
13
  import { SpacecraftPath } from "./SpacecraftPath.js";
@@ -38,12 +38,6 @@ export const GameArea = /*#__PURE__*/React.memo(() => {
38
38
  // Game service ref
39
39
  const gameService = useRef(createSpaceFighterService(width, height)).current;
40
40
 
41
- // Initialize spacecraft position on mount
42
- useEffect(() => {
43
- const initialSpacecraft = gameService.getInitialSpacecraft();
44
- updateSpacecraft(initialSpacecraft);
45
- }, [gameService, updateSpacecraft]);
46
-
47
41
  // Spacecraft control refs
48
42
  const currentSpacecraftPath = useRef([]);
49
43
  const initialSpacecraftPosition = useRef(null);
@@ -1 +1 @@
1
- {"version":3,"names":["React","useRef","useEffect","useCallback","useState","useMemo","View","Text","StyleSheet","Dimensions","Gesture","GestureDetector","useSpaceFighterStore","createSpaceFighterService","playSound","GAME_SOUNDS","playHaptic","HapticType","ParticleBlast","AsteroidComponent","Spacecraft3D","SpacecraftPath","jsx","_jsx","jsxs","_jsxs","width","height","get","GameArea","memo","asteroids","state","spacecraft","spacecraftPath","isControllingSpacecraft","isPlaying","updateSpacecraft","setSpacecraftPath","setIsControllingSpacecraft","markAsteroidPassed","loseLife","gameService","current","initialSpacecraft","getInitialSpacecraft","currentSpacecraftPath","initialSpacecraftPosition","initialTouchPosition","pendingSpacecraftUpdate","animationFrameId","lastCollisionTime","activeBlasts","setActiveBlasts","particleColors","playSuccessSound","SPACE_FIGHTER","SUCCESS","LIGHT","playCollisionSound","COLLISION","HEAVY","handleSpacecraftControlStart","x","y","currentSpacecraft","getState","controlledSpacecraft","controlSpacecraft","processPendingSpacecraftUpdate","push","length","shift","handleSpacecraftControlMove","requestAnimationFrame","handleSpacecraftControlEnd","cancelAnimationFrame","releasedSpacecraft","releaseSpacecraft","setTimeout","interval","setInterval","currentAsteroids","collision","checkCollision","now","Date","blastId","prev","id","filter","blast","passedAsteroids","checkAsteroidPass","forEach","pairId","clearInterval","panGesture","Pan","onStart","event","absoluteX","absoluteY","onUpdate","dx","newX","newY","onEnd","onFinalize","runOnJS","style","styles","gameArea","children","path","map","asteroid","colors","particleCount","duration","isControlled","gesture","gestureOverlay","instructionsContainer","instructionsEmoji","instructionsTitle","instructionsSubtitle","create","flex","position","top","left","right","bottom","backgroundColor","zIndex","opacity","alignItems","justifyContent","textAlign","fontSize","marginBottom","color","fontWeight","marginTop"],"sourceRoot":"../../../../../src","sources":["games/space-fighter/components/GameArea.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useRef","useEffect","useCallback","useState","useMemo","View","Text","StyleSheet","Dimensions","Gesture","GestureDetector","useSpaceFighterStore","createSpaceFighterService","playSound","GAME_SOUNDS","playHaptic","HapticType","ParticleBlast","AsteroidComponent","Spacecraft3D","SpacecraftPath","jsx","_jsx","jsxs","_jsxs","width","height","get","GameArea","memo","asteroids","state","spacecraft","spacecraftPath","isControllingSpacecraft","isPlaying","updateSpacecraft","setSpacecraftPath","setIsControllingSpacecraft","markAsteroidPassed","loseLife","gameService","current","currentSpacecraftPath","initialSpacecraftPosition","initialTouchPosition","pendingSpacecraftUpdate","animationFrameId","lastCollisionTime","activeBlasts","setActiveBlasts","particleColors","playSuccessSound","SPACE_FIGHTER","SUCCESS","LIGHT","playCollisionSound","COLLISION","HEAVY","handleSpacecraftControlStart","x","y","currentSpacecraft","getState","controlledSpacecraft","controlSpacecraft","processPendingSpacecraftUpdate","push","length","shift","handleSpacecraftControlMove","requestAnimationFrame","handleSpacecraftControlEnd","cancelAnimationFrame","releasedSpacecraft","releaseSpacecraft","setTimeout","interval","setInterval","currentAsteroids","collision","checkCollision","now","Date","blastId","prev","id","filter","blast","passedAsteroids","checkAsteroidPass","forEach","pairId","clearInterval","panGesture","Pan","onStart","event","absoluteX","absoluteY","onUpdate","dx","newX","newY","onEnd","onFinalize","runOnJS","style","styles","gameArea","children","path","map","asteroid","colors","particleCount","duration","isControlled","gesture","gestureOverlay","instructionsContainer","instructionsEmoji","instructionsTitle","instructionsSubtitle","create","flex","position","top","left","right","bottom","backgroundColor","zIndex","opacity","alignItems","justifyContent","textAlign","fontSize","marginBottom","color","fontWeight","marginTop"],"sourceRoot":"../../../../../src","sources":["games/space-fighter/components/GameArea.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,73 +3,72 @@
3
3
  import React from 'react';
4
4
  import { View, Text, StyleSheet } from 'react-native';
5
5
  import { useSpaceFighterStore } from "../SpaceFighterStore.js";
6
- import { RESPONSIVE_SCOREBOARD_CONTAINER, RESPONSIVE_SCOREBOARD_FONTS } from "../../../shared/helpers/index.js";
6
+ import { ScoreBoardContainer } from "../../../helpers/index.js";
7
7
 
8
8
  // Self-contained ScoreBoard component that reads directly from store
9
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
- export const ScoreBoard = /*#__PURE__*/React.memo(() => {
10
+ export const ScoreBoard = /*#__PURE__*/React.memo(({
11
+ offset = 0
12
+ }) => {
11
13
  // Read state directly from store to minimize re-renders
12
14
  const score = useSpaceFighterStore(state => state.score);
13
15
  const timeLeft = useSpaceFighterStore(state => state.timeLeft);
14
16
  const currentLives = useSpaceFighterStore(state => state.lives);
15
17
  const maxLives = 3;
16
- return /*#__PURE__*/_jsxs(View, {
17
- style: [styles.scoreBoard, {
18
- zIndex: 1000
19
- }],
20
- children: [/*#__PURE__*/_jsxs(View, {
21
- style: styles.scoreItem,
22
- children: [/*#__PURE__*/_jsx(Text, {
23
- style: styles.scoreLabel,
24
- children: "Score"
25
- }), /*#__PURE__*/_jsx(Text, {
26
- style: styles.scoreValue,
27
- children: score
18
+ return /*#__PURE__*/_jsx(ScoreBoardContainer, {
19
+ offset: offset,
20
+ backgroundColor: "rgba(147, 112, 219, 0.4)",
21
+ borderColor: "rgba(139, 92, 246, 0.3)",
22
+ children: /*#__PURE__*/_jsxs(View, {
23
+ style: styles.scoreBoard,
24
+ children: [/*#__PURE__*/_jsxs(View, {
25
+ style: styles.scoreItem,
26
+ children: [/*#__PURE__*/_jsx(Text, {
27
+ style: styles.scoreLabel,
28
+ children: "Score"
29
+ }), /*#__PURE__*/_jsx(Text, {
30
+ style: styles.scoreValue,
31
+ children: score
32
+ })]
33
+ }), /*#__PURE__*/_jsxs(View, {
34
+ style: styles.scoreItem,
35
+ children: [/*#__PURE__*/_jsx(Text, {
36
+ style: styles.scoreLabel,
37
+ children: "Time"
38
+ }), /*#__PURE__*/_jsx(Text, {
39
+ style: styles.timeValue,
40
+ children: timeLeft
41
+ })]
42
+ }), /*#__PURE__*/_jsxs(View, {
43
+ style: styles.scoreItem,
44
+ children: [/*#__PURE__*/_jsx(Text, {
45
+ style: styles.scoreLabel,
46
+ children: "Lives"
47
+ }), /*#__PURE__*/_jsx(View, {
48
+ style: styles.livesContainer,
49
+ children: Array.from({
50
+ length: maxLives
51
+ }, (_, i) => /*#__PURE__*/_jsx(Text, {
52
+ style: [styles.lifeIcon, i < currentLives ? styles.lifeActive : styles.lifeInactive],
53
+ children: i < currentLives ? '❤️' : '🖤'
54
+ }, i))
55
+ })]
28
56
  })]
29
- }), /*#__PURE__*/_jsxs(View, {
30
- style: styles.scoreItem,
31
- children: [/*#__PURE__*/_jsx(Text, {
32
- style: styles.scoreLabel,
33
- children: "Time"
34
- }), /*#__PURE__*/_jsx(Text, {
35
- style: styles.timeValue,
36
- children: timeLeft
37
- })]
38
- }), /*#__PURE__*/_jsxs(View, {
39
- style: styles.scoreItem,
40
- children: [/*#__PURE__*/_jsx(Text, {
41
- style: styles.scoreLabel,
42
- children: "Lives"
43
- }), /*#__PURE__*/_jsx(View, {
44
- style: styles.livesContainer,
45
- children: Array.from({
46
- length: maxLives
47
- }, (_, i) => /*#__PURE__*/_jsx(Text, {
48
- style: [styles.lifeIcon, i < currentLives ? styles.lifeActive : styles.lifeInactive],
49
- children: i < currentLives ? '❤️' : '🖤'
50
- }, i))
51
- })]
52
- })]
57
+ })
53
58
  });
54
59
  });
55
60
  const styles = StyleSheet.create({
56
61
  scoreBoard: {
57
- ...RESPONSIVE_SCOREBOARD_CONTAINER,
58
62
  flexDirection: 'row',
59
63
  justifyContent: 'space-between',
60
- alignItems: 'center',
61
- backgroundColor: 'rgba(147, 112, 219, 0.4)',
62
- // Matches start/stop button purple color with 0.4 opacity
63
- marginBottom: 20,
64
- borderWidth: 2,
65
- borderColor: 'rgba(139, 92, 246, 0.3)' // Purple space border
64
+ alignItems: 'center'
66
65
  },
67
66
  scoreItem: {
68
67
  alignItems: 'center',
69
68
  flex: 1
70
69
  },
71
70
  scoreLabel: {
72
- fontSize: RESPONSIVE_SCOREBOARD_FONTS.labelSize,
71
+ fontSize: 18,
73
72
  fontWeight: 'bold',
74
73
  color: '#e2e8f0',
75
74
  // Light space gray
@@ -82,7 +81,7 @@ const styles = StyleSheet.create({
82
81
  textShadowRadius: 2
83
82
  },
84
83
  scoreValue: {
85
- fontSize: RESPONSIVE_SCOREBOARD_FONTS.valueSize,
84
+ fontSize: 30,
86
85
  fontWeight: 'bold',
87
86
  color: '#fbbf24',
88
87
  // Bright yellow for score
@@ -94,7 +93,7 @@ const styles = StyleSheet.create({
94
93
  textShadowRadius: 2
95
94
  },
96
95
  timeValue: {
97
- fontSize: RESPONSIVE_SCOREBOARD_FONTS.timeSize,
96
+ fontSize: 30,
98
97
  fontWeight: 'bold',
99
98
  color: '#34d399',
100
99
  // Bright green for time
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","StyleSheet","useSpaceFighterStore","RESPONSIVE_SCOREBOARD_CONTAINER","RESPONSIVE_SCOREBOARD_FONTS","jsx","_jsx","jsxs","_jsxs","ScoreBoard","memo","score","state","timeLeft","currentLives","lives","maxLives","style","styles","scoreBoard","zIndex","children","scoreItem","scoreLabel","scoreValue","timeValue","livesContainer","Array","from","length","_","i","lifeIcon","lifeActive","lifeInactive","create","flexDirection","justifyContent","alignItems","backgroundColor","marginBottom","borderWidth","borderColor","flex","fontSize","labelSize","fontWeight","color","textShadowColor","textShadowOffset","width","height","textShadowRadius","valueSize","timeSize","marginHorizontal"],"sourceRoot":"../../../../../src","sources":["games/space-fighter/components/ScoreBoard.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Text","StyleSheet","useSpaceFighterStore","ScoreBoardContainer","jsx","_jsx","jsxs","_jsxs","ScoreBoard","memo","offset","score","state","timeLeft","currentLives","lives","maxLives","backgroundColor","borderColor","children","style","styles","scoreBoard","scoreItem","scoreLabel","scoreValue","timeValue","livesContainer","Array","from","length","_","i","lifeIcon","lifeActive","lifeInactive","create","flexDirection","justifyContent","alignItems","flex","fontSize","fontWeight","color","marginBottom","textShadowColor","textShadowOffset","width","height","textShadowRadius","marginHorizontal"],"sourceRoot":"../../../../../src","sources":["games/space-fighter/components/ScoreBoard.tsx"],"mappings":"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","ignoreList":[]}
@@ -7,13 +7,13 @@ import { playSound, GAME_SOUNDS } from "../../services/SoundsService.js";
7
7
  import { useWhackAMoleStore } from "./WhackAMoleStore.js";
8
8
  import { createWhackAMoleService, ANIMATION_CONFIG, GAME_CONFIG } from "./WhackAMoleService.js";
9
9
  import { ScoreBoard, GameGrid, GameBackground } from "./components/index.js";
10
- import { GameControlButton, GameOverModal } from "../../shared/helpers/index.js";
11
- import { GameSettingsModal } from "../../shared/helpers/GameSettingsModal.js";
10
+ import { GameControlButton, GameOverModal } from "../../helpers/index.js";
11
+ import { GameSettingsModal } from "../../helpers/GameSettingsModal.js";
12
12
  import { WHACK_A_MOLE_CONSTANTS } from "./WhackAMoleConstants.js";
13
- import { GAME_IDS } from "../../services/GamesService.js";
13
+ import { GAME_IDS, DEFAULT_GAME_SETTINGS } from "../../services/UtilsService.js";
14
14
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
15
  export const WhackAMole = ({
16
- settings,
16
+ settings = DEFAULT_GAME_SETTINGS,
17
17
  onSettingsChange
18
18
  }) => {
19
19
  // Use optimized selectors to minimize re-renders while keeping all functionality
@@ -35,9 +35,9 @@ export const WhackAMole = ({
35
35
 
36
36
  // Use settings from props with fallback to defaults
37
37
  const {
38
- difficulty,
39
- enableSounds
40
- } = settings;
38
+ difficulty = 'medium',
39
+ enableSounds = true
40
+ } = settings || {};
41
41
  // Fixed game duration regardless of difficulty - configurable via constants
42
42
  const gameDuration = GAME_CONFIG.GAME_DURATION;
43
43
 
@@ -226,12 +226,19 @@ export const WhackAMole = ({
226
226
  }
227
227
  prevDifficultyRef.current = difficulty;
228
228
  }, [difficulty, isPlaying, gameDuration, gridSize, moleSpawnInterval, startGame, stopGame, decrementTime, spawnMole]);
229
+
230
+ // Get offset from settings
231
+ const offset = settings?.offset ?? 0;
229
232
  return /*#__PURE__*/_jsx(GameBackground, {
233
+ offset: offset,
230
234
  children: /*#__PURE__*/_jsxs(View, {
231
- style: styles.container,
235
+ style: [styles.container, {
236
+ paddingTop: offset
237
+ }],
232
238
  children: [/*#__PURE__*/_jsx(ScoreBoard, {
233
239
  score: score,
234
- timeLeft: timeLeft
240
+ timeLeft: timeLeft,
241
+ offset: offset
235
242
  }), /*#__PURE__*/_jsx(GameGrid, {
236
243
  holes: holes,
237
244
  moleAnimations: moleAnimations,
@@ -244,7 +251,7 @@ export const WhackAMole = ({
244
251
  ...gameOverModalProps
245
252
  }), /*#__PURE__*/_jsx(GameSettingsModal, {
246
253
  gameId: GAME_IDS.WHACK_A_MOLE,
247
- settings: settings,
254
+ settings: settings || DEFAULT_GAME_SETTINGS,
248
255
  onSettingsChange: onSettingsChange
249
256
  })]
250
257
  })
@@ -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","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","requestAnimationFrame","children","style","styles","container","onHolePress","gameId","create","flex","backgroundColor","paddingTop","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","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","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":[]}
@@ -3,7 +3,7 @@
3
3
  import { create } from 'zustand';
4
4
  import { subscribeWithSelector } from 'zustand/middleware';
5
5
  import { GAME_CONFIG } from "./WhackAMoleService.js";
6
- import { immerMiddleware } from "../../services/GamesService.js";
6
+ import { immerMiddleware } from "../../services/UtilsService.js";
7
7
  const createInitialHoles = (gridSize = GAME_CONFIG.GRID_SIZE) => {
8
8
  const totalHoles = gridSize * gridSize;
9
9
  return Array.from({