react-native-games 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (429) hide show
  1. package/README.md +134 -130
  2. package/lib/module/games/balloon-blaster/BalloonBlaster.js +116 -343
  3. package/lib/module/games/balloon-blaster/BalloonBlaster.js.map +1 -1
  4. package/lib/module/games/balloon-blaster/BalloonBlasterConstants.js +182 -0
  5. package/lib/module/games/balloon-blaster/BalloonBlasterConstants.js.map +1 -0
  6. package/lib/module/games/balloon-blaster/BalloonBlasterService.js +123 -101
  7. package/lib/module/games/balloon-blaster/BalloonBlasterService.js.map +1 -1
  8. package/lib/module/games/balloon-blaster/BalloonBlasterStore.js +119 -92
  9. package/lib/module/games/balloon-blaster/BalloonBlasterStore.js.map +1 -1
  10. package/lib/module/games/balloon-blaster/components/BalloonComponent.js +123 -113
  11. package/lib/module/games/balloon-blaster/components/BalloonComponent.js.map +1 -1
  12. package/lib/module/games/balloon-blaster/components/GameArea.js +137 -23
  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/ScoreBoard.js +15 -22
  17. package/lib/module/games/balloon-blaster/components/ScoreBoard.js.map +1 -1
  18. package/lib/module/games/balloon-blaster/components/index.js +0 -4
  19. package/lib/module/games/balloon-blaster/components/index.js.map +1 -1
  20. package/lib/module/games/fruit-ninja/FruitNinja.js +143 -0
  21. package/lib/module/games/fruit-ninja/FruitNinja.js.map +1 -0
  22. package/lib/module/games/fruit-ninja/FruitNinjaConstants.js +148 -0
  23. package/lib/module/games/fruit-ninja/FruitNinjaConstants.js.map +1 -0
  24. package/lib/module/games/{fruit-slicer/FruitSlicerService.js → fruit-ninja/FruitNinjaService.js} +43 -21
  25. package/lib/module/games/fruit-ninja/FruitNinjaService.js.map +1 -0
  26. package/lib/module/games/fruit-ninja/FruitNinjaStore.js +191 -0
  27. package/lib/module/games/fruit-ninja/FruitNinjaStore.js.map +1 -0
  28. package/lib/module/games/{fruit-slicer → fruit-ninja}/components/FruitComponent.js +1 -1
  29. package/lib/module/games/fruit-ninja/components/FruitComponent.js.map +1 -0
  30. package/lib/module/games/fruit-ninja/components/GameArea.js +215 -0
  31. package/lib/module/games/fruit-ninja/components/GameArea.js.map +1 -0
  32. package/lib/module/games/{fruit-slicer → fruit-ninja}/components/GameBackground.js +250 -304
  33. package/lib/module/games/fruit-ninja/components/GameBackground.js.map +1 -0
  34. package/lib/module/games/{fruit-slicer → fruit-ninja}/components/ScoreBoard.js +17 -47
  35. package/lib/module/games/fruit-ninja/components/ScoreBoard.js.map +1 -0
  36. package/lib/module/games/fruit-ninja/components/index.js +7 -0
  37. package/lib/module/games/fruit-ninja/components/index.js.map +1 -0
  38. package/lib/module/games/maze-runner/MazeRunner.js +184 -169
  39. package/lib/module/games/maze-runner/MazeRunner.js.map +1 -1
  40. package/lib/module/games/maze-runner/MazeRunnerConstants.js +100 -0
  41. package/lib/module/games/maze-runner/MazeRunnerConstants.js.map +1 -0
  42. package/lib/module/games/maze-runner/MazeRunnerService.js +37 -14
  43. package/lib/module/games/maze-runner/MazeRunnerService.js.map +1 -1
  44. package/lib/module/games/maze-runner/components/EnhancedBallComponent.js +5 -4
  45. package/lib/module/games/maze-runner/components/EnhancedBallComponent.js.map +1 -1
  46. package/lib/module/games/maze-runner/components/EnhancedGameArea.js +20 -15
  47. package/lib/module/games/maze-runner/components/EnhancedGameArea.js.map +1 -1
  48. package/lib/module/games/maze-runner/components/GameBackground.js +151 -192
  49. package/lib/module/games/maze-runner/components/GameBackground.js.map +1 -1
  50. package/lib/module/games/maze-runner/components/ScoreBoard.js +15 -25
  51. package/lib/module/games/maze-runner/components/ScoreBoard.js.map +1 -1
  52. package/lib/module/games/maze-runner/components/WallComponent.js +3 -2
  53. package/lib/module/games/maze-runner/components/WallComponent.js.map +1 -1
  54. package/lib/module/games/maze-runner/components/index.js +0 -2
  55. package/lib/module/games/maze-runner/components/index.js.map +1 -1
  56. package/lib/module/games/popit-fidget/PopitFidget.js +294 -0
  57. package/lib/module/games/popit-fidget/PopitFidget.js.map +1 -0
  58. package/lib/module/games/popit-fidget/PopitFidgetConstants.js +113 -0
  59. package/lib/module/games/popit-fidget/PopitFidgetConstants.js.map +1 -0
  60. package/lib/module/games/popit-fidget/PopitFidgetService.js +132 -0
  61. package/lib/module/games/popit-fidget/PopitFidgetService.js.map +1 -0
  62. package/lib/module/games/popit-fidget/PopitFidgetStore.js +163 -0
  63. package/lib/module/games/popit-fidget/PopitFidgetStore.js.map +1 -0
  64. package/lib/module/games/popit-fidget/components/BubbleComponent.js +198 -0
  65. package/lib/module/games/popit-fidget/components/BubbleComponent.js.map +1 -0
  66. package/lib/module/games/popit-fidget/components/FidgetGrid.js +165 -0
  67. package/lib/module/games/popit-fidget/components/FidgetGrid.js.map +1 -0
  68. package/lib/module/games/popit-fidget/components/GameBackground.js +177 -0
  69. package/lib/module/games/popit-fidget/components/GameBackground.js.map +1 -0
  70. package/lib/module/games/popit-fidget/components/ScoreBoard.js +75 -0
  71. package/lib/module/games/popit-fidget/components/ScoreBoard.js.map +1 -0
  72. package/lib/module/games/popit-fidget/components/index.js +7 -0
  73. package/lib/module/games/popit-fidget/components/index.js.map +1 -0
  74. package/lib/module/games/space-fighter/SpaceFighter.js +169 -0
  75. package/lib/module/games/space-fighter/SpaceFighter.js.map +1 -0
  76. package/lib/module/games/space-fighter/SpaceFighterConstants.js +108 -0
  77. package/lib/module/games/space-fighter/SpaceFighterConstants.js.map +1 -0
  78. package/lib/module/games/{space-traveller/SpaceTravellerService.js → space-fighter/SpaceFighterService.js} +48 -21
  79. package/lib/module/games/space-fighter/SpaceFighterService.js.map +1 -0
  80. package/lib/module/games/space-fighter/SpaceFighterStore.js +195 -0
  81. package/lib/module/games/space-fighter/SpaceFighterStore.js.map +1 -0
  82. package/lib/module/games/{space-traveller → space-fighter}/components/AsteroidComponent.js +7 -5
  83. package/lib/module/games/space-fighter/components/AsteroidComponent.js.map +1 -0
  84. package/lib/module/games/space-fighter/components/GameArea.js +295 -0
  85. package/lib/module/games/space-fighter/components/GameArea.js.map +1 -0
  86. package/lib/module/games/{space-traveller → space-fighter}/components/GameBackground.js +10 -65
  87. package/lib/module/games/space-fighter/components/GameBackground.js.map +1 -0
  88. package/lib/module/games/{space-traveller → space-fighter}/components/ScoreBoard.js +20 -26
  89. package/lib/module/games/space-fighter/components/ScoreBoard.js.map +1 -0
  90. package/lib/module/games/{space-traveller → space-fighter}/components/Spacecraft3D.js +72 -111
  91. package/lib/module/games/space-fighter/components/Spacecraft3D.js.map +1 -0
  92. package/lib/module/games/space-fighter/components/SpacecraftPath.js +52 -0
  93. package/lib/module/games/space-fighter/components/SpacecraftPath.js.map +1 -0
  94. package/lib/module/games/{space-traveller → space-fighter}/components/index.js +0 -4
  95. package/lib/module/games/space-fighter/components/index.js.map +1 -0
  96. package/lib/module/games/whack-a-mole/WhackAMole.js +263 -0
  97. package/lib/module/games/whack-a-mole/WhackAMole.js.map +1 -0
  98. package/lib/module/games/whack-a-mole/WhackAMoleConstants.js +115 -0
  99. package/lib/module/games/whack-a-mole/WhackAMoleConstants.js.map +1 -0
  100. package/lib/module/games/whack-a-mole/WhackAMoleService.js +120 -0
  101. package/lib/module/games/whack-a-mole/WhackAMoleService.js.map +1 -0
  102. package/lib/module/games/whack-a-mole/WhackAMoleStore.js +172 -0
  103. package/lib/module/games/whack-a-mole/WhackAMoleStore.js.map +1 -0
  104. package/lib/module/games/{cat-popper → whack-a-mole}/components/GameBackground.js +31 -91
  105. package/lib/module/games/whack-a-mole/components/GameBackground.js.map +1 -0
  106. package/lib/module/games/whack-a-mole/components/GameGrid.js +97 -0
  107. package/lib/module/games/whack-a-mole/components/GameGrid.js.map +1 -0
  108. package/lib/module/games/{cat-popper → whack-a-mole}/components/GameHole.js +67 -54
  109. package/lib/module/games/whack-a-mole/components/GameHole.js.map +1 -0
  110. package/lib/module/games/{cat-popper/components/CatCharacter.js → whack-a-mole/components/MoleCharacter.js} +75 -115
  111. package/lib/module/games/whack-a-mole/components/MoleCharacter.js.map +1 -0
  112. package/lib/module/games/{cat-popper → whack-a-mole}/components/ScoreBoard.js +13 -17
  113. package/lib/module/games/whack-a-mole/components/ScoreBoard.js.map +1 -0
  114. package/lib/module/games/{cat-popper → whack-a-mole}/components/index.js +1 -3
  115. package/lib/module/games/whack-a-mole/components/index.js.map +1 -0
  116. package/lib/module/index.js +4 -3
  117. package/lib/module/index.js.map +1 -1
  118. package/lib/module/services/GamesConstants.js +41 -519
  119. package/lib/module/services/GamesConstants.js.map +1 -1
  120. package/lib/module/services/GamesService.js +35 -23
  121. package/lib/module/services/GamesService.js.map +1 -1
  122. package/lib/module/services/HapticsService.js +77 -0
  123. package/lib/module/services/HapticsService.js.map +1 -0
  124. package/lib/module/services/SoundsService.js +171 -0
  125. package/lib/module/services/SoundsService.js.map +1 -0
  126. package/lib/module/shared/helpers/AnimationFrame.js +120 -0
  127. package/lib/module/shared/helpers/AnimationFrame.js.map +1 -0
  128. package/lib/module/shared/helpers/AnimationTracker.js +89 -0
  129. package/lib/module/shared/helpers/AnimationTracker.js.map +1 -0
  130. package/lib/module/shared/helpers/ErrorHandler.js +269 -0
  131. package/lib/module/shared/helpers/ErrorHandler.js.map +1 -0
  132. package/lib/module/shared/helpers/GameControlButton.js +219 -0
  133. package/lib/module/shared/helpers/GameControlButton.js.map +1 -0
  134. package/lib/module/{games/balloon-blaster/components → shared/helpers}/GameOverModal.js +25 -17
  135. package/lib/module/shared/helpers/GameOverModal.js.map +1 -0
  136. package/lib/module/shared/helpers/GameSettingsModal.js +287 -0
  137. package/lib/module/shared/helpers/GameSettingsModal.js.map +1 -0
  138. package/lib/module/shared/helpers/ParticleBlast.js +133 -0
  139. package/lib/module/shared/helpers/ParticleBlast.js.map +1 -0
  140. package/lib/module/shared/helpers/ResponsiveScoreBoard.js +81 -0
  141. package/lib/module/shared/helpers/ResponsiveScoreBoard.js.map +1 -0
  142. package/lib/module/shared/helpers/index.js +12 -0
  143. package/lib/module/shared/helpers/index.js.map +1 -0
  144. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts +2 -14
  145. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts.map +1 -1
  146. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterConstants.d.ts +144 -0
  147. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterConstants.d.ts.map +1 -0
  148. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterService.d.ts +1 -1
  149. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterService.d.ts.map +1 -1
  150. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterStore.d.ts +12 -2
  151. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterStore.d.ts.map +1 -1
  152. package/lib/typescript/src/games/balloon-blaster/components/BalloonComponent.d.ts.map +1 -1
  153. package/lib/typescript/src/games/balloon-blaster/components/GameArea.d.ts +1 -15
  154. package/lib/typescript/src/games/balloon-blaster/components/GameArea.d.ts.map +1 -1
  155. package/lib/typescript/src/games/balloon-blaster/components/GameBackground.d.ts.map +1 -1
  156. package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts +1 -7
  157. package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts.map +1 -1
  158. package/lib/typescript/src/games/balloon-blaster/components/index.d.ts +0 -4
  159. package/lib/typescript/src/games/balloon-blaster/components/index.d.ts.map +1 -1
  160. package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts +4 -0
  161. package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts.map +1 -0
  162. package/lib/typescript/src/games/fruit-ninja/FruitNinjaConstants.d.ts +112 -0
  163. package/lib/typescript/src/games/fruit-ninja/FruitNinjaConstants.d.ts.map +1 -0
  164. package/lib/typescript/src/games/{fruit-slicer/FruitSlicerService.d.ts → fruit-ninja/FruitNinjaService.d.ts} +13 -5
  165. package/lib/typescript/src/games/fruit-ninja/FruitNinjaService.d.ts.map +1 -0
  166. package/lib/typescript/src/games/{fruit-slicer/FruitSlicerStore.d.ts → fruit-ninja/FruitNinjaStore.d.ts} +13 -4
  167. package/lib/typescript/src/games/fruit-ninja/FruitNinjaStore.d.ts.map +1 -0
  168. package/lib/typescript/src/games/{fruit-slicer → fruit-ninja}/components/FruitComponent.d.ts +1 -1
  169. package/lib/typescript/src/games/fruit-ninja/components/FruitComponent.d.ts.map +1 -0
  170. package/lib/typescript/src/games/fruit-ninja/components/GameArea.d.ts +3 -0
  171. package/lib/typescript/src/games/fruit-ninja/components/GameArea.d.ts.map +1 -0
  172. package/lib/typescript/src/games/fruit-ninja/components/GameBackground.d.ts.map +1 -0
  173. package/lib/typescript/src/games/fruit-ninja/components/ScoreBoard.d.ts +3 -0
  174. package/lib/typescript/src/games/fruit-ninja/components/ScoreBoard.d.ts.map +1 -0
  175. package/lib/typescript/src/games/fruit-ninja/components/index.d.ts +5 -0
  176. package/lib/typescript/src/games/fruit-ninja/components/index.d.ts.map +1 -0
  177. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts +2 -16
  178. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts.map +1 -1
  179. package/lib/typescript/src/games/maze-runner/MazeRunnerConstants.d.ts +41 -0
  180. package/lib/typescript/src/games/maze-runner/MazeRunnerConstants.d.ts.map +1 -0
  181. package/lib/typescript/src/games/maze-runner/MazeRunnerService.d.ts +4 -2
  182. package/lib/typescript/src/games/maze-runner/MazeRunnerService.d.ts.map +1 -1
  183. package/lib/typescript/src/games/maze-runner/components/EnhancedBallComponent.d.ts.map +1 -1
  184. package/lib/typescript/src/games/maze-runner/components/EnhancedGameArea.d.ts.map +1 -1
  185. package/lib/typescript/src/games/maze-runner/components/GameBackground.d.ts +2 -1
  186. package/lib/typescript/src/games/maze-runner/components/GameBackground.d.ts.map +1 -1
  187. package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts.map +1 -1
  188. package/lib/typescript/src/games/maze-runner/components/WallComponent.d.ts.map +1 -1
  189. package/lib/typescript/src/games/maze-runner/components/index.d.ts +0 -2
  190. package/lib/typescript/src/games/maze-runner/components/index.d.ts.map +1 -1
  191. package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts +5 -0
  192. package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts.map +1 -0
  193. package/lib/typescript/src/games/popit-fidget/PopitFidgetConstants.d.ts +45 -0
  194. package/lib/typescript/src/games/popit-fidget/PopitFidgetConstants.d.ts.map +1 -0
  195. package/lib/typescript/src/games/popit-fidget/PopitFidgetService.d.ts +33 -0
  196. package/lib/typescript/src/games/popit-fidget/PopitFidgetService.d.ts.map +1 -0
  197. package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts +36 -0
  198. package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts.map +1 -0
  199. package/lib/typescript/src/games/popit-fidget/components/BubbleComponent.d.ts +12 -0
  200. package/lib/typescript/src/games/popit-fidget/components/BubbleComponent.d.ts.map +1 -0
  201. package/lib/typescript/src/games/popit-fidget/components/FidgetGrid.d.ts +12 -0
  202. package/lib/typescript/src/games/popit-fidget/components/FidgetGrid.d.ts.map +1 -0
  203. package/lib/typescript/src/games/popit-fidget/components/GameBackground.d.ts +9 -0
  204. package/lib/typescript/src/games/popit-fidget/components/GameBackground.d.ts.map +1 -0
  205. package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts +8 -0
  206. package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts.map +1 -0
  207. package/lib/typescript/src/games/popit-fidget/components/index.d.ts +5 -0
  208. package/lib/typescript/src/games/popit-fidget/components/index.d.ts.map +1 -0
  209. package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts +4 -0
  210. package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts.map +1 -0
  211. package/lib/typescript/src/games/space-fighter/SpaceFighterConstants.d.ts +71 -0
  212. package/lib/typescript/src/games/space-fighter/SpaceFighterConstants.d.ts.map +1 -0
  213. package/lib/typescript/src/games/{space-traveller/SpaceTravellerService.d.ts → space-fighter/SpaceFighterService.d.ts} +7 -4
  214. package/lib/typescript/src/games/space-fighter/SpaceFighterService.d.ts.map +1 -0
  215. package/lib/typescript/src/games/{space-traveller/SpaceTravellerStore.d.ts → space-fighter/SpaceFighterStore.d.ts} +12 -4
  216. package/lib/typescript/src/games/space-fighter/SpaceFighterStore.d.ts.map +1 -0
  217. package/lib/typescript/src/games/space-fighter/components/AsteroidComponent.d.ts +8 -0
  218. package/lib/typescript/src/games/space-fighter/components/AsteroidComponent.d.ts.map +1 -0
  219. package/lib/typescript/src/games/space-fighter/components/GameArea.d.ts +3 -0
  220. package/lib/typescript/src/games/space-fighter/components/GameArea.d.ts.map +1 -0
  221. package/lib/typescript/src/games/space-fighter/components/GameBackground.d.ts.map +1 -0
  222. package/lib/typescript/src/games/space-fighter/components/ScoreBoard.d.ts +3 -0
  223. package/lib/typescript/src/games/space-fighter/components/ScoreBoard.d.ts.map +1 -0
  224. package/lib/typescript/src/games/{space-traveller → space-fighter}/components/Spacecraft3D.d.ts +1 -1
  225. package/lib/typescript/src/games/space-fighter/components/Spacecraft3D.d.ts.map +1 -0
  226. package/lib/typescript/src/games/space-fighter/components/SpacecraftPath.d.ts.map +1 -0
  227. package/lib/typescript/src/games/{space-traveller → space-fighter}/components/index.d.ts +0 -4
  228. package/lib/typescript/src/games/space-fighter/components/index.d.ts.map +1 -0
  229. package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts +4 -0
  230. package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts.map +1 -0
  231. package/lib/typescript/src/games/whack-a-mole/WhackAMoleConstants.d.ts +79 -0
  232. package/lib/typescript/src/games/whack-a-mole/WhackAMoleConstants.d.ts.map +1 -0
  233. package/lib/typescript/src/games/whack-a-mole/WhackAMoleService.d.ts +33 -0
  234. package/lib/typescript/src/games/whack-a-mole/WhackAMoleService.d.ts.map +1 -0
  235. package/lib/typescript/src/games/whack-a-mole/WhackAMoleStore.d.ts +41 -0
  236. package/lib/typescript/src/games/whack-a-mole/WhackAMoleStore.d.ts.map +1 -0
  237. package/lib/typescript/src/games/whack-a-mole/components/GameBackground.d.ts.map +1 -0
  238. package/lib/typescript/src/games/{cat-popper → whack-a-mole}/components/GameGrid.d.ts +2 -2
  239. package/lib/typescript/src/games/whack-a-mole/components/GameGrid.d.ts.map +1 -0
  240. package/lib/typescript/src/games/{cat-popper → whack-a-mole}/components/GameHole.d.ts +3 -2
  241. package/lib/typescript/src/games/whack-a-mole/components/GameHole.d.ts.map +1 -0
  242. package/lib/typescript/src/games/whack-a-mole/components/MoleCharacter.d.ts +7 -0
  243. package/lib/typescript/src/games/whack-a-mole/components/MoleCharacter.d.ts.map +1 -0
  244. package/lib/typescript/src/games/whack-a-mole/components/ScoreBoard.d.ts.map +1 -0
  245. package/lib/typescript/src/games/whack-a-mole/components/index.d.ts +6 -0
  246. package/lib/typescript/src/games/whack-a-mole/components/index.d.ts.map +1 -0
  247. package/lib/typescript/src/index.d.ts +4 -3
  248. package/lib/typescript/src/index.d.ts.map +1 -1
  249. package/lib/typescript/src/services/GamesConstants.d.ts +61 -340
  250. package/lib/typescript/src/services/GamesConstants.d.ts.map +1 -1
  251. package/lib/typescript/src/services/GamesService.d.ts +21 -3
  252. package/lib/typescript/src/services/GamesService.d.ts.map +1 -1
  253. package/lib/typescript/src/services/HapticsService.d.ts +16 -0
  254. package/lib/typescript/src/services/HapticsService.d.ts.map +1 -0
  255. package/lib/typescript/src/services/SoundsService.d.ts +154 -0
  256. package/lib/typescript/src/services/SoundsService.d.ts.map +1 -0
  257. package/lib/typescript/src/shared/helpers/AnimationFrame.d.ts +41 -0
  258. package/lib/typescript/src/shared/helpers/AnimationFrame.d.ts.map +1 -0
  259. package/lib/typescript/src/shared/helpers/AnimationTracker.d.ts +45 -0
  260. package/lib/typescript/src/shared/helpers/AnimationTracker.d.ts.map +1 -0
  261. package/lib/typescript/src/shared/helpers/ErrorHandler.d.ts +124 -0
  262. package/lib/typescript/src/shared/helpers/ErrorHandler.d.ts.map +1 -0
  263. package/lib/typescript/src/shared/helpers/GameControlButton.d.ts +17 -0
  264. package/lib/typescript/src/shared/helpers/GameControlButton.d.ts.map +1 -0
  265. package/lib/typescript/src/{games/cat-popper/components → shared/helpers}/GameOverModal.d.ts +5 -0
  266. package/lib/typescript/src/shared/helpers/GameOverModal.d.ts.map +1 -0
  267. package/lib/typescript/src/shared/helpers/GameSettingsModal.d.ts +9 -0
  268. package/lib/typescript/src/shared/helpers/GameSettingsModal.d.ts.map +1 -0
  269. package/lib/typescript/src/shared/helpers/ParticleBlast.d.ts +12 -0
  270. package/lib/typescript/src/shared/helpers/ParticleBlast.d.ts.map +1 -0
  271. package/lib/typescript/src/shared/helpers/ResponsiveScoreBoard.d.ts +42 -0
  272. package/lib/typescript/src/shared/helpers/ResponsiveScoreBoard.d.ts.map +1 -0
  273. package/lib/typescript/src/shared/helpers/index.d.ts +13 -0
  274. package/lib/typescript/src/shared/helpers/index.d.ts.map +1 -0
  275. package/package.json +9 -6
  276. package/lib/module/games/balloon-blaster/components/GameControls.js +0 -229
  277. package/lib/module/games/balloon-blaster/components/GameControls.js.map +0 -1
  278. package/lib/module/games/balloon-blaster/components/GameOverModal.js.map +0 -1
  279. package/lib/module/games/balloon-blaster/components/ParticleSystem.js +0 -52
  280. package/lib/module/games/balloon-blaster/components/ParticleSystem.js.map +0 -1
  281. package/lib/module/games/balloon-blaster/components/SliceTrail.js +0 -58
  282. package/lib/module/games/balloon-blaster/components/SliceTrail.js.map +0 -1
  283. package/lib/module/games/cat-popper/CatPopper.js +0 -230
  284. package/lib/module/games/cat-popper/CatPopper.js.map +0 -1
  285. package/lib/module/games/cat-popper/CatPopperService.js +0 -100
  286. package/lib/module/games/cat-popper/CatPopperService.js.map +0 -1
  287. package/lib/module/games/cat-popper/CatPopperStore.js +0 -113
  288. package/lib/module/games/cat-popper/CatPopperStore.js.map +0 -1
  289. package/lib/module/games/cat-popper/components/CatCharacter.js.map +0 -1
  290. package/lib/module/games/cat-popper/components/GameBackground.js.map +0 -1
  291. package/lib/module/games/cat-popper/components/GameControls.js +0 -230
  292. package/lib/module/games/cat-popper/components/GameControls.js.map +0 -1
  293. package/lib/module/games/cat-popper/components/GameGrid.js +0 -66
  294. package/lib/module/games/cat-popper/components/GameGrid.js.map +0 -1
  295. package/lib/module/games/cat-popper/components/GameHole.js.map +0 -1
  296. package/lib/module/games/cat-popper/components/GameOverModal.js +0 -131
  297. package/lib/module/games/cat-popper/components/GameOverModal.js.map +0 -1
  298. package/lib/module/games/cat-popper/components/ScoreBoard.js.map +0 -1
  299. package/lib/module/games/cat-popper/components/index.js.map +0 -1
  300. package/lib/module/games/fruit-slicer/FruitSlicer.js +0 -411
  301. package/lib/module/games/fruit-slicer/FruitSlicer.js.map +0 -1
  302. package/lib/module/games/fruit-slicer/FruitSlicerService.js.map +0 -1
  303. package/lib/module/games/fruit-slicer/FruitSlicerStore.js +0 -156
  304. package/lib/module/games/fruit-slicer/FruitSlicerStore.js.map +0 -1
  305. package/lib/module/games/fruit-slicer/components/FruitComponent.js.map +0 -1
  306. package/lib/module/games/fruit-slicer/components/GameArea.js +0 -50
  307. package/lib/module/games/fruit-slicer/components/GameArea.js.map +0 -1
  308. package/lib/module/games/fruit-slicer/components/GameBackground.js.map +0 -1
  309. package/lib/module/games/fruit-slicer/components/GameControls.js +0 -230
  310. package/lib/module/games/fruit-slicer/components/GameControls.js.map +0 -1
  311. package/lib/module/games/fruit-slicer/components/GameOverModal.js +0 -189
  312. package/lib/module/games/fruit-slicer/components/GameOverModal.js.map +0 -1
  313. package/lib/module/games/fruit-slicer/components/ParticleSystem.js +0 -52
  314. package/lib/module/games/fruit-slicer/components/ParticleSystem.js.map +0 -1
  315. package/lib/module/games/fruit-slicer/components/ScoreBoard.js.map +0 -1
  316. package/lib/module/games/fruit-slicer/components/SliceTrail.js +0 -58
  317. package/lib/module/games/fruit-slicer/components/SliceTrail.js.map +0 -1
  318. package/lib/module/games/fruit-slicer/components/index.js +0 -11
  319. package/lib/module/games/fruit-slicer/components/index.js.map +0 -1
  320. package/lib/module/games/maze-runner/components/GameControls.js +0 -129
  321. package/lib/module/games/maze-runner/components/GameControls.js.map +0 -1
  322. package/lib/module/games/maze-runner/components/GameOverModal.js +0 -134
  323. package/lib/module/games/maze-runner/components/GameOverModal.js.map +0 -1
  324. package/lib/module/games/space-traveller/SpaceTraveller.js +0 -393
  325. package/lib/module/games/space-traveller/SpaceTraveller.js.map +0 -1
  326. package/lib/module/games/space-traveller/SpaceTravellerService.js.map +0 -1
  327. package/lib/module/games/space-traveller/SpaceTravellerStore.js +0 -139
  328. package/lib/module/games/space-traveller/SpaceTravellerStore.js.map +0 -1
  329. package/lib/module/games/space-traveller/components/AsteroidComponent.js.map +0 -1
  330. package/lib/module/games/space-traveller/components/GameArea.js +0 -75
  331. package/lib/module/games/space-traveller/components/GameArea.js.map +0 -1
  332. package/lib/module/games/space-traveller/components/GameBackground.js.map +0 -1
  333. package/lib/module/games/space-traveller/components/GameControls.js +0 -177
  334. package/lib/module/games/space-traveller/components/GameControls.js.map +0 -1
  335. package/lib/module/games/space-traveller/components/GameOverModal.js +0 -182
  336. package/lib/module/games/space-traveller/components/GameOverModal.js.map +0 -1
  337. package/lib/module/games/space-traveller/components/ParticleComponent.js +0 -34
  338. package/lib/module/games/space-traveller/components/ParticleComponent.js.map +0 -1
  339. package/lib/module/games/space-traveller/components/ScoreBoard.js.map +0 -1
  340. package/lib/module/games/space-traveller/components/SettingsModal.js +0 -222
  341. package/lib/module/games/space-traveller/components/SettingsModal.js.map +0 -1
  342. package/lib/module/games/space-traveller/components/Spacecraft3D.js.map +0 -1
  343. package/lib/module/games/space-traveller/components/SpacecraftPath.js +0 -37
  344. package/lib/module/games/space-traveller/components/SpacecraftPath.js.map +0 -1
  345. package/lib/module/games/space-traveller/components/index.js.map +0 -1
  346. package/lib/module/shared/settings/GameSettings.js +0 -295
  347. package/lib/module/shared/settings/GameSettings.js.map +0 -1
  348. package/lib/module/shared/settings/SettingsService.js +0 -119
  349. package/lib/module/shared/settings/SettingsService.js.map +0 -1
  350. package/lib/typescript/src/games/balloon-blaster/components/GameControls.d.ts +0 -10
  351. package/lib/typescript/src/games/balloon-blaster/components/GameControls.d.ts.map +0 -1
  352. package/lib/typescript/src/games/balloon-blaster/components/GameOverModal.d.ts +0 -9
  353. package/lib/typescript/src/games/balloon-blaster/components/GameOverModal.d.ts.map +0 -1
  354. package/lib/typescript/src/games/balloon-blaster/components/ParticleSystem.d.ts +0 -8
  355. package/lib/typescript/src/games/balloon-blaster/components/ParticleSystem.d.ts.map +0 -1
  356. package/lib/typescript/src/games/balloon-blaster/components/SliceTrail.d.ts +0 -11
  357. package/lib/typescript/src/games/balloon-blaster/components/SliceTrail.d.ts.map +0 -1
  358. package/lib/typescript/src/games/cat-popper/CatPopper.d.ts +0 -13
  359. package/lib/typescript/src/games/cat-popper/CatPopper.d.ts.map +0 -1
  360. package/lib/typescript/src/games/cat-popper/CatPopperService.d.ts +0 -32
  361. package/lib/typescript/src/games/cat-popper/CatPopperService.d.ts.map +0 -1
  362. package/lib/typescript/src/games/cat-popper/CatPopperStore.d.ts +0 -21
  363. package/lib/typescript/src/games/cat-popper/CatPopperStore.d.ts.map +0 -1
  364. package/lib/typescript/src/games/cat-popper/components/CatCharacter.d.ts +0 -7
  365. package/lib/typescript/src/games/cat-popper/components/CatCharacter.d.ts.map +0 -1
  366. package/lib/typescript/src/games/cat-popper/components/GameBackground.d.ts.map +0 -1
  367. package/lib/typescript/src/games/cat-popper/components/GameControls.d.ts +0 -10
  368. package/lib/typescript/src/games/cat-popper/components/GameControls.d.ts.map +0 -1
  369. package/lib/typescript/src/games/cat-popper/components/GameGrid.d.ts.map +0 -1
  370. package/lib/typescript/src/games/cat-popper/components/GameHole.d.ts.map +0 -1
  371. package/lib/typescript/src/games/cat-popper/components/GameOverModal.d.ts.map +0 -1
  372. package/lib/typescript/src/games/cat-popper/components/ScoreBoard.d.ts.map +0 -1
  373. package/lib/typescript/src/games/cat-popper/components/index.d.ts +0 -8
  374. package/lib/typescript/src/games/cat-popper/components/index.d.ts.map +0 -1
  375. package/lib/typescript/src/games/fruit-slicer/FruitSlicer.d.ts +0 -16
  376. package/lib/typescript/src/games/fruit-slicer/FruitSlicer.d.ts.map +0 -1
  377. package/lib/typescript/src/games/fruit-slicer/FruitSlicerService.d.ts.map +0 -1
  378. package/lib/typescript/src/games/fruit-slicer/FruitSlicerStore.d.ts.map +0 -1
  379. package/lib/typescript/src/games/fruit-slicer/components/FruitComponent.d.ts.map +0 -1
  380. package/lib/typescript/src/games/fruit-slicer/components/GameArea.d.ts +0 -17
  381. package/lib/typescript/src/games/fruit-slicer/components/GameArea.d.ts.map +0 -1
  382. package/lib/typescript/src/games/fruit-slicer/components/GameBackground.d.ts.map +0 -1
  383. package/lib/typescript/src/games/fruit-slicer/components/GameControls.d.ts +0 -10
  384. package/lib/typescript/src/games/fruit-slicer/components/GameControls.d.ts.map +0 -1
  385. package/lib/typescript/src/games/fruit-slicer/components/GameOverModal.d.ts +0 -9
  386. package/lib/typescript/src/games/fruit-slicer/components/GameOverModal.d.ts.map +0 -1
  387. package/lib/typescript/src/games/fruit-slicer/components/ParticleSystem.d.ts +0 -8
  388. package/lib/typescript/src/games/fruit-slicer/components/ParticleSystem.d.ts.map +0 -1
  389. package/lib/typescript/src/games/fruit-slicer/components/ScoreBoard.d.ts +0 -9
  390. package/lib/typescript/src/games/fruit-slicer/components/ScoreBoard.d.ts.map +0 -1
  391. package/lib/typescript/src/games/fruit-slicer/components/SliceTrail.d.ts +0 -11
  392. package/lib/typescript/src/games/fruit-slicer/components/SliceTrail.d.ts.map +0 -1
  393. package/lib/typescript/src/games/fruit-slicer/components/index.d.ts +0 -9
  394. package/lib/typescript/src/games/fruit-slicer/components/index.d.ts.map +0 -1
  395. package/lib/typescript/src/games/maze-runner/components/GameControls.d.ts +0 -10
  396. package/lib/typescript/src/games/maze-runner/components/GameControls.d.ts.map +0 -1
  397. package/lib/typescript/src/games/maze-runner/components/GameOverModal.d.ts +0 -11
  398. package/lib/typescript/src/games/maze-runner/components/GameOverModal.d.ts.map +0 -1
  399. package/lib/typescript/src/games/space-traveller/SpaceTraveller.d.ts +0 -17
  400. package/lib/typescript/src/games/space-traveller/SpaceTraveller.d.ts.map +0 -1
  401. package/lib/typescript/src/games/space-traveller/SpaceTravellerService.d.ts.map +0 -1
  402. package/lib/typescript/src/games/space-traveller/SpaceTravellerStore.d.ts.map +0 -1
  403. package/lib/typescript/src/games/space-traveller/components/AsteroidComponent.d.ts +0 -9
  404. package/lib/typescript/src/games/space-traveller/components/AsteroidComponent.d.ts.map +0 -1
  405. package/lib/typescript/src/games/space-traveller/components/GameArea.d.ts +0 -17
  406. package/lib/typescript/src/games/space-traveller/components/GameArea.d.ts.map +0 -1
  407. package/lib/typescript/src/games/space-traveller/components/GameBackground.d.ts.map +0 -1
  408. package/lib/typescript/src/games/space-traveller/components/GameControls.d.ts +0 -10
  409. package/lib/typescript/src/games/space-traveller/components/GameControls.d.ts.map +0 -1
  410. package/lib/typescript/src/games/space-traveller/components/GameOverModal.d.ts +0 -9
  411. package/lib/typescript/src/games/space-traveller/components/GameOverModal.d.ts.map +0 -1
  412. package/lib/typescript/src/games/space-traveller/components/ParticleComponent.d.ts +0 -8
  413. package/lib/typescript/src/games/space-traveller/components/ParticleComponent.d.ts.map +0 -1
  414. package/lib/typescript/src/games/space-traveller/components/ScoreBoard.d.ts +0 -8
  415. package/lib/typescript/src/games/space-traveller/components/ScoreBoard.d.ts.map +0 -1
  416. package/lib/typescript/src/games/space-traveller/components/SettingsModal.d.ts +0 -9
  417. package/lib/typescript/src/games/space-traveller/components/SettingsModal.d.ts.map +0 -1
  418. package/lib/typescript/src/games/space-traveller/components/Spacecraft3D.d.ts.map +0 -1
  419. package/lib/typescript/src/games/space-traveller/components/SpacecraftPath.d.ts.map +0 -1
  420. package/lib/typescript/src/games/space-traveller/components/index.d.ts.map +0 -1
  421. package/lib/typescript/src/shared/settings/GameSettings.d.ts +0 -36
  422. package/lib/typescript/src/shared/settings/GameSettings.d.ts.map +0 -1
  423. package/lib/typescript/src/shared/settings/SettingsService.d.ts +0 -32
  424. package/lib/typescript/src/shared/settings/SettingsService.d.ts.map +0 -1
  425. /package/lib/typescript/src/games/{cat-popper → fruit-ninja}/components/GameBackground.d.ts +0 -0
  426. /package/lib/typescript/src/games/{fruit-slicer → space-fighter}/components/GameBackground.d.ts +0 -0
  427. /package/lib/typescript/src/games/{space-traveller → space-fighter}/components/SpacecraftPath.d.ts +0 -0
  428. /package/lib/typescript/src/games/{space-traveller → whack-a-mole}/components/GameBackground.d.ts +0 -0
  429. /package/lib/typescript/src/games/{cat-popper → whack-a-mole}/components/ScoreBoard.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useEffect","useCallback","useRef","useMemo","View","StyleSheet","Modal","GestureHandlerRootView","Speech","Haptics","MazeRunnerService","DEFAULT_MAZE_RUNNER_SETTINGS","difficulty","gameDuration","soundEnabled","hapticEnabled","gridSize","showHints","DIFFICULTY_CONFIG","easy","timeBonus","scoreMultiplier","hintAvailable","medium","hard","GameBackground","ScoreBoard","GameControls","EnhancedGameArea","GameOverModal","GameSettings","createGameSettingsStore","jsx","_jsx","jsxs","_jsxs","MazeRunner","settings","externalSettings","onSettingsChange","showSettingsModal","onToggleSettingsModal","settingsStore","defaultSettings","handleSettingsChange","newSettings","mazeRunnerSettings","undefined","gameService","currentSettings","gameState","setGameState","getGameState","showGameOverModal","setShowGameOverModal","walls","setWalls","getWalls","completionHandledRef","gameConfig","getGameConfig","resetGame","updateSettings","handleStateChange","newState","prevState","isCompleted","current","handleGameCompleted","setTimeout","isPlaying","setGameStateChangeCallback","cleanup","speak","language","pitch","rate","notificationAsync","NotificationFeedbackType","Success","handleStartGame","startGame","impactAsync","ImpactFeedbackStyle","Medium","handleStopGame","stopGame","handleBallPositionChange","position","updateBallPosition","handlePlayAgain","handleCloseGameOverModal","style","styles","container","children","gameAreaContainer","onBallPositionChange","onStartGame","onStopGame","visible","onPlayAgain","onClose","animationType","presentationStyle","onRequestClose","gameId","create","flex","justifyContent","alignItems","paddingHorizontal","paddingVertical"],"sourceRoot":"../../../../src","sources":["games/maze-runner/MazeRunner.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","useEffect","useCallback","useRef","useMemo","View","StyleSheet","Dimensions","GestureHandlerRootView","playSound","GAME_SOUNDS","playHaptic","HapticType","MazeRunnerService","DEFAULT_MAZE_RUNNER_SETTINGS","MAZE_RUNNER_DIFFICULTY_CONFIG","GameBackground","ScoreBoard","EnhancedGameArea","GameControlButton","GameOverModal","GameSettingsModal","GAME_IDS","jsx","_jsx","jsxs","_jsxs","useResponsiveDimensions","dimensions","setDimensions","width","height","get","handleDimensionChange","window","prev","subscription","addEventListener","remove","MazeRunner","settings","onSettingsChange","screenWidth","screenHeight","responsiveDimensions","reservedHeight","availableHeight","availableWidth","maxDimension","Math","min","gameAreaSize","max","gameService","currentSettings","initialWidth","initialHeight","gridSize","gameDuration","gameState","setGameState","getGameState","showGameOverModal","setShowGameOverModal","walls","setWalls","getWalls","completionHandledRef","gameConfig","getGameConfig","gameControlButtonProps","isPlaying","gameOver","isCompleted","startButtonText","stopButtonText","startButtonSubtext","stopButtonSubtext","startButtonColor","stopButtonColor","startButtonBorderColor","stopButtonBorderColor","gameOverModalProps","isVisible","score","buttonText","primaryColor","borderColor","buttonColor","buttonBorderColor","resetGame","difficultyConfig","difficulty","updateSettings","handleStateChange","newState","prevState","current","handleGameCompleted","setTimeout","setGameStateChangeCallback","stopGame","cleanup","MAZE_RUNNER","COMPLETE","enableSounds","SUCCESS","enableHaptics","handleStartGame","startGame","START","MEDIUM","handleStopGame","STOP","handleBallPositionChange","position","updateBallPosition","handlePlayAgain","style","styles","container","children","gameContainer","gameAreaContainer","onBallPositionChange","hapticEnabled","onStartGame","onStopGame","onPlayAgain","gameId","create","flex","justifyContent","alignItems","paddingHorizontal","paddingVertical"],"sourceRoot":"../../../../src","sources":["games/maze-runner/MazeRunner.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+
