react-native-games 0.3.0 → 0.4.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 (387) hide show
  1. package/README.md +45 -32
  2. package/lib/module/games/balloon-blaster/BalloonBlaster.js +160 -75
  3. package/lib/module/games/balloon-blaster/BalloonBlaster.js.map +1 -1
  4. package/lib/module/games/balloon-blaster/BalloonBlasterConstants.js +183 -0
  5. package/lib/module/games/balloon-blaster/BalloonBlasterConstants.js.map +1 -0
  6. package/lib/module/games/balloon-blaster/BalloonBlasterService.js +152 -55
  7. package/lib/module/games/balloon-blaster/BalloonBlasterService.js.map +1 -1
  8. package/lib/module/games/balloon-blaster/BalloonBlasterStore.js +108 -92
  9. package/lib/module/games/balloon-blaster/BalloonBlasterStore.js.map +1 -1
  10. package/lib/module/games/balloon-blaster/components/BalloonComponent.js +48 -65
  11. package/lib/module/games/balloon-blaster/components/BalloonComponent.js.map +1 -1
  12. package/lib/module/games/balloon-blaster/components/GameArea.js +7 -2
  13. package/lib/module/games/balloon-blaster/components/GameArea.js.map +1 -1
  14. package/lib/module/games/balloon-blaster/components/GameBackground.js +8 -83
  15. package/lib/module/games/balloon-blaster/components/GameBackground.js.map +1 -1
  16. package/lib/module/games/balloon-blaster/components/ParticleSystem.js +9 -6
  17. package/lib/module/games/balloon-blaster/components/ParticleSystem.js.map +1 -1
  18. package/lib/module/games/balloon-blaster/components/ScoreBoard.js +8 -16
  19. package/lib/module/games/balloon-blaster/components/ScoreBoard.js.map +1 -1
  20. package/lib/module/games/balloon-blaster/components/index.js +0 -1
  21. package/lib/module/games/balloon-blaster/components/index.js.map +1 -1
  22. package/lib/module/games/{fruit-slicer/FruitSlicer.js → fruit-ninja/FruitNinja.js} +68 -54
  23. package/lib/module/games/fruit-ninja/FruitNinja.js.map +1 -0
  24. package/lib/module/games/fruit-ninja/FruitNinjaConstants.js +151 -0
  25. package/lib/module/games/fruit-ninja/FruitNinjaConstants.js.map +1 -0
  26. package/lib/module/games/{fruit-slicer/FruitSlicerService.js → fruit-ninja/FruitNinjaService.js} +13 -12
  27. package/lib/module/games/fruit-ninja/FruitNinjaService.js.map +1 -0
  28. package/lib/module/games/fruit-ninja/FruitNinjaStore.js +166 -0
  29. package/lib/module/games/fruit-ninja/FruitNinjaStore.js.map +1 -0
  30. package/lib/module/games/{fruit-slicer → fruit-ninja}/components/FruitComponent.js +1 -1
  31. package/lib/module/games/fruit-ninja/components/FruitComponent.js.map +1 -0
  32. package/lib/module/games/fruit-ninja/components/GameArea.js.map +1 -0
  33. package/lib/module/games/{fruit-slicer → fruit-ninja}/components/GameBackground.js +198 -169
  34. package/lib/module/games/fruit-ninja/components/GameBackground.js.map +1 -0
  35. package/lib/module/games/fruit-ninja/components/GameOverModal.js.map +1 -0
  36. package/lib/module/games/fruit-ninja/components/ParticleSystem.js.map +1 -0
  37. package/lib/module/games/{fruit-slicer → fruit-ninja}/components/ScoreBoard.js +8 -17
  38. package/lib/module/games/fruit-ninja/components/ScoreBoard.js.map +1 -0
  39. package/lib/module/games/{fruit-slicer → fruit-ninja}/components/SliceTrail.js +1 -1
  40. package/lib/module/games/fruit-ninja/components/SliceTrail.js.map +1 -0
  41. package/lib/module/games/{fruit-slicer → fruit-ninja}/components/index.js +0 -1
  42. package/lib/module/games/fruit-ninja/components/index.js.map +1 -0
  43. package/lib/module/games/maze-runner/MazeRunner.js +109 -91
  44. package/lib/module/games/maze-runner/MazeRunner.js.map +1 -1
  45. package/lib/module/games/maze-runner/MazeRunnerConstants.js +105 -0
  46. package/lib/module/games/maze-runner/MazeRunnerConstants.js.map +1 -0
  47. package/lib/module/games/maze-runner/MazeRunnerService.js +37 -14
  48. package/lib/module/games/maze-runner/MazeRunnerService.js.map +1 -1
  49. package/lib/module/games/maze-runner/components/EnhancedGameArea.js +5 -9
  50. package/lib/module/games/maze-runner/components/EnhancedGameArea.js.map +1 -1
  51. package/lib/module/games/maze-runner/components/GameBackground.js +151 -192
  52. package/lib/module/games/maze-runner/components/GameBackground.js.map +1 -1
  53. package/lib/module/games/maze-runner/components/ScoreBoard.js +8 -23
  54. package/lib/module/games/maze-runner/components/ScoreBoard.js.map +1 -1
  55. package/lib/module/games/maze-runner/components/index.js +0 -1
  56. package/lib/module/games/maze-runner/components/index.js.map +1 -1
  57. package/lib/module/games/popit-fidget/PopitFidget.js +293 -0
  58. package/lib/module/games/popit-fidget/PopitFidget.js.map +1 -0
  59. package/lib/module/games/popit-fidget/PopitFidgetConstants.js +116 -0
  60. package/lib/module/games/popit-fidget/PopitFidgetConstants.js.map +1 -0
  61. package/lib/module/games/popit-fidget/PopitFidgetService.js +191 -0
  62. package/lib/module/games/popit-fidget/PopitFidgetService.js.map +1 -0
  63. package/lib/module/games/popit-fidget/PopitFidgetStore.js +190 -0
  64. package/lib/module/games/popit-fidget/PopitFidgetStore.js.map +1 -0
  65. package/lib/module/games/popit-fidget/components/BubbleComponent.js +196 -0
  66. package/lib/module/games/popit-fidget/components/BubbleComponent.js.map +1 -0
  67. package/lib/module/games/popit-fidget/components/FidgetGrid.js +165 -0
  68. package/lib/module/games/popit-fidget/components/FidgetGrid.js.map +1 -0
  69. package/lib/module/games/popit-fidget/components/GameBackground.js +174 -0
  70. package/lib/module/games/popit-fidget/components/GameBackground.js.map +1 -0
  71. package/lib/module/games/popit-fidget/components/GameOverModal.js +132 -0
  72. package/lib/module/games/popit-fidget/components/GameOverModal.js.map +1 -0
  73. package/lib/module/games/popit-fidget/components/ParticleSystem.js +89 -0
  74. package/lib/module/games/popit-fidget/components/ParticleSystem.js.map +1 -0
  75. package/lib/module/games/popit-fidget/components/ScoreBoard.js +68 -0
  76. package/lib/module/games/popit-fidget/components/ScoreBoard.js.map +1 -0
  77. package/lib/module/games/popit-fidget/components/index.js +9 -0
  78. package/lib/module/games/popit-fidget/components/index.js.map +1 -0
  79. package/lib/module/games/{space-traveller/SpaceTraveller.js → space-fighter/SpaceFighter.js} +94 -70
  80. package/lib/module/games/space-fighter/SpaceFighter.js.map +1 -0
  81. package/lib/module/games/space-fighter/SpaceFighterConstants.js +110 -0
  82. package/lib/module/games/space-fighter/SpaceFighterConstants.js.map +1 -0
  83. package/lib/module/games/{space-traveller/SpaceTravellerService.js → space-fighter/SpaceFighterService.js} +18 -10
  84. package/lib/module/games/space-fighter/SpaceFighterService.js.map +1 -0
  85. package/lib/module/games/space-fighter/SpaceFighterStore.js +143 -0
  86. package/lib/module/games/space-fighter/SpaceFighterStore.js.map +1 -0
  87. package/lib/module/games/space-fighter/components/AsteroidComponent.js.map +1 -0
  88. package/lib/module/games/space-fighter/components/GameArea.js.map +1 -0
  89. package/lib/module/games/space-fighter/components/GameBackground.js.map +1 -0
  90. package/lib/module/games/space-fighter/components/GameOverModal.js.map +1 -0
  91. package/lib/module/games/space-fighter/components/ParticleComponent.js.map +1 -0
  92. package/lib/module/games/{space-traveller → space-fighter}/components/ScoreBoard.js +11 -19
  93. package/lib/module/games/space-fighter/components/ScoreBoard.js.map +1 -0
  94. package/lib/module/games/space-fighter/components/SettingsModal.js.map +1 -0
  95. package/lib/module/games/space-fighter/components/Spacecraft3D.js.map +1 -0
  96. package/lib/module/games/{space-traveller → space-fighter}/components/SpacecraftPath.js +1 -1
  97. package/lib/module/games/space-fighter/components/SpacecraftPath.js.map +1 -0
  98. package/lib/module/games/{space-traveller → space-fighter}/components/index.js +0 -1
  99. package/lib/module/games/space-fighter/components/index.js.map +1 -0
  100. package/lib/module/games/whack-a-mole/WhackAMole.js +273 -0
  101. package/lib/module/games/whack-a-mole/WhackAMole.js.map +1 -0
  102. package/lib/module/games/whack-a-mole/WhackAMoleConstants.js +117 -0
  103. package/lib/module/games/whack-a-mole/WhackAMoleConstants.js.map +1 -0
  104. package/lib/module/games/whack-a-mole/WhackAMoleService.js +120 -0
  105. package/lib/module/games/whack-a-mole/WhackAMoleService.js.map +1 -0
  106. package/lib/module/games/whack-a-mole/WhackAMoleStore.js +159 -0
  107. package/lib/module/games/whack-a-mole/WhackAMoleStore.js.map +1 -0
  108. package/lib/module/games/{cat-popper → whack-a-mole}/components/GameBackground.js +31 -91
  109. package/lib/module/games/whack-a-mole/components/GameBackground.js.map +1 -0
  110. package/lib/module/games/whack-a-mole/components/GameGrid.js +97 -0
  111. package/lib/module/games/whack-a-mole/components/GameGrid.js.map +1 -0
  112. package/lib/module/games/{cat-popper → whack-a-mole}/components/GameHole.js +67 -54
  113. package/lib/module/games/whack-a-mole/components/GameHole.js.map +1 -0
  114. package/lib/module/games/{cat-popper → whack-a-mole}/components/GameOverModal.js +2 -2
  115. package/lib/module/games/whack-a-mole/components/GameOverModal.js.map +1 -0
  116. package/lib/module/games/{cat-popper/components/CatCharacter.js → whack-a-mole/components/MoleCharacter.js} +75 -115
  117. package/lib/module/games/whack-a-mole/components/MoleCharacter.js.map +1 -0
  118. package/lib/module/games/{cat-popper → whack-a-mole}/components/ScoreBoard.js +8 -16
  119. package/lib/module/games/whack-a-mole/components/ScoreBoard.js.map +1 -0
  120. package/lib/module/games/{cat-popper → whack-a-mole}/components/index.js +1 -2
  121. package/lib/module/games/whack-a-mole/components/index.js.map +1 -0
  122. package/lib/module/index.js +4 -3
  123. package/lib/module/index.js.map +1 -1
  124. package/lib/module/services/GamesConstants.js +36 -506
  125. package/lib/module/services/GamesConstants.js.map +1 -1
  126. package/lib/module/services/GamesService.js +22 -14
  127. package/lib/module/services/GamesService.js.map +1 -1
  128. package/lib/module/services/HapticsService.js +77 -0
  129. package/lib/module/services/HapticsService.js.map +1 -0
  130. package/lib/module/services/SoundsService.js +171 -0
  131. package/lib/module/services/SoundsService.js.map +1 -0
  132. package/lib/module/{games/balloon-blaster/components/GameControls.js → shared/helpers/GameControlButton.js} +39 -58
  133. package/lib/module/shared/helpers/GameControlButton.js.map +1 -0
  134. package/lib/module/shared/helpers/ResponsiveScoreBoard.js +81 -0
  135. package/lib/module/shared/helpers/ResponsiveScoreBoard.js.map +1 -0
  136. package/lib/module/shared/helpers/index.js +5 -0
  137. package/lib/module/shared/helpers/index.js.map +1 -0
  138. package/lib/module/shared/settings/SettingsService.js +18 -12
  139. package/lib/module/shared/settings/SettingsService.js.map +1 -1
  140. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts.map +1 -1
  141. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterConstants.d.ts +143 -0
  142. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterConstants.d.ts.map +1 -0
  143. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterService.d.ts +3 -1
  144. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterService.d.ts.map +1 -1
  145. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterStore.d.ts +12 -2
  146. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterStore.d.ts.map +1 -1
  147. package/lib/typescript/src/games/balloon-blaster/components/BalloonComponent.d.ts.map +1 -1
  148. package/lib/typescript/src/games/balloon-blaster/components/GameArea.d.ts.map +1 -1
  149. package/lib/typescript/src/games/balloon-blaster/components/GameBackground.d.ts.map +1 -1
  150. package/lib/typescript/src/games/balloon-blaster/components/ParticleSystem.d.ts.map +1 -1
  151. package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts.map +1 -1
  152. package/lib/typescript/src/games/balloon-blaster/components/index.d.ts +0 -1
  153. package/lib/typescript/src/games/balloon-blaster/components/index.d.ts.map +1 -1
  154. package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts +16 -0
  155. package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts.map +1 -0
  156. package/lib/typescript/src/games/fruit-ninja/FruitNinjaConstants.d.ts +112 -0
  157. package/lib/typescript/src/games/fruit-ninja/FruitNinjaConstants.d.ts.map +1 -0
  158. package/lib/typescript/src/games/{fruit-slicer/FruitSlicerService.d.ts → fruit-ninja/FruitNinjaService.d.ts} +4 -4
  159. package/lib/typescript/src/games/fruit-ninja/FruitNinjaService.d.ts.map +1 -0
  160. package/lib/typescript/src/games/{fruit-slicer/FruitSlicerStore.d.ts → fruit-ninja/FruitNinjaStore.d.ts} +12 -4
  161. package/lib/typescript/src/games/fruit-ninja/FruitNinjaStore.d.ts.map +1 -0
  162. package/lib/typescript/src/games/{fruit-slicer → fruit-ninja}/components/FruitComponent.d.ts +1 -1
  163. package/lib/typescript/src/games/fruit-ninja/components/FruitComponent.d.ts.map +1 -0
  164. package/lib/typescript/src/games/{fruit-slicer → fruit-ninja}/components/GameArea.d.ts +1 -1
  165. package/lib/typescript/src/games/fruit-ninja/components/GameArea.d.ts.map +1 -0
  166. package/lib/typescript/src/games/fruit-ninja/components/GameBackground.d.ts.map +1 -0
  167. package/lib/typescript/src/games/fruit-ninja/components/GameOverModal.d.ts.map +1 -0
  168. package/lib/typescript/src/games/{fruit-slicer → fruit-ninja}/components/ParticleSystem.d.ts +1 -1
  169. package/lib/typescript/src/games/fruit-ninja/components/ParticleSystem.d.ts.map +1 -0
  170. package/lib/typescript/src/games/fruit-ninja/components/ScoreBoard.d.ts.map +1 -0
  171. package/lib/typescript/src/games/fruit-ninja/components/SliceTrail.d.ts.map +1 -0
  172. package/lib/typescript/src/games/{fruit-slicer → fruit-ninja}/components/index.d.ts +0 -1
  173. package/lib/typescript/src/games/fruit-ninja/components/index.d.ts.map +1 -0
  174. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts +1 -9
  175. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts.map +1 -1
  176. package/lib/typescript/src/games/maze-runner/MazeRunnerConstants.d.ts +41 -0
  177. package/lib/typescript/src/games/maze-runner/MazeRunnerConstants.d.ts.map +1 -0
  178. package/lib/typescript/src/games/maze-runner/MazeRunnerService.d.ts +4 -2
  179. package/lib/typescript/src/games/maze-runner/MazeRunnerService.d.ts.map +1 -1
  180. package/lib/typescript/src/games/maze-runner/components/EnhancedGameArea.d.ts.map +1 -1
  181. package/lib/typescript/src/games/maze-runner/components/GameBackground.d.ts +2 -1
  182. package/lib/typescript/src/games/maze-runner/components/GameBackground.d.ts.map +1 -1
  183. package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts.map +1 -1
  184. package/lib/typescript/src/games/maze-runner/components/index.d.ts +0 -1
  185. package/lib/typescript/src/games/maze-runner/components/index.d.ts.map +1 -1
  186. package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts +11 -0
  187. package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts.map +1 -0
  188. package/lib/typescript/src/games/popit-fidget/PopitFidgetConstants.d.ts +45 -0
  189. package/lib/typescript/src/games/popit-fidget/PopitFidgetConstants.d.ts.map +1 -0
  190. package/lib/typescript/src/games/popit-fidget/PopitFidgetService.d.ts +54 -0
  191. package/lib/typescript/src/games/popit-fidget/PopitFidgetService.d.ts.map +1 -0
  192. package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts +40 -0
  193. package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts.map +1 -0
  194. package/lib/typescript/src/games/popit-fidget/components/BubbleComponent.d.ts +12 -0
  195. package/lib/typescript/src/games/popit-fidget/components/BubbleComponent.d.ts.map +1 -0
  196. package/lib/typescript/src/games/popit-fidget/components/FidgetGrid.d.ts +12 -0
  197. package/lib/typescript/src/games/popit-fidget/components/FidgetGrid.d.ts.map +1 -0
  198. package/lib/typescript/src/games/popit-fidget/components/GameBackground.d.ts +9 -0
  199. package/lib/typescript/src/games/popit-fidget/components/GameBackground.d.ts.map +1 -0
  200. package/lib/typescript/src/games/popit-fidget/components/GameOverModal.d.ts +9 -0
  201. package/lib/typescript/src/games/popit-fidget/components/GameOverModal.d.ts.map +1 -0
  202. package/lib/typescript/src/games/popit-fidget/components/ParticleSystem.d.ts +9 -0
  203. package/lib/typescript/src/games/popit-fidget/components/ParticleSystem.d.ts.map +1 -0
  204. package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts +8 -0
  205. package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts.map +1 -0
  206. package/lib/typescript/src/games/popit-fidget/components/index.d.ts +7 -0
  207. package/lib/typescript/src/games/popit-fidget/components/index.d.ts.map +1 -0
  208. package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts +9 -0
  209. package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts.map +1 -0
  210. package/lib/typescript/src/games/space-fighter/SpaceFighterConstants.d.ts +71 -0
  211. package/lib/typescript/src/games/space-fighter/SpaceFighterConstants.d.ts.map +1 -0
  212. package/lib/typescript/src/games/{space-traveller/SpaceTravellerService.d.ts → space-fighter/SpaceFighterService.d.ts} +7 -4
  213. package/lib/typescript/src/games/space-fighter/SpaceFighterService.d.ts.map +1 -0
  214. package/lib/typescript/src/games/{space-traveller/SpaceTravellerStore.d.ts → space-fighter/SpaceFighterStore.d.ts} +12 -4
  215. package/lib/typescript/src/games/space-fighter/SpaceFighterStore.d.ts.map +1 -0
  216. package/lib/typescript/src/games/{space-traveller → space-fighter}/components/AsteroidComponent.d.ts +1 -1
  217. package/lib/typescript/src/games/space-fighter/components/AsteroidComponent.d.ts.map +1 -0
  218. package/lib/typescript/src/games/{space-traveller → space-fighter}/components/GameArea.d.ts +1 -1
  219. package/lib/typescript/src/games/space-fighter/components/GameArea.d.ts.map +1 -0
  220. package/lib/typescript/src/games/space-fighter/components/GameBackground.d.ts.map +1 -0
  221. package/lib/typescript/src/games/space-fighter/components/GameOverModal.d.ts.map +1 -0
  222. package/lib/typescript/src/games/{space-traveller → space-fighter}/components/ParticleComponent.d.ts +1 -1
  223. package/lib/typescript/src/games/space-fighter/components/ParticleComponent.d.ts.map +1 -0
  224. package/lib/typescript/src/games/space-fighter/components/ScoreBoard.d.ts.map +1 -0
  225. package/lib/typescript/src/games/space-fighter/components/SettingsModal.d.ts.map +1 -0
  226. package/lib/typescript/src/games/{space-traveller → space-fighter}/components/Spacecraft3D.d.ts +1 -1
  227. package/lib/typescript/src/games/space-fighter/components/Spacecraft3D.d.ts.map +1 -0
  228. package/lib/typescript/src/games/space-fighter/components/SpacecraftPath.d.ts.map +1 -0
  229. package/lib/typescript/src/games/{space-traveller → space-fighter}/components/index.d.ts +0 -1
  230. package/lib/typescript/src/games/space-fighter/components/index.d.ts.map +1 -0
  231. package/lib/typescript/src/games/{cat-popper/CatPopper.d.ts → whack-a-mole/WhackAMole.d.ts} +4 -4
  232. package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts.map +1 -0
  233. package/lib/typescript/src/games/whack-a-mole/WhackAMoleConstants.d.ts +79 -0
  234. package/lib/typescript/src/games/whack-a-mole/WhackAMoleConstants.d.ts.map +1 -0
  235. package/lib/typescript/src/games/whack-a-mole/WhackAMoleService.d.ts +33 -0
  236. package/lib/typescript/src/games/whack-a-mole/WhackAMoleService.d.ts.map +1 -0
  237. package/lib/typescript/src/games/whack-a-mole/WhackAMoleStore.d.ts +41 -0
  238. package/lib/typescript/src/games/whack-a-mole/WhackAMoleStore.d.ts.map +1 -0
  239. package/lib/typescript/src/games/whack-a-mole/components/GameBackground.d.ts.map +1 -0
  240. package/lib/typescript/src/games/{cat-popper → whack-a-mole}/components/GameGrid.d.ts +2 -2
  241. package/lib/typescript/src/games/whack-a-mole/components/GameGrid.d.ts.map +1 -0
  242. package/lib/typescript/src/games/{cat-popper → whack-a-mole}/components/GameHole.d.ts +3 -2
  243. package/lib/typescript/src/games/whack-a-mole/components/GameHole.d.ts.map +1 -0
  244. package/lib/typescript/src/games/{fruit-slicer → whack-a-mole}/components/GameOverModal.d.ts.map +1 -1
  245. package/lib/typescript/src/games/whack-a-mole/components/MoleCharacter.d.ts +7 -0
  246. package/lib/typescript/src/games/whack-a-mole/components/MoleCharacter.d.ts.map +1 -0
  247. package/lib/typescript/src/games/whack-a-mole/components/ScoreBoard.d.ts.map +1 -0
  248. package/lib/typescript/src/games/{cat-popper → whack-a-mole}/components/index.d.ts +1 -2
  249. package/lib/typescript/src/games/whack-a-mole/components/index.d.ts.map +1 -0
  250. package/lib/typescript/src/index.d.ts +4 -3
  251. package/lib/typescript/src/index.d.ts.map +1 -1
  252. package/lib/typescript/src/services/GamesConstants.d.ts +30 -318
  253. package/lib/typescript/src/services/GamesConstants.d.ts.map +1 -1
  254. package/lib/typescript/src/services/GamesService.d.ts +1 -0
  255. package/lib/typescript/src/services/GamesService.d.ts.map +1 -1
  256. package/lib/typescript/src/services/HapticsService.d.ts +16 -0
  257. package/lib/typescript/src/services/HapticsService.d.ts.map +1 -0
  258. package/lib/typescript/src/services/SoundsService.d.ts +154 -0
  259. package/lib/typescript/src/services/SoundsService.d.ts.map +1 -0
  260. package/lib/typescript/src/shared/helpers/GameControlButton.d.ts +17 -0
  261. package/lib/typescript/src/shared/helpers/GameControlButton.d.ts.map +1 -0
  262. package/lib/typescript/src/shared/helpers/ResponsiveScoreBoard.d.ts +42 -0
  263. package/lib/typescript/src/shared/helpers/ResponsiveScoreBoard.d.ts.map +1 -0
  264. package/lib/typescript/src/shared/helpers/index.d.ts +4 -0
  265. package/lib/typescript/src/shared/helpers/index.d.ts.map +1 -0
  266. package/lib/typescript/src/shared/settings/SettingsService.d.ts +2 -1
  267. package/lib/typescript/src/shared/settings/SettingsService.d.ts.map +1 -1
  268. package/package.json +9 -6
  269. package/lib/module/games/balloon-blaster/components/GameControls.js.map +0 -1
  270. package/lib/module/games/cat-popper/CatPopper.js +0 -230
  271. package/lib/module/games/cat-popper/CatPopper.js.map +0 -1
  272. package/lib/module/games/cat-popper/CatPopperService.js +0 -100
  273. package/lib/module/games/cat-popper/CatPopperService.js.map +0 -1
  274. package/lib/module/games/cat-popper/CatPopperStore.js +0 -113
  275. package/lib/module/games/cat-popper/CatPopperStore.js.map +0 -1
  276. package/lib/module/games/cat-popper/components/CatCharacter.js.map +0 -1
  277. package/lib/module/games/cat-popper/components/GameBackground.js.map +0 -1
  278. package/lib/module/games/cat-popper/components/GameControls.js +0 -230
  279. package/lib/module/games/cat-popper/components/GameControls.js.map +0 -1
  280. package/lib/module/games/cat-popper/components/GameGrid.js +0 -66
  281. package/lib/module/games/cat-popper/components/GameGrid.js.map +0 -1
  282. package/lib/module/games/cat-popper/components/GameHole.js.map +0 -1
  283. package/lib/module/games/cat-popper/components/GameOverModal.js.map +0 -1
  284. package/lib/module/games/cat-popper/components/ScoreBoard.js.map +0 -1
  285. package/lib/module/games/cat-popper/components/index.js.map +0 -1
  286. package/lib/module/games/fruit-slicer/FruitSlicer.js.map +0 -1
  287. package/lib/module/games/fruit-slicer/FruitSlicerService.js.map +0 -1
  288. package/lib/module/games/fruit-slicer/FruitSlicerStore.js +0 -156
  289. package/lib/module/games/fruit-slicer/FruitSlicerStore.js.map +0 -1
  290. package/lib/module/games/fruit-slicer/components/FruitComponent.js.map +0 -1
  291. package/lib/module/games/fruit-slicer/components/GameArea.js.map +0 -1
  292. package/lib/module/games/fruit-slicer/components/GameBackground.js.map +0 -1
  293. package/lib/module/games/fruit-slicer/components/GameControls.js +0 -230
  294. package/lib/module/games/fruit-slicer/components/GameControls.js.map +0 -1
  295. package/lib/module/games/fruit-slicer/components/GameOverModal.js.map +0 -1
  296. package/lib/module/games/fruit-slicer/components/ParticleSystem.js.map +0 -1
  297. package/lib/module/games/fruit-slicer/components/ScoreBoard.js.map +0 -1
  298. package/lib/module/games/fruit-slicer/components/SliceTrail.js.map +0 -1
  299. package/lib/module/games/fruit-slicer/components/index.js.map +0 -1
  300. package/lib/module/games/maze-runner/components/GameControls.js +0 -129
  301. package/lib/module/games/maze-runner/components/GameControls.js.map +0 -1
  302. package/lib/module/games/space-traveller/SpaceTraveller.js.map +0 -1
  303. package/lib/module/games/space-traveller/SpaceTravellerService.js.map +0 -1
  304. package/lib/module/games/space-traveller/SpaceTravellerStore.js +0 -139
  305. package/lib/module/games/space-traveller/SpaceTravellerStore.js.map +0 -1
  306. package/lib/module/games/space-traveller/components/AsteroidComponent.js.map +0 -1
  307. package/lib/module/games/space-traveller/components/GameArea.js.map +0 -1
  308. package/lib/module/games/space-traveller/components/GameBackground.js.map +0 -1
  309. package/lib/module/games/space-traveller/components/GameControls.js +0 -177
  310. package/lib/module/games/space-traveller/components/GameControls.js.map +0 -1
  311. package/lib/module/games/space-traveller/components/GameOverModal.js.map +0 -1
  312. package/lib/module/games/space-traveller/components/ParticleComponent.js.map +0 -1
  313. package/lib/module/games/space-traveller/components/ScoreBoard.js.map +0 -1
  314. package/lib/module/games/space-traveller/components/SettingsModal.js.map +0 -1
  315. package/lib/module/games/space-traveller/components/Spacecraft3D.js.map +0 -1
  316. package/lib/module/games/space-traveller/components/SpacecraftPath.js.map +0 -1
  317. package/lib/module/games/space-traveller/components/index.js.map +0 -1
  318. package/lib/typescript/src/games/balloon-blaster/components/GameControls.d.ts +0 -10
  319. package/lib/typescript/src/games/balloon-blaster/components/GameControls.d.ts.map +0 -1
  320. package/lib/typescript/src/games/cat-popper/CatPopper.d.ts.map +0 -1
  321. package/lib/typescript/src/games/cat-popper/CatPopperService.d.ts +0 -32
  322. package/lib/typescript/src/games/cat-popper/CatPopperService.d.ts.map +0 -1
  323. package/lib/typescript/src/games/cat-popper/CatPopperStore.d.ts +0 -21
  324. package/lib/typescript/src/games/cat-popper/CatPopperStore.d.ts.map +0 -1
  325. package/lib/typescript/src/games/cat-popper/components/CatCharacter.d.ts +0 -7
  326. package/lib/typescript/src/games/cat-popper/components/CatCharacter.d.ts.map +0 -1
  327. package/lib/typescript/src/games/cat-popper/components/GameBackground.d.ts.map +0 -1
  328. package/lib/typescript/src/games/cat-popper/components/GameControls.d.ts +0 -10
  329. package/lib/typescript/src/games/cat-popper/components/GameControls.d.ts.map +0 -1
  330. package/lib/typescript/src/games/cat-popper/components/GameGrid.d.ts.map +0 -1
  331. package/lib/typescript/src/games/cat-popper/components/GameHole.d.ts.map +0 -1
  332. package/lib/typescript/src/games/cat-popper/components/GameOverModal.d.ts.map +0 -1
  333. package/lib/typescript/src/games/cat-popper/components/ScoreBoard.d.ts.map +0 -1
  334. package/lib/typescript/src/games/cat-popper/components/index.d.ts.map +0 -1
  335. package/lib/typescript/src/games/fruit-slicer/FruitSlicer.d.ts +0 -16
  336. package/lib/typescript/src/games/fruit-slicer/FruitSlicer.d.ts.map +0 -1
  337. package/lib/typescript/src/games/fruit-slicer/FruitSlicerService.d.ts.map +0 -1
  338. package/lib/typescript/src/games/fruit-slicer/FruitSlicerStore.d.ts.map +0 -1
  339. package/lib/typescript/src/games/fruit-slicer/components/FruitComponent.d.ts.map +0 -1
  340. package/lib/typescript/src/games/fruit-slicer/components/GameArea.d.ts.map +0 -1
  341. package/lib/typescript/src/games/fruit-slicer/components/GameBackground.d.ts.map +0 -1
  342. package/lib/typescript/src/games/fruit-slicer/components/GameControls.d.ts +0 -10
  343. package/lib/typescript/src/games/fruit-slicer/components/GameControls.d.ts.map +0 -1
  344. package/lib/typescript/src/games/fruit-slicer/components/ParticleSystem.d.ts.map +0 -1
  345. package/lib/typescript/src/games/fruit-slicer/components/ScoreBoard.d.ts.map +0 -1
  346. package/lib/typescript/src/games/fruit-slicer/components/SliceTrail.d.ts.map +0 -1
  347. package/lib/typescript/src/games/fruit-slicer/components/index.d.ts.map +0 -1
  348. package/lib/typescript/src/games/maze-runner/components/GameControls.d.ts +0 -10
  349. package/lib/typescript/src/games/maze-runner/components/GameControls.d.ts.map +0 -1
  350. package/lib/typescript/src/games/space-traveller/SpaceTraveller.d.ts +0 -17
  351. package/lib/typescript/src/games/space-traveller/SpaceTraveller.d.ts.map +0 -1
  352. package/lib/typescript/src/games/space-traveller/SpaceTravellerService.d.ts.map +0 -1
  353. package/lib/typescript/src/games/space-traveller/SpaceTravellerStore.d.ts.map +0 -1
  354. package/lib/typescript/src/games/space-traveller/components/AsteroidComponent.d.ts.map +0 -1
  355. package/lib/typescript/src/games/space-traveller/components/GameArea.d.ts.map +0 -1
  356. package/lib/typescript/src/games/space-traveller/components/GameBackground.d.ts.map +0 -1
  357. package/lib/typescript/src/games/space-traveller/components/GameControls.d.ts +0 -10
  358. package/lib/typescript/src/games/space-traveller/components/GameControls.d.ts.map +0 -1
  359. package/lib/typescript/src/games/space-traveller/components/GameOverModal.d.ts.map +0 -1
  360. package/lib/typescript/src/games/space-traveller/components/ParticleComponent.d.ts.map +0 -1
  361. package/lib/typescript/src/games/space-traveller/components/ScoreBoard.d.ts.map +0 -1
  362. package/lib/typescript/src/games/space-traveller/components/SettingsModal.d.ts.map +0 -1
  363. package/lib/typescript/src/games/space-traveller/components/Spacecraft3D.d.ts.map +0 -1
  364. package/lib/typescript/src/games/space-traveller/components/SpacecraftPath.d.ts.map +0 -1
  365. package/lib/typescript/src/games/space-traveller/components/index.d.ts.map +0 -1
  366. /package/lib/module/games/{fruit-slicer → fruit-ninja}/components/GameArea.js +0 -0
  367. /package/lib/module/games/{fruit-slicer → fruit-ninja}/components/GameOverModal.js +0 -0
  368. /package/lib/module/games/{fruit-slicer → fruit-ninja}/components/ParticleSystem.js +0 -0
  369. /package/lib/module/games/{space-traveller → space-fighter}/components/AsteroidComponent.js +0 -0
  370. /package/lib/module/games/{space-traveller → space-fighter}/components/GameArea.js +0 -0
  371. /package/lib/module/games/{space-traveller → space-fighter}/components/GameBackground.js +0 -0
  372. /package/lib/module/games/{space-traveller → space-fighter}/components/GameOverModal.js +0 -0
  373. /package/lib/module/games/{space-traveller → space-fighter}/components/ParticleComponent.js +0 -0
  374. /package/lib/module/games/{space-traveller → space-fighter}/components/SettingsModal.js +0 -0
  375. /package/lib/module/games/{space-traveller → space-fighter}/components/Spacecraft3D.js +0 -0
  376. /package/lib/typescript/src/games/{cat-popper → fruit-ninja}/components/GameBackground.d.ts +0 -0
  377. /package/lib/typescript/src/games/{cat-popper → fruit-ninja}/components/GameOverModal.d.ts +0 -0
  378. /package/lib/typescript/src/games/{fruit-slicer → fruit-ninja}/components/ScoreBoard.d.ts +0 -0
  379. /package/lib/typescript/src/games/{fruit-slicer → fruit-ninja}/components/SliceTrail.d.ts +0 -0
  380. /package/lib/typescript/src/games/{fruit-slicer → space-fighter}/components/GameBackground.d.ts +0 -0
  381. /package/lib/typescript/src/games/{fruit-slicer → space-fighter}/components/GameOverModal.d.ts +0 -0
  382. /package/lib/typescript/src/games/{cat-popper → space-fighter}/components/ScoreBoard.d.ts +0 -0
  383. /package/lib/typescript/src/games/{space-traveller → space-fighter}/components/SettingsModal.d.ts +0 -0
  384. /package/lib/typescript/src/games/{space-traveller → space-fighter}/components/SpacecraftPath.d.ts +0 -0
  385. /package/lib/typescript/src/games/{space-traveller → whack-a-mole}/components/GameBackground.d.ts +0 -0
  386. /package/lib/typescript/src/games/{space-traveller → whack-a-mole}/components/GameOverModal.d.ts +0 -0
  387. /package/lib/typescript/src/games/{space-traveller → whack-a-mole}/components/ScoreBoard.d.ts +0 -0
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { create } from 'zustand';
4
+ import { immerMiddleware } from "../../services/GamesService.js";
4
5
 