3
+ // Maze Runner Game Constants
4
+
5
+ export const DEFAULT_MAZE_RUNNER_SETTINGS = {
6
+ difficulty: 'medium',
7
+ gameDuration: 120,
8
+ soundEnabled: true,
9
+ hapticEnabled: true,
10
+ gridSize: 10,
11
+ showHints: false
12
+ };
13
+ export const MAZE_RUNNER_DIFFICULTY_CONFIG = {
14
+ easy: {
15
+ gridSize: 8,
16
+ timeBonus: 1.5,
17
+ scoreMultiplier: 1.0,
18
+ hintAvailable: true,
19
+ gameDuration: 60
20
+ },
21
+ medium: {
22
+ gridSize: 10,
23
+ timeBonus: 1.2,
24
+ scoreMultiplier: 1.2,
25
+ hintAvailable: false,
26
+ gameDuration: 120
27
+ },
28
+ hard: {
29
+ gridSize: 12,
30
+ timeBonus: 1.0,
31
+ scoreMultiplier: 1.5,
32
+ hintAvailable: false,
33
+ gameDuration: 180
34
+ }
35
+ };
36
+
37
+ // Maze Runner Game Theme - Matches scoreboard brown
38
+ export const MAZE_RUNNER_THEME = {
39
+ backgroundColor: '#f5f5dc',
40
+ // Beige background to match maze theme
41
+ headerBackgroundColor: 'rgba(139, 69, 19, 0.9)',
42
+ // Brown header to match scoreboard
43
+ headerTextColor: '#ffffff',
44
+ sectionBackgroundColor: 'rgba(139, 69, 19, 0.4)',
45
+ // Match scoreboard transparency
46
+ sectionTitleColor: '#ffffff',
47
+ // White text on brown sections
48
+ buttonSelectedColor: '#8b4513',
49
+ // Match start button brown
50
+ buttonUnselectedColor: 'rgba(255, 255, 255, 0.3)',
51
+ buttonSelectedTextColor: '#ffffff',
52
+ buttonUnselectedTextColor: '#1f2937',
53
+ switchTrackColorFalse: 'rgba(139, 69, 19, 0.5)',
54
+ switchTrackColorTrue: '#8b4513',
55
+ // Match start button
56
+ switchThumbColor: '#ffffff',
57
+ infoTextColor: '#1f2937' // Dark text for readability
58
+ };
59
+
60
+ // Maze Runner Difficulty Descriptions
61
+ export const MAZE_RUNNER_DIFFICULTY_DESCRIPTIONS = {
62
+ easy: 'Small maze, more forgiving maze',
63
+ medium: 'Balanced maze, balanced challenge',
64
+ hard: 'Complex maze, maximum challenge!'
65
+ };
66
+
67
+ // Vibrant color palette for Maze Runner background (inspired by adventure themes)
68
+ export const MAZE_ADVENTURE_COLORS = ['#FF6B6B',
69
+ // Vibrant coral red
70
+ '#4ECDC4',
71
+ // Vibrant teal
72
+ '#45B7D1',
73
+ // Vibrant sky blue
74
+ '#96CEB4',
75
+ // Vibrant mint green
76
+ '#FFEAA7',
77
+ // Vibrant golden yellow
78
+ '#DDA0DD',
79
+ // Vibrant plum
80
+ '#98D8C8',
81
+ // Vibrant seafoam
82
+ '#F7DC6F',
83
+ // Vibrant lemon
84
+ '#BB8FCE',
85
+ // Vibrant lavender
86
+ '#85C1E9',
87
+ // Vibrant light blue
88
+ '#82E0AA',
89
+ // Vibrant light green
90
+ '#F8C471',
91
+ // Vibrant peach
92
+ '#D7BDE2',
93
+ // Vibrant light purple
94
+ '#A9DFBF',
95
+ // Vibrant pale green
96
+ '#FAD7A0',
97
+ // Vibrant cream
98
+ '#D5A6BD' // Vibrant dusty rose
99
+ ];
100
+ //# sourceMappingURL=MazeRunnerConstants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DEFAULT_MAZE_RUNNER_SETTINGS","difficulty","gameDuration","soundEnabled","hapticEnabled","gridSize","showHints","MAZE_RUNNER_DIFFICULTY_CONFIG","easy","timeBonus","scoreMultiplier","hintAvailable","medium","hard","MAZE_RUNNER_THEME","backgroundColor","headerBackgroundColor","headerTextColor","sectionBackgroundColor","sectionTitleColor","buttonSelectedColor","buttonUnselectedColor","buttonSelectedTextColor","buttonUnselectedTextColor","switchTrackColorFalse","switchTrackColorTrue","switchThumbColor","infoTextColor","MAZE_RUNNER_DIFFICULTY_DESCRIPTIONS","MAZE_ADVENTURE_COLORS"],"sourceRoot":"../../../../src","sources":["games/maze-runner/MazeRunnerConstants.ts"],"mappings":";;AAEA;;AAUA,OAAO,MAAMA,4BAAgD,GAAG;EAC9DC,UAAU,EAAE,QAAQ;EACpBC,YAAY,EAAE,GAAG;EACjBC,YAAY,EAAE,IAAI;EAClBC,aAAa,EAAE,IAAI;EACnBC,QAAQ,EAAE,EAAE;EACZC,SAAS,EAAE;AACb,CAAC;AAED,OAAO,MAAMC,6BAA6B,GAAG;EAC3CC,IAAI,EAAE;IACJH,QAAQ,EAAE,CAAC;IACXI,SAAS,EAAE,GAAG;IACdC,eAAe,EAAE,GAAG;IACpBC,aAAa,EAAE,IAAI;IACnBT,YAAY,EAAE;EAChB,CAAC;EACDU,MAAM,EAAE;IACNP,QAAQ,EAAE,EAAE;IACZI,SAAS,EAAE,GAAG;IACdC,eAAe,EAAE,GAAG;IACpBC,aAAa,EAAE,KAAK;IACpBT,YAAY,EAAE;EAChB,CAAC;EACDW,IAAI,EAAE;IACJR,QAAQ,EAAE,EAAE;IACZI,SAAS,EAAE,GAAG;IACdC,eAAe,EAAE,GAAG;IACpBC,aAAa,EAAE,KAAK;IACpBT,YAAY,EAAE;EAChB;AACF,CAAU;;AAEV;AACA,OAAO,MAAMY,iBAAoC,GAAG;EAClDC,eAAe,EAAE,SAAS;EAAE;EAC5BC,qBAAqB,EAAE,wBAAwB;EAAE;EACjDC,eAAe,EAAE,SAAS;EAC1BC,sBAAsB,EAAE,wBAAwB;EAAE;EAClDC,iBAAiB,EAAE,SAAS;EAAE;EAC9BC,mBAAmB,EAAE,SAAS;EAAE;EAChCC,qBAAqB,EAAE,0BAA0B;EACjDC,uBAAuB,EAAE,SAAS;EAClCC,yBAAyB,EAAE,SAAS;EACpCC,qBAAqB,EAAE,wBAAwB;EAC/CC,oBAAoB,EAAE,SAAS;EAAE;EACjCC,gBAAgB,EAAE,SAAS;EAC3BC,aAAa,EAAE,SAAS,CAAE;AAC5B,CAAC;;AAED;AACA,OAAO,MAAMC,mCAAmC,GAAG;EACjDpB,IAAI,EAAE,iCAAiC;EACvCI,MAAM,EAAE,mCAAmC;EAC3CC,IAAI,EAAE;AACR,CAAU;;AAEV;AACA,OAAO,MAAMgB,qBAAqB,GAAG,CACnC,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS,CAAE;AAAA,CACH","ignoreList":[]}
@@ -2,7 +2,7 @@
2
2
 
3
3
  export class MazeRunnerService {
4
4
  gameTimer = null;
5
- constructor(gridSize = 15, gameAreaWidth = 350, gameAreaHeight = 500) {
5
+ constructor(gridSize = 15, gameAreaWidth = 350, gameAreaHeight = 500, gameDuration = 120) {
6
6
  this.gameConfig = {
7
7
  GRID_SIZE: gridSize,
8
8
  CELL_SIZE: Math.min(gameAreaWidth, gameAreaHeight) / gridSize,
@@ -12,13 +12,15 @@ export class MazeRunnerService {
12
12
  GAME_AREA_HEIGHT: gameAreaHeight,
13
13
  COLLISION_TOLERANCE: 5,
14
14
  SCORE_PER_COMPLETION: 100,
15
- TIME_BONUS_MULTIPLIER: 10
15
+ TIME_BONUS_MULTIPLIER: 10,
16
+ GAME_DURATION: gameDuration
16
17
  };
17
18
  this.gameState = {
18
19
  isPlaying: false,
19
20
  isPaused: false,
20
21
  score: 0,
21
- timeElapsed: 0,
22
+ timeElapsed: gameDuration,
23
+ // Start with full time for countdown
22
24
  ballPosition: {
23
25
  x: 0,
24
26
  y: 0
@@ -27,7 +29,8 @@ export class MazeRunnerService {
27
29
  x: 0,
28
30
  y: 0
29
31
  },
30
- isCompleted: false
32
+ isCompleted: false,
33
+ gameOver: false
31
34
  };
32
35
  this.maze = [];
33
36
  this.walls = [];
@@ -79,7 +82,10 @@ export class MazeRunnerService {
79
82
  this.gameState.isCompleted = false;
80
83
  this.gameState.isPlaying = false; // Don't auto-start, let user click start
81
84
  this.gameState.isPaused = false;
82
- this.gameState.timeElapsed = 0;
85
+ this.gameState.gameOver = false;
86
+ this.gameState.score = 0; // Reset score for new maze
87
+ this.gameState.timeElapsed = this.gameConfig.GAME_DURATION; // Reset to full time for countdown
88
+
83
89
  this.notifyGameStateChange();
84
90
  }
85
91
  generateMazeWithBacktracking() {
@@ -393,12 +399,15 @@ export class MazeRunnerService {
393
399
  y: (this.gameConfig.GRID_SIZE - 1) * cellSize + cellSize / 2
394
400
  };
395
401
  }
396
- updateSettings(gridSize, _gameDuration) {
402
+ updateSettings(gridSize, gameDuration, gameAreaWidth, gameAreaHeight) {
397
403
  // Update game configuration with new settings
398
- const gameAreaWidth = this.gameConfig.GAME_AREA_WIDTH;
399
- const gameAreaHeight = this.gameConfig.GAME_AREA_HEIGHT;
404
+ const newGameAreaWidth = gameAreaWidth || this.gameConfig.GAME_AREA_WIDTH;
405
+ const newGameAreaHeight = gameAreaHeight || this.gameConfig.GAME_AREA_HEIGHT;
400
406
  this.gameConfig.GRID_SIZE = gridSize;
401
- this.gameConfig.CELL_SIZE = Math.min(gameAreaWidth, gameAreaHeight) / gridSize;
407
+ this.gameConfig.GAME_AREA_WIDTH = newGameAreaWidth;
408
+ this.gameConfig.GAME_AREA_HEIGHT = newGameAreaHeight;
409
+ this.gameConfig.CELL_SIZE = Math.min(newGameAreaWidth, newGameAreaHeight) / gridSize;
410
+ this.gameConfig.GAME_DURATION = gameDuration; // Update game duration
402
411
 
403
412
  // Generate new maze with updated settings
404
413
  this.generateNewMaze();
@@ -406,8 +415,9 @@ export class MazeRunnerService {
406
415
  // Reset game state
407
416
  this.gameState.isPlaying = false;
408
417
  this.gameState.isPaused = false;
409
- this.gameState.timeElapsed = 0;
418
+ this.gameState.timeElapsed = this.gameConfig.GAME_DURATION; // Reset to full time for countdown
410
419
  this.gameState.isCompleted = false;
420
+ this.gameState.gameOver = false;
411
421
  this.stopTimer();
412
422
  this.notifyGameStateChange();
413
423
  }
@@ -418,8 +428,10 @@ export class MazeRunnerService {
418
428
  // Reset game state without starting - just prepare for a new game
419
429
  this.gameState.isPlaying = false; // Don't auto-start
420
430
  this.gameState.isPaused = false;
421
- this.gameState.timeElapsed = 0;
431
+ this.gameState.score = 0; // Reset score for new game
432
+ this.gameState.timeElapsed = this.gameConfig.GAME_DURATION; // Reset to full time for countdown
422
433
  this.gameState.isCompleted = false;
434
+ this.gameState.gameOver = false;
423
435
  this.stopTimer(); // Make sure timer is stopped
424
436
  this.notifyGameStateChange();
425
437
  }
@@ -435,8 +447,10 @@ export class MazeRunnerService {
435
447
  };
436
448
  this.gameState.isPlaying = true;
437
449
  this.gameState.isPaused = false;
438
- this.gameState.timeElapsed = 0;
450
+ this.gameState.score = 0; // Reset score when starting new game
451
+ this.gameState.timeElapsed = this.gameConfig.GAME_DURATION; // Start with full time for countdown
439
452
  this.gameState.isCompleted = false;
453
+ this.gameState.gameOver = false;
440
454
  this.startTimer();
441
455
  this.notifyGameStateChange();
442
456
  }
@@ -460,7 +474,15 @@ export class MazeRunnerService {
460
474
  this.stopTimer();
461
475
  this.gameTimer = setInterval(() => {
462
476
  if (!this.gameState.isPaused && this.gameState.isPlaying) {
463
- this.gameState.timeElapsed += 1;
477
+ this.gameState.timeElapsed -= 1; // Count down instead of up
478
+
479
+ // Check if time has run out
480
+ if (this.gameState.timeElapsed <= 0) {
481
+ this.gameState.timeElapsed = 0;
482
+ this.gameState.isPlaying = false;
483
+ this.gameState.gameOver = true;
484
+ this.stopTimer();
485
+ }
464
486
  this.notifyGameStateChange();
465
487
  }
466
488
  }, 1000);
@@ -528,7 +550,8 @@ export class MazeRunnerService {
528
550
  return distance < this.gameConfig.BALL_SIZE;
529
551
  }
530
552
  completeLevel() {
531
- const timeBonus = Math.max(0, 60 - this.gameState.timeElapsed) * this.gameConfig.TIME_BONUS_MULTIPLIER;
553
+ // Time bonus based on remaining time (since we're counting down)
554
+ const timeBonus = this.gameState.timeElapsed * this.gameConfig.TIME_BONUS_MULTIPLIER;
532
555
  this.gameState.score += this.gameConfig.SCORE_PER_COMPLETION + timeBonus;
533
556
  this.gameState.isCompleted = true;
534
557
  this.gameState.isPlaying = false; // Stop the game when maze is completed
@@ -1 +1 @@
1
- {"version":3,"names":["MazeRunnerService","gameTimer","constructor","gridSize","gameAreaWidth","gameAreaHeight","gameConfig","GRID_SIZE","CELL_SIZE","Math","min","BALL_SIZE","PIPE_WIDTH","GAME_AREA_WIDTH","GAME_AREA_HEIGHT","COLLISION_TOLERANCE","SCORE_PER_COMPLETION","TIME_BONUS_MULTIPLIER","gameState","isPlaying","isPaused","score","timeElapsed","ballPosition","x","y","targetPosition","isCompleted","maze","walls","initializeMaze","generateMazeWithBacktracking","generateWalls","setStartAndEndPositions","setGameStateChangeCallback","callback","onGameStateChange","notifyGameStateChange","top","right","bottom","left","visited","generateNewMaze","stack","startCell","push","length","current","neighbors","getUnvisitedNeighbors","next","floor","random","removeWallBetween","pop","ensureConnectivity","hasPathFromStartToEnd","createMinimalPath","Array","fill","map","queue","shift","directions","dx","dy","wall","dir","newX","newY","currentCell","currentX","currentY","endX","endY","Set","key","has","add","possibleMoves","direction","cell","rightCell","bottomCell","leftCell","topCell","wallThickness","cellSize","mazeWidth","mazeHeight","width","height","type","cellX","cellY","updateSettings","_gameDuration","stopTimer","resetGame","startGame","startTimer","pauseGame","resumeGame","stopGame","setInterval","clearInterval","updateBallPosition","newPosition","isValidPosition","isNearTarget","completeLevel","position","ballRadius","ballCollidesWithWall","padding","ballX","ballY","closestX","max","closestY","distanceX","distanceY","distanceSquared","distance","sqrt","pow","timeBonus","getGameState","getGameConfig","getWalls","getMaze","row","cleanup"],"sourceRoot":"../../../../src","sources":["games/maze-runner/MazeRunnerService.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["MazeRunnerService","gameTimer","constructor","gridSize","gameAreaWidth","gameAreaHeight","gameDuration","gameConfig","GRID_SIZE","CELL_SIZE","Math","min","BALL_SIZE","PIPE_WIDTH","GAME_AREA_WIDTH","GAME_AREA_HEIGHT","COLLISION_TOLERANCE","SCORE_PER_COMPLETION","TIME_BONUS_MULTIPLIER","GAME_DURATION","gameState","isPlaying","isPaused","score","timeElapsed","ballPosition","x","y","targetPosition","isCompleted","gameOver","maze","walls","initializeMaze","generateMazeWithBacktracking","generateWalls","setStartAndEndPositions","setGameStateChangeCallback","callback","onGameStateChange","notifyGameStateChange","top","right","bottom","left","visited","generateNewMaze","stack","startCell","push","length","current","neighbors","getUnvisitedNeighbors","next","floor","random","removeWallBetween","pop","ensureConnectivity","hasPathFromStartToEnd","createMinimalPath","Array","fill","map","queue","shift","directions","dx","dy","wall","dir","newX","newY","currentCell","currentX","currentY","endX","endY","Set","key","has","add","possibleMoves","direction","cell","rightCell","bottomCell","leftCell","topCell","wallThickness","cellSize","mazeWidth","mazeHeight","width","height","type","cellX","cellY","updateSettings","newGameAreaWidth","newGameAreaHeight","stopTimer","resetGame","startGame","startTimer","pauseGame","resumeGame","stopGame","setInterval","clearInterval","updateBallPosition","newPosition","isValidPosition","isNearTarget","completeLevel","position","ballRadius","ballCollidesWithWall","padding","ballX","ballY","closestX","max","closestY","distanceX","distanceY","distanceSquared","distance","sqrt","pow","timeBonus","getGameState","getGameConfig","getWalls","getMaze","row","cleanup"],"sourceRoot":"../../../../src","sources":["games/maze-runner/MazeRunnerService.ts"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,8 @@ import { Canvas, Circle, RadialGradient, vec, Shadow } from '@shopify/react-nati
5
5
  import { useSharedValue, useAnimatedStyle, withRepeat, withTiming, withSequence } from 'react-native-reanimated';
6
6
  import Animated from 'react-native-reanimated';
7
7
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
- export const EnhancedBallComponent = ({
8
+ // Memoized EnhancedBallComponent to prevent unnecessary re-renders
9
+ export const EnhancedBallComponent = /*#__PURE__*/React.memo(({
9
10
  position,
10
11
  size,
11
12
  isDragging,
@@ -31,9 +32,9 @@ export const EnhancedBallComponent = ({
31
32
  }, []);
32
33
  React.useEffect(() => {
33
34
  if (isDragging) {
34
- pulseScale.value = withTiming(1.2, {
35
+ pulseScale.value = withTiming(1.05, {
35
36
  duration: 200
36
- });
37
+ }); // Reduced from 1.2 to 1.05 for subtle effect
37
38
  } else {
38
39
  pulseScale.value = withTiming(1, {
39
40
  duration: 200
@@ -145,5 +146,5 @@ export const EnhancedBallComponent = ({
145
146
  })]
146
147
  })
147
148
  });
148
- };
149
+ });
149
150
  //# sourceMappingURL=EnhancedBallComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Canvas","Circle","RadialGradient","vec","Shadow","useSharedValue","useAnimatedStyle","withRepeat","withTiming","withSequence","Animated","jsx","_jsx","jsxs","_jsxs","EnhancedBallComponent","position","size","isDragging","isCompleted","rotation","glowIntensity","pulseScale","completionGlow","useEffect","value","duration","animatedStyle","scale","rotationDegrees","left","x","top","y","width","height","transform","rotate","canvasSize","ballRadius","centerX","centerY","View","style","children","cx","cy","r","opacity","c","colors","dx","dy","blur","color","strokeWidth"],"sourceRoot":"../../../../../src","sources":["games/maze-runner/components/EnhancedBallComponent.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Canvas","Circle","RadialGradient","vec","Shadow","useSharedValue","useAnimatedStyle","withRepeat","withTiming","withSequence","Animated","jsx","_jsx","jsxs","_jsxs","EnhancedBallComponent","memo","position","size","isDragging","isCompleted","rotation","glowIntensity","pulseScale","completionGlow","useEffect","value","duration","animatedStyle","scale","rotationDegrees","left","x","top","y","width","height","transform","rotate","canvasSize","ballRadius","centerX","centerY","View","style","children","cx","cy","r","opacity","c","colors","dx","dy","blur","color","strokeWidth"],"sourceRoot":"../../../../../src","sources":["games/maze-runner/components/EnhancedBallComponent.tsx"],"mappings":"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","ignoreList":[]}
@@ -4,11 +4,12 @@ import React from 'react';
4
4
  import { View, StyleSheet } from 'react-native';
5
5
  import { Gesture, GestureDetector } from 'react-native-gesture-handler';
6
6
  import Animated, { useSharedValue, useAnimatedStyle, runOnJS, withSpring } from 'react-native-reanimated';
7
- import * as Haptics from 'expo-haptics';
7
+ import { playHaptic, HapticType } from "../../../services/HapticsService.js";
8
8
  import { EnhancedBallComponent } from "./EnhancedBallComponent.js";
9
9
  import { WallComponent } from "./WallComponent.js";
10
10
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
- export const EnhancedGameArea = ({
11
+ // Memoized EnhancedGameArea component to prevent unnecessary re-renders
12
+ export const EnhancedGameArea = /*#__PURE__*/React.memo(({
12
13
  gameState,
13
14
  gameConfig,
14
15
  walls,
@@ -32,16 +33,14 @@ export const EnhancedGameArea = ({
32
33
  React.useEffect(() => {
33
34
  wallsSharedValue.value = walls;
34
35
  }, [walls]);
35
- const triggerHaptic = () => {
36
- if (hapticEnabled) {
37
- Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light);
38
- }
39
- };
40
- const triggerCollisionHaptic = () => {
41
- if (hapticEnabled) {
42
- Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Medium);
43
- }
44
- };
36
+
37
+ // Memoized haptic callback functions
38
+ const triggerMoveHaptic = React.useCallback(() => {
39
+ playHaptic(HapticType.LIGHT, hapticEnabled);
40
+ }, [hapticEnabled]);
41
+ const triggerCollisionHaptic = React.useCallback(() => {
42
+ playHaptic(HapticType.MEDIUM, hapticEnabled);
43
+ }, [hapticEnabled]);
45
44
 
46
45
  // Store the initial position when gesture starts
47
46
  const startPosition = useSharedValue({
@@ -56,7 +55,7 @@ export const EnhancedGameArea = ({
56
55
  const currentWalls = wallsSharedValue.value;
57
56
 
58
57
  // Use minimal margin to allow ball to fit better in maze paths
59
- const collisionMargin = 0.5;
58
+ const collisionMargin = 0.2; // Reduced from 0.5 for more precise collision
60
59
  const effectiveRadius = ballRadius + collisionMargin;
61
60
  for (let i = 0; i < currentWalls.length; i++) {
62
61
  const wall = currentWalls[i];
@@ -120,7 +119,7 @@ export const EnhancedGameArea = ({
120
119
  y: gameState.ballPosition.y
121
120
  };
122
121
  isDragging.value = true;
123
- runOnJS(triggerHaptic)();
122
+ runOnJS(triggerMoveHaptic)();
124
123
  }).onUpdate(event => {
125
124
  if (!gameState.isPlaying || gameState.isPaused) return;
126
125
 
@@ -256,6 +255,7 @@ export const EnhancedGameArea = ({
256
255
  return /*#__PURE__*/_jsx(View, {
257
256
  style: [styles.marker, styles.endMarker, {
258
257
  left: endPos.x - 15,
258
+ // Half of 30px marker size
259
259
  top: endPos.y - 15
260
260
  }],
261
261
  children: /*#__PURE__*/_jsx(View, {
@@ -294,7 +294,7 @@ export const EnhancedGameArea = ({
294
294
  })]
295
295
  })
296
296
  });
297
- };
297
+ });
298
298
  const styles = StyleSheet.create({
299
299
  container: {
300
300
  backgroundColor: 'transparent',
@@ -318,6 +318,7 @@ const styles = StyleSheet.create({
318
318
  marker: {
319
319
  position: 'absolute',
320
320
  width: 30,
321
+ // Revert to original size for proper collision detection
321
322
  height: 30,
322
323
  borderRadius: 15,
323
324
  justifyContent: 'center',
@@ -334,10 +335,12 @@ const styles = StyleSheet.create({
334
335
  startMarker: {
335
336
  backgroundColor: '#4CAF50',
336
337
  borderWidth: 3,
338
+ // Revert to original border width
337
339
  borderColor: '#2E7D32'
338
340
  },
339
341
  startMarkerInner: {
340
342
  width: 12,
343
+ // Revert to original size
341
344
  height: 12,
342
345
  borderRadius: 6,
343
346
  backgroundColor: '#81C784'
@@ -345,10 +348,12 @@ const styles = StyleSheet.create({
345
348
  endMarker: {
346
349
  backgroundColor: '#FF5722',
347
350
  borderWidth: 3,
351
+ // Revert to original border width
348
352
  borderColor: '#D84315'
349
353
  },
350
354
  endMarkerInner: {
351
355
  width: 12,
356
+ // Revert to original size
352
357
  height: 12,
353
358
  borderRadius: 6,
354
359
  backgroundColor: '#FF8A65'