5
6
  // Simplified game settings interface - only the essentials
6
7
 
@@ -9,7 +10,7 @@ export const GAME_DURATIONS = {
9
10
  easy: 60,
10
11
  // 1 minute
11
12
  medium: 120,
12
- // 2 minutes
13
+ // 2 minutes
13
14
  hard: 180 // 3 minutes
14
15
  };
15
16
 
@@ -33,15 +34,15 @@ export const createGameSettingsStore = (initialSettings = {}, onSettingsChange)
33
34
  ...DEFAULT_GAME_SETTINGS,
34
35
  ...initialSettings
35
36
  };
36
- return create((set, get) => ({
37
+ return create()(immerMiddleware((set, get) => ({
37
38
  ...mergedSettings,
38
39
  // Computed game duration based on difficulty
39
40
  get gameDuration() {
40
41
  return getDurationForDifficulty(get().difficulty);
41
42
  },
42
43
  setDifficulty: difficulty => {
43
- set({
44
- difficulty
44
+ set(draft => {
45
+ draft.difficulty = difficulty;
45
46
  });
46
47
  if (onSettingsChange) {
47
48
  const currentState = get();
@@ -54,8 +55,8 @@ export const createGameSettingsStore = (initialSettings = {}, onSettingsChange)
54
55
  }
55
56
  },
56
57
  setSoundEnabled: soundEnabled => {
57
- set({
58
- soundEnabled
58
+ set(draft => {
59
+ draft.soundEnabled = soundEnabled;
59
60
  });
60
61
  if (onSettingsChange) {
61
62
  const currentState = get();
@@ -68,8 +69,8 @@ export const createGameSettingsStore = (initialSettings = {}, onSettingsChange)
68
69
  }
69
70
  },
70
71
  setHapticEnabled: hapticEnabled => {
71
- set({
72
- hapticEnabled
72
+ set(draft => {
73
+ draft.hapticEnabled = hapticEnabled;
73
74
  });
74
75
  if (onSettingsChange) {
75
76
  const currentState = get();
@@ -82,7 +83,9 @@ export const createGameSettingsStore = (initialSettings = {}, onSettingsChange)
82
83
  }
83
84
  },
84
85
  updateSettings: settings => {
85
- set(settings);
86
+ set(draft => {
87
+ Object.assign(draft, settings);
88
+ });
86
89
  if (onSettingsChange) {
87
90
  const currentState = get();
88
91
  onSettingsChange({
@@ -97,7 +100,9 @@ export const createGameSettingsStore = (initialSettings = {}, onSettingsChange)
97
100
  const defaultSettings = {
98
101
  ...DEFAULT_GAME_SETTINGS
99
102
  };
100
- set(defaultSettings);
103
+ set(draft => {
104
+ Object.assign(draft, defaultSettings);
105
+ });
101
106
  if (onSettingsChange) {
102
107
  onSettingsChange({
103
108
  ...defaultSettings,
@@ -105,15 +110,16 @@ export const createGameSettingsStore = (initialSettings = {}, onSettingsChange)
105
110
  });
106
111
  }
107
112
  }
108
- }));
113
+ })));
109
114
  };
110
115
 
111
116
  // Export game IDs for consistency
112
117
  export const GAME_IDS = {
113
118
  WHACK_IT: 'whack-it',
119
+ POPIT_FIDGET: 'popit-fidget',
114
120
  FRUIT_NINJA: 'fruit-ninja',
115
121
  BALLOON_BLASTER: 'balloon-blaster',
116
- SPACE_CRAFT: 'space-craft',
122
+ SPACE_FIGHTER: 'space-fighter',
117
123
  MAZE_RUNNER: 'maze-runner'
118
124
  };
119
125
  //# sourceMappingURL=SettingsService.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["create","GAME_DURATIONS","easy","medium","hard","getDurationForDifficulty","difficulty","DEFAULT_GAME_SETTINGS","soundEnabled","hapticEnabled","createGameSettingsStore","initialSettings","onSettingsChange","mergedSettings","set","get","gameDuration","setDifficulty","currentState","setSoundEnabled","setHapticEnabled","updateSettings","settings","resetToDefaults","defaultSettings","GAME_IDS","WHACK_IT","FRUIT_NINJA","BALLOON_BLASTER","SPACE_CRAFT","MAZE_RUNNER"],"sourceRoot":"../../../../src","sources":["shared/settings/SettingsService.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["create","immerMiddleware","GAME_DURATIONS","easy","medium","hard","getDurationForDifficulty","difficulty","DEFAULT_GAME_SETTINGS","soundEnabled","hapticEnabled","createGameSettingsStore","initialSettings","onSettingsChange","mergedSettings","set","get","gameDuration","setDifficulty","draft","currentState","setSoundEnabled","setHapticEnabled","updateSettings","settings","Object","assign","resetToDefaults","defaultSettings","GAME_IDS","WHACK_IT","POPIT_FIDGET","FRUIT_NINJA","BALLOON_BLASTER","SPACE_FIGHTER","MAZE_RUNNER"],"sourceRoot":"../../../../src","sources":["shared/settings/SettingsService.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"BalloonBlaster.d.ts","sourceRoot":"","sources":["../../../../../src/games/balloon-blaster/BalloonBlaster.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAUjD,UAAU,0BAA0B;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IACvC,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;CACxB;AAgBD,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,EAAE,0BAA0B,CAAC;IACtC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,0BAA0B,KAAK,IAAI,CAAC;IAClE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;CACpC;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAwWxD,CAAC"}
1
+ {"version":3,"file":"BalloonBlaster.d.ts","sourceRoot":"","sources":["../../../../../src/games/balloon-blaster/BalloonBlaster.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAW9D,UAAU,0BAA0B;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IACvC,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;CACxB;AAiBD,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,EAAE,0BAA0B,CAAC;IACtC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,0BAA0B,KAAK,IAAI,CAAC;IAClE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;CACpC;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA+axD,CAAC"}
@@ -0,0 +1,143 @@
1
+ import type { GameSettingsTheme } from '../../shared/settings/GameSettings';
2
+ export declare const BALLOON_BLASTER_GAME_CONFIG: {
3
+ readonly GAME_DURATION: 60;
4
+ readonly MAX_LIVES: 3;
5
+ readonly BALLOON_SPAWN_INTERVAL: 1200;
6
+ readonly BALLOON_RISE_SPEED: 0.1;
7
+ readonly GRAVITY: -0.005;
8
+ readonly INITIAL_VELOCITY_Y: -0.5;
9
+ readonly INITIAL_VELOCITY_X_RANGE: 0.2;
10
+ readonly BALLOON_SIZE: 60;
11
+ readonly SLICE_TRAIL_LENGTH: 10;
12
+ readonly COMBO_TIMEOUT: 2000;
13
+ readonly PARTICLE_COUNT: 4;
14
+ readonly PARTICLE_LIFETIME: 600;
15
+ };
16
+ export declare const BALLOON_BLASTER_ANIMATION_CONFIG: {
17
+ readonly BALLOON_SPRING: {
18
+ readonly damping: 30;
19
+ readonly stiffness: 50;
20
+ };
21
+ readonly POP_SPRING: {
22
+ readonly damping: 20;
23
+ readonly stiffness: 300;
24
+ };
25
+ readonly PARTICLE_SPRING: {
26
+ readonly damping: 25;
27
+ readonly stiffness: 400;
28
+ };
29
+ readonly SLICE_TIMING: {
30
+ readonly duration: 200;
31
+ };
32
+ };
33
+ export declare const BALLOON_BLASTER_COLORS: {
34
+ readonly BACKGROUND: "#87CEEB";
35
+ readonly SCORE_BOARD: "#4169E1";
36
+ readonly SLICE_TRAIL: "#FFD700";
37
+ readonly PARTICLE_COLORS: readonly ["#FF6B6B", "#4ECDC4", "#45B7D1", "#96CEB4", "#FFEAA7", "#DDA0DD"];
38
+ readonly COMBO_TEXT: "#FF4757";
39
+ readonly LIVES_COLOR: "#FF6B6B";
40
+ readonly PARTICLE_GLOW: "rgba(255,255,255,0.9)";
41
+ readonly SCORE: "#FFFFFF";
42
+ readonly UI: "#FF6347";
43
+ readonly BUTTON_ACTIVE: "#FF7F50";
44
+ readonly BUTTON_INACTIVE: "#FFA07A";
45
+ readonly TEXT_PRIMARY: "#FFFFFF";
46
+ readonly TEXT_SECONDARY: "#F0F8FF";
47
+ readonly WHITE: "#FFFFFF";
48
+ readonly START_BUTTON: "#4CAF50";
49
+ readonly GAME_OVER_OVERLAY: "rgba(0, 0, 0, 0.85)";
50
+ };
51
+ export declare const BALLOON_TYPES: readonly [{
52
+ readonly emoji: "🎈";
53
+ readonly points: 10;
54
+ readonly name: "red balloon";
55
+ readonly color: "#FF0040";
56
+ readonly gradient: readonly ["#FF0040", "#FF4080"];
57
+ }, {
58
+ readonly emoji: "🎈";
59
+ readonly points: 10;
60
+ readonly name: "blue balloon";
61
+ readonly color: "#0080FF";
62
+ readonly gradient: readonly ["#0080FF", "#40A0FF"];
63
+ }, {
64
+ readonly emoji: "🎈";
65
+ readonly points: 15;
66
+ readonly name: "yellow balloon";
67
+ readonly color: "#FFD700";
68
+ readonly gradient: readonly ["#FFD700", "#FFEB3B"];
69
+ }, {
70
+ readonly emoji: "🎈";
71
+ readonly points: 20;
72
+ readonly name: "green balloon";
73
+ readonly color: "#00FF80";
74
+ readonly gradient: readonly ["#00FF80", "#40FFA0"];
75
+ }, {
76
+ readonly emoji: "🎈";
77
+ readonly points: 25;
78
+ readonly name: "purple balloon";
79
+ readonly color: "#8000FF";
80
+ readonly gradient: readonly ["#8000FF", "#A040FF"];
81
+ }, {
82
+ readonly emoji: "🎈";
83
+ readonly points: 15;
84
+ readonly name: "pink balloon";
85
+ readonly color: "#FF0080";
86
+ readonly gradient: readonly ["#FF0080", "#FF40A0"];
87
+ }, {
88
+ readonly emoji: "🎈";
89
+ readonly points: 30;
90
+ readonly name: "orange balloon";
91
+ readonly color: "#FF4000";
92
+ readonly gradient: readonly ["#FF4000", "#FF8040"];
93
+ }, {
94
+ readonly emoji: "🎈";
95
+ readonly points: 25;
96
+ readonly name: "cyan balloon";
97
+ readonly color: "#00FFFF";
98
+ readonly gradient: readonly ["#00FFFF", "#40FFFF"];
99
+ }, {
100
+ readonly emoji: "🎈";
101
+ readonly points: 35;
102
+ readonly name: "magenta balloon";
103
+ readonly color: "#FF00FF";
104
+ readonly gradient: readonly ["#FF00FF", "#FF40FF"];
105
+ }, {
106
+ readonly emoji: "🎈";
107
+ readonly points: 40;
108
+ readonly name: "gold balloon";
109
+ readonly color: "#FFB000";
110
+ readonly gradient: readonly ["#FFB000", "#FFD700"];
111
+ }, {
112
+ readonly emoji: "🎈";
113
+ readonly points: 45;
114
+ readonly name: "rainbow balloon";
115
+ readonly color: "#FF0080";
116
+ readonly gradient: readonly ["#FF0080", "#8000FF", "#0080FF", "#00FF80"];
117
+ }, {
118
+ readonly emoji: "🎈";
119
+ readonly points: 50;
120
+ readonly name: "neon balloon";
121
+ readonly color: "#00FF00";
122
+ readonly gradient: readonly ["#00FF00", "#FFFF00"];
123
+ }];
124
+ export declare const BALLOON_SPECIAL_ITEMS: readonly [{
125
+ readonly emoji: "💣";
126
+ readonly points: -50;
127
+ readonly name: "bomb";
128
+ readonly isBomb: true;
129
+ readonly color: "#FF4444";
130
+ }, {
131
+ readonly emoji: "⭐";
132
+ readonly points: 50;
133
+ readonly name: "star";
134
+ readonly isBonus: true;
135
+ readonly color: "#FFD700";
136
+ }];
137
+ export declare const BALLOON_BLASTER_THEME: GameSettingsTheme;
138
+ export declare const BALLOON_BLASTER_DIFFICULTY_DESCRIPTIONS: {
139
+ readonly easy: "60 seconds, balloons spawn slower";
140
+ readonly medium: "120 seconds, balanced gameplay";
141
+ readonly hard: "180 seconds, fast balloons, quick reflexes needed!";
142
+ };
143
+ //# sourceMappingURL=BalloonBlasterConstants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BalloonBlasterConstants.d.ts","sourceRoot":"","sources":["../../../../../src/games/balloon-blaster/BalloonBlasterConstants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAG5E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;CAa9B,CAAC;AAEX,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;CAgBnC,CAAC;AAEX,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;CAiBzB,CAAC;AAGX,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAahB,CAAC;AAEX,eAAO,MAAM,qBAAqB;;;;;;;;;;;;EAGxB,CAAC;AAGX,eAAO,MAAM,qBAAqB,EAAE,iBAgBnC,CAAC;AAGF,eAAO,MAAM,uCAAuC;;;;CAI1C,CAAC"}
@@ -1,4 +1,4 @@
1
- import { BALLOON_BLASTER_GAME_CONFIG as GAME_CONFIG, BALLOON_BLASTER_ANIMATION_CONFIG as ANIMATION_CONFIG, BALLOON_BLASTER_COLORS as COLORS, BALLOON_TYPES, BALLOON_SPECIAL_ITEMS as SPECIAL_ITEMS } from '../../services/GamesConstants';
1
+ import { BALLOON_BLASTER_GAME_CONFIG as GAME_CONFIG, BALLOON_BLASTER_ANIMATION_CONFIG as ANIMATION_CONFIG, BALLOON_BLASTER_COLORS as COLORS, BALLOON_TYPES, BALLOON_SPECIAL_ITEMS as SPECIAL_ITEMS } from './BalloonBlasterConstants';
2
2
  export { GAME_CONFIG, ANIMATION_CONFIG, COLORS, BALLOON_TYPES, SPECIAL_ITEMS };
3
3
  export interface Balloon {
4
4
  id: string;
@@ -42,11 +42,13 @@ export declare class BalloonBlasterService {
42
42
  private animationRef;
43
43
  private comboTimeoutRef;
44
44
  private particles;
45
+ private lastSpawnPositions;
45
46
  constructor(balloonAnimations: Map<string, any>, particleAnimations: Map<string, any>);
46
47
  startGameTimer(onTick: () => void): void;
47
48
  startBalloonSpawning(spawnBalloon: (balloon: Balloon) => void, customSpawnInterval?: number): void;
48
49
  startPhysicsLoop(updateBalloon: (balloonId: string, updates: Partial<Balloon>) => void, removeBalloon: (balloonId: string) => void, getBalloons: () => Balloon[]): void;
49
50
  createRandomBalloon(): Balloon;
51
+ private isPositionTooClose;
50
52
  createPopParticles(balloon: Balloon): Particle[];
51
53
  private updateParticles;
52
54
  getParticles(): Particle[];
@@ -1 +1 @@
1
- {"version":3,"file":"BalloonBlasterService.d.ts","sourceRoot":"","sources":["../../../../../src/games/balloon-blaster/BalloonBlasterService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BalloonBlasterService.d.ts","sourceRoot":"","sources":["../../../../../src/games/balloon-blaster/BalloonBlasterService.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Balloon } from './BalloonBlasterService';
1
+ import type { Balloon, Particle } from './BalloonBlasterService';
2
2
  export interface GameState {
3
3
  score: number;
4
4
  timeLeft: number;
@@ -9,6 +9,7 @@ export interface GameState {
9
9
  }
10
10
  export interface BalloonBlasterStore extends GameState {
11
11
  balloons: Balloon[];
12
+ particles: Particle[];
12
13
  slicePath: {
13
14
  x: number;
14
15
  y: number;
@@ -23,6 +24,7 @@ export interface BalloonBlasterStore extends GameState {
23
24
  addBalloon: (balloon: Balloon) => void;
24
25
  removeBalloon: (balloonId: string) => void;
25
26
  updateBalloon: (balloonId: string, updates: Partial<Balloon>) => void;
27
+ setParticles: (particles: Particle[]) => void;
26
28
  setSlicePath: (path: {
27
29
  x: number;
28
30
  y: number;
@@ -33,5 +35,13 @@ export interface BalloonBlasterStore extends GameState {
33
35
  loseLife: () => void;
34
36
  addLife: () => void;
35
37
  }
36
- export declare const useBalloonBlasterStore: import("zustand").UseBoundStore<import("zustand").StoreApi<BalloonBlasterStore>>;
38
+ export declare const useBalloonBlasterStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<BalloonBlasterStore>, "subscribe"> & {
39
+ subscribe: {
40
+ (listener: (selectedState: BalloonBlasterStore, previousSelectedState: BalloonBlasterStore) => void): () => void;
41
+ <U>(selector: (state: BalloonBlasterStore) => U, listener: (selectedState: U, previousSelectedState: U) => void, options?: {
42
+ equalityFn?: ((a: U, b: U) => boolean) | undefined;
43
+ fireImmediately?: boolean;
44
+ } | undefined): () => void;
45
+ };
46
+ }>;
37
47
  //# sourceMappingURL=BalloonBlasterStore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BalloonBlasterStore.d.ts","sourceRoot":"","sources":["../../../../../src/games/balloon-blaster/BalloonBlasterStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGvD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAoB,SAAQ,SAAS;IACpD,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACtC,SAAS,EAAE,OAAO,CAAC;IAGnB,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACtE,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,KAAK,IAAI,CAAC;IACzD,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,sBAAsB,kFA+IhC,CAAC"}
1
+ {"version":3,"file":"BalloonBlasterStore.d.ts","sourceRoot":"","sources":["../../../../../src/games/balloon-blaster/BalloonBlasterStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAIjE,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAoB,SAAQ,SAAS;IACpD,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,SAAS,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACtC,SAAS,EAAE,OAAO,CAAC;IAGnB,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACtE,YAAY,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;IAC9C,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,KAAK,IAAI,CAAC;IACzD,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAGD,eAAO,MAAM,sBAAsB;;;;;;;;EAmL9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BalloonComponent.d.ts","sourceRoot":"","sources":["../../../../../../src/games/balloon-blaster/components/BalloonComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AASzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAGxD,UAAU,qBAAqB;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA2P5D,CAAC"}
1
+ {"version":3,"file":"BalloonComponent.d.ts","sourceRoot":"","sources":["../../../../../../src/games/balloon-blaster/components/BalloonComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAS/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAGxD,UAAU,qBAAqB;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAqO3D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"GameArea.d.ts","sourceRoot":"","sources":["../../../../../../src/games/balloon-blaster/components/GameArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAKlE,UAAU,aAAa;IACrB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACpC,SAAS,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAoB5C,CAAC"}
1
+ {"version":3,"file":"GameArea.d.ts","sourceRoot":"","sources":["../../../../../../src/games/balloon-blaster/components/GameArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAKlE,UAAU,aAAa;IACrB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACpC,SAAS,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAmB5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"GameBackground.d.ts","sourceRoot":"","sources":["../../../../../../src/games/balloon-blaster/components/GameBackground.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AA0BzC,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAuVxD,CAAC"}
1
+ {"version":3,"file":"GameBackground.d.ts","sourceRoot":"","sources":["../../../../../../src/games/balloon-blaster/components/GameBackground.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAgB1B,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAiQxD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ParticleSystem.d.ts","sourceRoot":"","sources":["../../../../../../src/games/balloon-blaster/components/ParticleSystem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAIzD,UAAU,mBAAmB;IAC3B,SAAS,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA0BxD,CAAC"}
1
+ {"version":3,"file":"ParticleSystem.d.ts","sourceRoot":"","sources":["../../../../../../src/games/balloon-blaster/components/ParticleSystem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAIzD,UAAU,mBAAmB;IAC3B,SAAS,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA6BvD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScoreBoard.d.ts","sourceRoot":"","sources":["../../../../../../src/games/balloon-blaster/components/ScoreBoard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA0BhD,CAAC"}
1
+ {"version":3,"file":"ScoreBoard.d.ts","sourceRoot":"","sources":["../../../../../../src/games/balloon-blaster/components/ScoreBoard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA0BhD,CAAC"}
@@ -1,7 +1,6 @@
1
1
  export { BalloonComponent } from './BalloonComponent';
2
2
  export { GameArea } from './GameArea';
3
3
  export { GameBackground } from './GameBackground';
4
- export { GameControls } from './GameControls';
5
4
  export { GameOverModal } from './GameOverModal';
6
5
  export { ParticleSystem } from './ParticleSystem';
7
6
  export { ScoreBoard } from './ScoreBoard';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/games/balloon-blaster/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/games/balloon-blaster/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ interface FruitNinjaGameSettings {
3
+ gameDuration: number;
4
+ difficulty: 'easy' | 'medium' | 'hard';
5
+ soundEnabled: boolean;
6
+ hapticEnabled: boolean;
7
+ }
8
+ interface FruitNinjaProps {
9
+ settings?: FruitNinjaGameSettings;
10
+ onSettingsChange?: (settings: FruitNinjaGameSettings) => void;
11
+ showSettingsModal?: boolean;
12
+ onToggleSettingsModal?: () => void;
13
+ }
14
+ export declare const FruitNinja: React.FC<FruitNinjaProps>;
15
+ export {};
16
+ //# sourceMappingURL=FruitNinja.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FruitNinja.d.ts","sourceRoot":"","sources":["../../../../../src/games/fruit-ninja/FruitNinja.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAWjD,UAAU,sBAAsB;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IACvC,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;CACxB;AAkBD,UAAU,eAAe;IACvB,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAC9D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;CACpC;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA2XhD,CAAC"}
@@ -0,0 +1,112 @@
1
+ import type { GameSettingsTheme } from '../../shared/settings/GameSettings';
2
+ export declare const FRUIT_NINJA_GAME_CONFIG: {
3
+ readonly GAME_DURATION: 60;
4
+ readonly MAX_LIVES: 3;
5
+ readonly FRUIT_SPAWN_INTERVAL: 1500;
6
+ readonly FRUIT_FALL_SPEED: 2;
7
+ readonly GRAVITY: 0.12;
8
+ readonly INITIAL_VELOCITY_Y: -10;
9
+ readonly INITIAL_VELOCITY_X_RANGE: 1.5;
10
+ readonly FRUIT_SIZE: 60;
11
+ readonly SLICE_TRAIL_LENGTH: 10;
12
+ readonly SLICE_TRAIL_WIDTH: 8;
13
+ readonly COMBO_TIMEOUT: 2000;
14
+ readonly PARTICLE_COUNT: 8;
15
+ readonly PARTICLE_LIFETIME: 1000;
16
+ };
17
+ export declare const FRUIT_NINJA_ANIMATION_CONFIG: {
18
+ readonly FRUIT_SPRING: {
19
+ readonly damping: 15;
20
+ readonly stiffness: 200;
21
+ };
22
+ readonly SLICE_SPRING: {
23
+ readonly damping: 20;
24
+ readonly stiffness: 300;
25
+ };
26
+ readonly PARTICLE_SPRING: {
27
+ readonly damping: 25;
28
+ readonly stiffness: 400;
29
+ };
30
+ };
31
+ export declare const FRUIT_NINJA_COLORS: {
32
+ readonly BACKGROUND: "#87CEEB";
33
+ readonly SCORE_BOARD: "#4169E1";
34
+ readonly SLICE_TRAIL: "#FFD700";
35
+ readonly PARTICLE_COLORS: readonly ["#FF6B6B", "#4ECDC4", "#45B7D1", "#96CEB4", "#FFEAA7", "#DDA0DD"];
36
+ readonly PARTICLE_GLOW: "rgba(255,255,255,0.9)";
37
+ readonly COMBO_TEXT: "#FF4757";
38
+ readonly LIVES_COLOR: "#FF6B6B";
39
+ readonly SCORE: "#FFFFFF";
40
+ readonly UI: "#FF6347";
41
+ readonly BUTTON_ACTIVE: "#FF7F50";
42
+ readonly BUTTON_INACTIVE: "#FFA07A";
43
+ readonly TEXT_PRIMARY: "#FFFFFF";
44
+ readonly TEXT_SECONDARY: "#F0F8FF";
45
+ readonly WHITE: "#FFFFFF";
46
+ readonly START_BUTTON: "#4CAF50";
47
+ readonly GAME_OVER_OVERLAY: "rgba(0, 0, 0, 0.85)";
48
+ };
49
+ export declare const FRUIT_TYPES: readonly [{
50
+ readonly emoji: "🍎";
51
+ readonly points: 10;
52
+ readonly name: "apple";
53
+ }, {
54
+ readonly emoji: "🍊";
55
+ readonly points: 10;
56
+ readonly name: "orange";
57
+ }, {
58
+ readonly emoji: "🍌";
59
+ readonly points: 15;
60
+ readonly name: "banana";
61
+ }, {
62
+ readonly emoji: "🍇";
63
+ readonly points: 20;
64
+ readonly name: "grapes";
65
+ }, {
66
+ readonly emoji: "🥝";
67
+ readonly points: 25;
68
+ readonly name: "kiwi";
69
+ }, {
70
+ readonly emoji: "🍓";
71
+ readonly points: 15;
72
+ readonly name: "strawberry";
73
+ }, {
74
+ readonly emoji: "🥭";
75
+ readonly points: 30;
76
+ readonly name: "mango";
77
+ }, {
78
+ readonly emoji: "🍑";
79
+ readonly points: 25;
80
+ readonly name: "cherry";
81
+ }, {
82
+ readonly emoji: "🍒";
83
+ readonly points: 35;
84
+ readonly name: "cherries";
85
+ }, {
86
+ readonly emoji: "🥥";
87
+ readonly points: 40;
88
+ readonly name: "coconut";
89
+ }];
90
+ export declare const FRUIT_SPECIAL_ITEMS: readonly [{
91
+ readonly emoji: "💣";
92
+ readonly points: -50;
93
+ readonly name: "bomb";
94
+ readonly isBomb: true;
95
+ }, {
96
+ readonly emoji: "⭐";
97
+ readonly points: 50;
98
+ readonly name: "star";
99
+ readonly isBonus: true;
100
+ }, {
101
+ readonly emoji: "❄️";
102
+ readonly points: 0;
103
+ readonly name: "freeze";
104
+ readonly isFreeze: true;
105
+ }];
106
+ export declare const FRUIT_NINJA_THEME: GameSettingsTheme;
107
+ export declare const FRUIT_NINJA_DIFFICULTY_DESCRIPTIONS: {
108
+ readonly easy: "60 seconds, fruits spawn slower";
109
+ readonly medium: "120 seconds, balanced gameplay";
110
+ readonly hard: "180 seconds, fast fruits, quick reflexes needed!";
111
+ };
112
+ //# sourceMappingURL=FruitNinjaConstants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FruitNinjaConstants.d.ts","sourceRoot":"","sources":["../../../../../src/games/fruit-ninja/FruitNinjaConstants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAG5E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;CAc1B,CAAC;AAEX,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;CAa/B,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;CAiBrB,CAAC;AAGX,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWd,CAAC;AAEX,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;EAItB,CAAC;AAGX,eAAO,MAAM,iBAAiB,EAAE,iBAgB/B,CAAC;AAGF,eAAO,MAAM,mCAAmC;;;;CAItC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { FRUIT_SLICER_GAME_CONFIG as GAME_CONFIG, FRUIT_SLICER_ANIMATION_CONFIG as ANIMATION_CONFIG, FRUIT_SLICER_COLORS as COLORS, FRUIT_TYPES, FRUIT_SPECIAL_ITEMS as SPECIAL_ITEMS } from '../../services/GamesConstants';
1
+ import { FRUIT_NINJA_GAME_CONFIG as GAME_CONFIG, FRUIT_NINJA_ANIMATION_CONFIG as ANIMATION_CONFIG, FRUIT_NINJA_COLORS as COLORS, FRUIT_TYPES, FRUIT_SPECIAL_ITEMS as SPECIAL_ITEMS } from './FruitNinjaConstants';
2
2
  export { GAME_CONFIG, ANIMATION_CONFIG, COLORS, FRUIT_TYPES, SPECIAL_ITEMS };
3
3
  export interface Fruit {
4
4
  id: string;
@@ -35,7 +35,7 @@ export interface Particle {
35
35
  lifetime: number;
36
36
  maxLifetime: number;
37
37
  }
38
- export declare class FruitSlicerService {
38
+ export declare class FruitNinjaService {
39
39
  private fruitAnimations;
40
40
  private particleAnimations;
41
41
  private gameTimerRef;
@@ -63,5 +63,5 @@ export declare class FruitSlicerService {
63
63
  private clearAnimationLoop;
64
64
  private clearComboTimeout;
65
65
  }
66
- export declare const createFruitSlicerService: (fruitAnimations: Map<string, any>, particleAnimations: Map<string, any>) => FruitSlicerService;
67
- //# sourceMappingURL=FruitSlicerService.d.ts.map
66
+ export declare const createFruitNinjaService: (fruitAnimations: Map<string, any>, particleAnimations: Map<string, any>) => FruitNinjaService;
67
+ //# sourceMappingURL=FruitNinjaService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FruitNinjaService.d.ts","sourceRoot":"","sources":["../../../../../src/games/fruit-ninja/FruitNinjaService.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Fruit } from './FruitSlicerService';
1
+ import type { Fruit } from './FruitNinjaService';
2
2
  export interface GameState {
3
3
  score: number;
4
4
  timeLeft: number;
@@ -7,7 +7,7 @@ export interface GameState {
7
7
  combo: number;
8
8
  lives: number;
9
9
  }
10
- export interface FruitSlicerStore extends GameState {
10
+ export interface FruitNinjaStore extends GameState {
11
11
  fruits: Fruit[];
12
12
  slicePath: {
13
13
  x: number;
@@ -33,5 +33,13 @@ export interface FruitSlicerStore extends GameState {
33
33
  loseLife: () => void;
34
34
  addLife: () => void;
35
35
  }
36
- export declare const useFruitSlicerStore: import("zustand").UseBoundStore<import("zustand").StoreApi<FruitSlicerStore>>;
37
- //# sourceMappingURL=FruitSlicerStore.d.ts.map
36
+ export declare const useFruitNinjaStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<FruitNinjaStore>, "subscribe"> & {
37
+ subscribe: {
38
+ (listener: (selectedState: FruitNinjaStore, previousSelectedState: FruitNinjaStore) => void): () => void;
39
+ <U>(selector: (state: FruitNinjaStore) => U, listener: (selectedState: U, previousSelectedState: U) => void, options?: {
40
+ equalityFn?: ((a: U, b: U) => boolean) | undefined;
41
+ fireImmediately?: boolean;
42
+ } | undefined): () => void;
43
+ };
44
+ }>;
45
+ //# sourceMappingURL=FruitNinjaStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FruitNinjaStore.d.ts","sourceRoot":"","sources":["../../../../../src/games/fruit-ninja/FruitNinjaStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAIjD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACtC,SAAS,EAAE,OAAO,CAAC;IAGnB,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IAChE,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,KAAK,IAAI,CAAC;IACzD,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAGD,eAAO,MAAM,kBAAkB;;;;;;;;EA4K1B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { Fruit } from '../FruitSlicerService';
2
+ import type { Fruit } from '../FruitNinjaService';
3
3
  interface FruitComponentProps {
4
4
  fruit: Fruit;
5
5
  animation?: any;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FruitComponent.d.ts","sourceRoot":"","sources":["../../../../../../src/games/fruit-ninja/components/FruitComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD,UAAU,mBAAmB;IAC3B,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA8DxD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { Fruit, Particle } from '../FruitSlicerService';
2
+ import type { Fruit, Particle } from '../FruitNinjaService';
3
3
  interface GameAreaProps {
4
4
  fruits: Fruit[];
5
5
  fruitAnimations: Map<string, any>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GameArea.d.ts","sourceRoot":"","sources":["../../../../../../src/games/fruit-ninja/components/GameArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAK5D,UAAU,aAAa;IACrB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,SAAS,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAuB5C,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GameBackground.d.ts","sourceRoot":"","sources":["../../../../../../src/games/fruit-ninja/components/GameBackground.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AA0BzC,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAgrBxD,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GameOverModal.d.ts","sourceRoot":"","sources":["../../../../../../src/games/fruit-ninja/components/GameOverModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,kBAAkB;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA0CtD,CAAC"}