react-native-games 0.8.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/README.md +474 -176
  2. package/lib/module/games/balloon-blaster/BalloonBlaster.js +9 -14
  3. package/lib/module/games/balloon-blaster/BalloonBlaster.js.map +1 -1
  4. package/lib/module/games/balloon-blaster/BalloonBlasterStore.js +1 -1
  5. package/lib/module/games/balloon-blaster/components/GameArea.js +1 -1
  6. package/lib/module/games/balloon-blaster/components/GameArea.js.map +1 -1
  7. package/lib/module/games/balloon-blaster/components/GameBackground.js +24 -17
  8. package/lib/module/games/balloon-blaster/components/GameBackground.js.map +1 -1
  9. package/lib/module/games/balloon-blaster/components/ScoreBoard.js +47 -47
  10. package/lib/module/games/balloon-blaster/components/ScoreBoard.js.map +1 -1
  11. package/lib/module/games/candy-crush/CandyCrush.js +16 -6
  12. package/lib/module/games/candy-crush/CandyCrush.js.map +1 -1
  13. package/lib/module/games/candy-crush/CandyCrushStore.js +4 -6
  14. package/lib/module/games/candy-crush/CandyCrushStore.js.map +1 -1
  15. package/lib/module/games/candy-crush/components/ScoreBoard.js +32 -65
  16. package/lib/module/games/candy-crush/components/ScoreBoard.js.map +1 -1
  17. package/lib/module/games/{color-sort/ColorSort.js → colors-sort/ColorsSort.js} +37 -24
  18. package/lib/module/games/colors-sort/ColorsSort.js.map +1 -0
  19. package/lib/module/games/{color-sort/ColorSortConstants.js → colors-sort/ColorsSortConstants.js} +11 -7
  20. package/lib/module/games/colors-sort/ColorsSortConstants.js.map +1 -0
  21. package/lib/module/games/{color-sort/ColorSortService.js → colors-sort/ColorsSortService.js} +1 -1
  22. package/lib/module/games/colors-sort/ColorsSortService.js.map +1 -0
  23. package/lib/module/games/{color-sort/ColorSortStore.js → colors-sort/ColorsSortStore.js} +20 -21
  24. package/lib/module/games/colors-sort/ColorsSortStore.js.map +1 -0
  25. package/lib/module/games/{color-sort → colors-sort}/components/ColorContainer.js +4 -4
  26. package/lib/module/games/colors-sort/components/ColorContainer.js.map +1 -0
  27. package/lib/module/games/{color-sort → colors-sort}/components/GameBackground.js +1 -1
  28. package/lib/module/games/colors-sort/components/GameBackground.js.map +1 -0
  29. package/lib/module/games/{color-sort → colors-sort}/components/ScoreBoard.js +14 -22
  30. package/lib/module/games/colors-sort/components/ScoreBoard.js.map +1 -0
  31. package/lib/module/games/colors-sort/components/index.js.map +1 -0
  32. package/lib/module/games/dino-jump/DinoJump.js +23 -23
  33. package/lib/module/games/dino-jump/DinoJump.js.map +1 -1
  34. package/lib/module/games/dino-jump/DinoJumpConstants.js +16 -6
  35. package/lib/module/games/dino-jump/DinoJumpConstants.js.map +1 -1
  36. package/lib/module/games/dino-jump/DinoJumpService.js +14 -12
  37. package/lib/module/games/dino-jump/DinoJumpService.js.map +1 -1
  38. package/lib/module/games/dino-jump/DinoJumpStore.js +14 -20
  39. package/lib/module/games/dino-jump/DinoJumpStore.js.map +1 -1
  40. package/lib/module/games/dino-jump/components/DinoSprite.js +15 -6
  41. package/lib/module/games/dino-jump/components/DinoSprite.js.map +1 -1
  42. package/lib/module/games/dino-jump/components/GameBackground.js +65 -42
  43. package/lib/module/games/dino-jump/components/GameBackground.js.map +1 -1
  44. package/lib/module/games/dino-jump/components/ScoreBoard.js +48 -50
  45. package/lib/module/games/dino-jump/components/ScoreBoard.js.map +1 -1
  46. package/lib/module/games/flappy-bird/FlappyBird.js +9 -14
  47. package/lib/module/games/flappy-bird/FlappyBird.js.map +1 -1
  48. package/lib/module/games/flappy-bird/FlappyBirdConstants.js +1 -1
  49. package/lib/module/games/flappy-bird/FlappyBirdStore.js +53 -29
  50. package/lib/module/games/flappy-bird/FlappyBirdStore.js.map +1 -1
  51. package/lib/module/games/flappy-bird/components/GameArea.js +3 -2
  52. package/lib/module/games/flappy-bird/components/GameArea.js.map +1 -1
  53. package/lib/module/games/flappy-bird/components/GameBackground.js +10 -43
  54. package/lib/module/games/flappy-bird/components/GameBackground.js.map +1 -1
  55. package/lib/module/games/flappy-bird/components/Pipes.js +65 -68
  56. package/lib/module/games/flappy-bird/components/Pipes.js.map +1 -1
  57. package/lib/module/games/flappy-bird/components/ScoreBoard.js +23 -22
  58. package/lib/module/games/flappy-bird/components/ScoreBoard.js.map +1 -1
  59. package/lib/module/games/fruit-merger/FruitMerger.js +13 -5
  60. package/lib/module/games/fruit-merger/FruitMerger.js.map +1 -1
  61. package/lib/module/games/fruit-merger/FruitMergerConstants.js +4 -4
  62. package/lib/module/games/fruit-merger/FruitMergerStore.js +5 -8
  63. package/lib/module/games/fruit-merger/FruitMergerStore.js.map +1 -1
  64. package/lib/module/games/fruit-merger/components/GameArea.js +5 -25
  65. package/lib/module/games/fruit-merger/components/GameArea.js.map +1 -1
  66. package/lib/module/games/fruit-merger/components/GameBackground.js +40 -19
  67. package/lib/module/games/fruit-merger/components/GameBackground.js.map +1 -1
  68. package/lib/module/games/fruit-merger/components/ScoreBoard.js +9 -17
  69. package/lib/module/games/fruit-merger/components/ScoreBoard.js.map +1 -1
  70. package/lib/module/games/fruit-ninja/FruitNinja.js +9 -14
  71. package/lib/module/games/fruit-ninja/FruitNinja.js.map +1 -1
  72. package/lib/module/games/fruit-ninja/FruitNinjaStore.js +1 -1
  73. package/lib/module/games/fruit-ninja/components/GameArea.js +1 -1
  74. package/lib/module/games/fruit-ninja/components/GameArea.js.map +1 -1
  75. package/lib/module/games/fruit-ninja/components/GameBackground.js +70 -45
  76. package/lib/module/games/fruit-ninja/components/GameBackground.js.map +1 -1
  77. package/lib/module/games/fruit-ninja/components/ScoreBoard.js +47 -46
  78. package/lib/module/games/fruit-ninja/components/ScoreBoard.js.map +1 -1
  79. package/lib/module/games/game-2048/Game2048.js +81 -52
  80. package/lib/module/games/game-2048/Game2048.js.map +1 -1
  81. package/lib/module/games/game-2048/Game2048Constants.js +18 -18
  82. package/lib/module/games/game-2048/Game2048Constants.js.map +1 -1
  83. package/lib/module/games/game-2048/Game2048Store.js +10 -12
  84. package/lib/module/games/game-2048/Game2048Store.js.map +1 -1
  85. package/lib/module/games/game-2048/components/ScoreBoard.js +25 -43
  86. package/lib/module/games/game-2048/components/ScoreBoard.js.map +1 -1
  87. package/lib/module/games/maze-runner/MazeRunner.js +22 -14
  88. package/lib/module/games/maze-runner/MazeRunner.js.map +1 -1
  89. package/lib/module/games/maze-runner/MazeRunnerService.js +19 -17
  90. package/lib/module/games/maze-runner/MazeRunnerService.js.map +1 -1
  91. package/lib/module/games/maze-runner/components/ScoreBoard.js +32 -42
  92. package/lib/module/games/maze-runner/components/ScoreBoard.js.map +1 -1
  93. package/lib/module/games/popit-fidget/PopitFidget.js +27 -38
  94. package/lib/module/games/popit-fidget/PopitFidget.js.map +1 -1
  95. package/lib/module/games/popit-fidget/PopitFidgetStore.js +6 -44
  96. package/lib/module/games/popit-fidget/PopitFidgetStore.js.map +1 -1
  97. package/lib/module/games/popit-fidget/components/ScoreBoard.js +31 -45
  98. package/lib/module/games/popit-fidget/components/ScoreBoard.js.map +1 -1
  99. package/lib/module/games/sliding-numbers/SlidingNumbers.js +18 -20
  100. package/lib/module/games/sliding-numbers/SlidingNumbers.js.map +1 -1
  101. package/lib/module/games/sliding-numbers/SlidingNumbersStore.js +4 -5
  102. package/lib/module/games/sliding-numbers/SlidingNumbersStore.js.map +1 -1
  103. package/lib/module/games/sliding-numbers/components/ScoreBoard.js +26 -28
  104. package/lib/module/games/sliding-numbers/components/ScoreBoard.js.map +1 -1
  105. package/lib/module/games/snake/Snake.js +23 -26
  106. package/lib/module/games/snake/Snake.js.map +1 -1
  107. package/lib/module/games/snake/SnakeConstants.js +2 -2
  108. package/lib/module/games/snake/SnakeStore.js +4 -6
  109. package/lib/module/games/snake/SnakeStore.js.map +1 -1
  110. package/lib/module/games/snake/components/ScoreBoard.js +10 -16
  111. package/lib/module/games/snake/components/ScoreBoard.js.map +1 -1
  112. package/lib/module/games/space-fighter/SpaceFighter.js +16 -17
  113. package/lib/module/games/space-fighter/SpaceFighter.js.map +1 -1
  114. package/lib/module/games/space-fighter/SpaceFighterService.js +7 -6
  115. package/lib/module/games/space-fighter/SpaceFighterService.js.map +1 -1
  116. package/lib/module/games/space-fighter/SpaceFighterStore.js +25 -11
  117. package/lib/module/games/space-fighter/SpaceFighterStore.js.map +1 -1
  118. package/lib/module/games/space-fighter/components/GameArea.js +1 -7
  119. package/lib/module/games/space-fighter/components/GameArea.js.map +1 -1
  120. package/lib/module/games/space-fighter/components/ScoreBoard.js +47 -48
  121. package/lib/module/games/space-fighter/components/ScoreBoard.js.map +1 -1
  122. package/lib/module/games/whack-a-mole/WhackAMole.js +12 -5
  123. package/lib/module/games/whack-a-mole/WhackAMole.js.map +1 -1
  124. package/lib/module/games/whack-a-mole/WhackAMoleStore.js +1 -1
  125. package/lib/module/games/whack-a-mole/components/GameBackground.js +37 -30
  126. package/lib/module/games/whack-a-mole/components/GameBackground.js.map +1 -1
  127. package/lib/module/games/whack-a-mole/components/ScoreBoard.js +32 -38
  128. package/lib/module/games/whack-a-mole/components/ScoreBoard.js.map +1 -1
  129. package/lib/module/helpers/AnimationFrame.js.map +1 -0
  130. package/lib/module/helpers/AnimationTracker.js.map +1 -0
  131. package/lib/module/helpers/ErrorHandler.js.map +1 -0
  132. package/lib/module/helpers/GameControlButton.js.map +1 -0
  133. package/lib/module/helpers/GameOverModal.js.map +1 -0
  134. package/lib/module/{shared/helpers → helpers}/GameSettingsModal.js +2 -2
  135. package/lib/module/helpers/GameSettingsModal.js.map +1 -0
  136. package/lib/module/helpers/ParticleBlast.js.map +1 -0
  137. package/lib/module/helpers/ScoreBoardContainer.js +34 -0
  138. package/lib/module/helpers/ScoreBoardContainer.js.map +1 -0
  139. package/lib/module/{shared/helpers → helpers}/index.js +1 -1
  140. package/lib/module/helpers/index.js.map +1 -0
  141. package/lib/module/index.js +2 -1
  142. package/lib/module/index.js.map +1 -1
  143. package/lib/module/services/GamesConstants.js +49 -10
  144. package/lib/module/services/GamesConstants.js.map +1 -1
  145. package/lib/module/services/GamesService.js +108 -82
  146. package/lib/module/services/GamesService.js.map +1 -1
  147. package/lib/module/services/SoundsService.js +1 -1
  148. package/lib/module/services/SoundsService.js.map +1 -1
  149. package/lib/module/services/UtilsService.js +32 -0
  150. package/lib/module/services/UtilsService.js.map +1 -0
  151. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts +1 -1
  152. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts.map +1 -1
  153. package/lib/typescript/src/games/balloon-blaster/components/GameBackground.d.ts +1 -0
  154. package/lib/typescript/src/games/balloon-blaster/components/GameBackground.d.ts.map +1 -1
  155. package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts +5 -1
  156. package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts.map +1 -1
  157. package/lib/typescript/src/games/candy-crush/CandyCrush.d.ts +1 -1
  158. package/lib/typescript/src/games/candy-crush/CandyCrush.d.ts.map +1 -1
  159. package/lib/typescript/src/games/candy-crush/CandyCrushStore.d.ts.map +1 -1
  160. package/lib/typescript/src/games/candy-crush/components/ScoreBoard.d.ts +4 -1
  161. package/lib/typescript/src/games/candy-crush/components/ScoreBoard.d.ts.map +1 -1
  162. package/lib/typescript/src/games/colors-sort/ColorsSort.d.ts +4 -0
  163. package/lib/typescript/src/games/colors-sort/ColorsSort.d.ts.map +1 -0
  164. package/lib/typescript/src/games/{color-sort/ColorSortConstants.d.ts → colors-sort/ColorsSortConstants.d.ts} +8 -6
  165. package/lib/typescript/src/games/colors-sort/ColorsSortConstants.d.ts.map +1 -0
  166. package/lib/typescript/src/games/{color-sort/ColorSortService.d.ts → colors-sort/ColorsSortService.d.ts} +1 -1
  167. package/lib/typescript/src/games/colors-sort/ColorsSortService.d.ts.map +1 -0
  168. package/lib/typescript/src/games/{color-sort/ColorSortStore.d.ts → colors-sort/ColorsSortStore.d.ts} +6 -6
  169. package/lib/typescript/src/games/colors-sort/ColorsSortStore.d.ts.map +1 -0
  170. package/lib/typescript/src/games/{color-sort → colors-sort}/components/ColorContainer.d.ts +1 -1
  171. package/lib/typescript/src/games/colors-sort/components/ColorContainer.d.ts.map +1 -0
  172. package/lib/typescript/src/games/colors-sort/components/GameBackground.d.ts.map +1 -0
  173. package/lib/typescript/src/games/colors-sort/components/ScoreBoard.d.ts +7 -0
  174. package/lib/typescript/src/games/colors-sort/components/ScoreBoard.d.ts.map +1 -0
  175. package/lib/typescript/src/games/colors-sort/components/index.d.ts.map +1 -0
  176. package/lib/typescript/src/games/dino-jump/DinoJump.d.ts +1 -1
  177. package/lib/typescript/src/games/dino-jump/DinoJump.d.ts.map +1 -1
  178. package/lib/typescript/src/games/dino-jump/DinoJumpConstants.d.ts +6 -4
  179. package/lib/typescript/src/games/dino-jump/DinoJumpConstants.d.ts.map +1 -1
  180. package/lib/typescript/src/games/dino-jump/DinoJumpService.d.ts +4 -4
  181. package/lib/typescript/src/games/dino-jump/DinoJumpService.d.ts.map +1 -1
  182. package/lib/typescript/src/games/dino-jump/DinoJumpStore.d.ts +3 -3
  183. package/lib/typescript/src/games/dino-jump/DinoJumpStore.d.ts.map +1 -1
  184. package/lib/typescript/src/games/dino-jump/components/DinoSprite.d.ts.map +1 -1
  185. package/lib/typescript/src/games/dino-jump/components/GameArea.d.ts +1 -1
  186. package/lib/typescript/src/games/dino-jump/components/GameBackground.d.ts +1 -0
  187. package/lib/typescript/src/games/dino-jump/components/GameBackground.d.ts.map +1 -1
  188. package/lib/typescript/src/games/dino-jump/components/ScoreBoard.d.ts +5 -1
  189. package/lib/typescript/src/games/dino-jump/components/ScoreBoard.d.ts.map +1 -1
  190. package/lib/typescript/src/games/flappy-bird/FlappyBird.d.ts +1 -1
  191. package/lib/typescript/src/games/flappy-bird/FlappyBird.d.ts.map +1 -1
  192. package/lib/typescript/src/games/flappy-bird/FlappyBirdStore.d.ts +1 -1
  193. package/lib/typescript/src/games/flappy-bird/FlappyBirdStore.d.ts.map +1 -1
  194. package/lib/typescript/src/games/flappy-bird/components/GameArea.d.ts +1 -1
  195. package/lib/typescript/src/games/flappy-bird/components/GameBackground.d.ts +1 -0
  196. package/lib/typescript/src/games/flappy-bird/components/GameBackground.d.ts.map +1 -1
  197. package/lib/typescript/src/games/flappy-bird/components/Pipes.d.ts +1 -0
  198. package/lib/typescript/src/games/flappy-bird/components/Pipes.d.ts.map +1 -1
  199. package/lib/typescript/src/games/flappy-bird/components/ScoreBoard.d.ts +5 -1
  200. package/lib/typescript/src/games/flappy-bird/components/ScoreBoard.d.ts.map +1 -1
  201. package/lib/typescript/src/games/fruit-merger/FruitMerger.d.ts +1 -1
  202. package/lib/typescript/src/games/fruit-merger/FruitMerger.d.ts.map +1 -1
  203. package/lib/typescript/src/games/fruit-merger/FruitMergerStore.d.ts +1 -1
  204. package/lib/typescript/src/games/fruit-merger/FruitMergerStore.d.ts.map +1 -1
  205. package/lib/typescript/src/games/fruit-merger/components/GameArea.d.ts +1 -1
  206. package/lib/typescript/src/games/fruit-merger/components/GameArea.d.ts.map +1 -1
  207. package/lib/typescript/src/games/fruit-merger/components/GameBackground.d.ts +1 -0
  208. package/lib/typescript/src/games/fruit-merger/components/GameBackground.d.ts.map +1 -1
  209. package/lib/typescript/src/games/fruit-merger/components/ScoreBoard.d.ts +5 -1
  210. package/lib/typescript/src/games/fruit-merger/components/ScoreBoard.d.ts.map +1 -1
  211. package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts +1 -1
  212. package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts.map +1 -1
  213. package/lib/typescript/src/games/fruit-ninja/components/GameBackground.d.ts +1 -0
  214. package/lib/typescript/src/games/fruit-ninja/components/GameBackground.d.ts.map +1 -1
  215. package/lib/typescript/src/games/fruit-ninja/components/ScoreBoard.d.ts +5 -1
  216. package/lib/typescript/src/games/fruit-ninja/components/ScoreBoard.d.ts.map +1 -1
  217. package/lib/typescript/src/games/game-2048/Game2048.d.ts +1 -1
  218. package/lib/typescript/src/games/game-2048/Game2048.d.ts.map +1 -1
  219. package/lib/typescript/src/games/game-2048/Game2048Store.d.ts +3 -3
  220. package/lib/typescript/src/games/game-2048/Game2048Store.d.ts.map +1 -1
  221. package/lib/typescript/src/games/game-2048/components/ScoreBoard.d.ts +5 -1
  222. package/lib/typescript/src/games/game-2048/components/ScoreBoard.d.ts.map +1 -1
  223. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts +1 -1
  224. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts.map +1 -1
  225. package/lib/typescript/src/games/maze-runner/MazeRunnerService.d.ts +1 -0
  226. package/lib/typescript/src/games/maze-runner/MazeRunnerService.d.ts.map +1 -1
  227. package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts +1 -0
  228. package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts.map +1 -1
  229. package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts +1 -1
  230. package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts.map +1 -1
  231. package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts +2 -5
  232. package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts.map +1 -1
  233. package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts +2 -2
  234. package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts.map +1 -1
  235. package/lib/typescript/src/games/sliding-numbers/SlidingNumbers.d.ts +1 -1
  236. package/lib/typescript/src/games/sliding-numbers/SlidingNumbers.d.ts.map +1 -1
  237. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersStore.d.ts.map +1 -1
  238. package/lib/typescript/src/games/sliding-numbers/components/ScoreBoard.d.ts +5 -1
  239. package/lib/typescript/src/games/sliding-numbers/components/ScoreBoard.d.ts.map +1 -1
  240. package/lib/typescript/src/games/snake/Snake.d.ts +1 -1
  241. package/lib/typescript/src/games/snake/Snake.d.ts.map +1 -1
  242. package/lib/typescript/src/games/snake/SnakeConstants.d.ts +2 -2
  243. package/lib/typescript/src/games/snake/SnakeStore.d.ts.map +1 -1
  244. package/lib/typescript/src/games/snake/components/ScoreBoard.d.ts +5 -1
  245. package/lib/typescript/src/games/snake/components/ScoreBoard.d.ts.map +1 -1
  246. package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts +1 -1
  247. package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts.map +1 -1
  248. package/lib/typescript/src/games/space-fighter/SpaceFighterService.d.ts.map +1 -1
  249. package/lib/typescript/src/games/space-fighter/SpaceFighterStore.d.ts +2 -0
  250. package/lib/typescript/src/games/space-fighter/SpaceFighterStore.d.ts.map +1 -1
  251. package/lib/typescript/src/games/space-fighter/components/GameArea.d.ts.map +1 -1
  252. package/lib/typescript/src/games/space-fighter/components/ScoreBoard.d.ts +5 -1
  253. package/lib/typescript/src/games/space-fighter/components/ScoreBoard.d.ts.map +1 -1
  254. package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts +1 -1
  255. package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts.map +1 -1
  256. package/lib/typescript/src/games/whack-a-mole/components/GameBackground.d.ts +1 -0
  257. package/lib/typescript/src/games/whack-a-mole/components/GameBackground.d.ts.map +1 -1
  258. package/lib/typescript/src/games/whack-a-mole/components/ScoreBoard.d.ts +1 -0
  259. package/lib/typescript/src/games/whack-a-mole/components/ScoreBoard.d.ts.map +1 -1
  260. package/lib/typescript/src/helpers/AnimationFrame.d.ts.map +1 -0
  261. package/lib/typescript/src/helpers/AnimationTracker.d.ts.map +1 -0
  262. package/lib/typescript/src/helpers/ErrorHandler.d.ts.map +1 -0
  263. package/lib/typescript/src/helpers/GameControlButton.d.ts.map +1 -0
  264. package/lib/typescript/src/helpers/GameOverModal.d.ts.map +1 -0
  265. package/lib/typescript/src/{shared/helpers → helpers}/GameSettingsModal.d.ts +1 -1
  266. package/lib/typescript/src/helpers/GameSettingsModal.d.ts.map +1 -0
  267. package/lib/typescript/src/helpers/ParticleBlast.d.ts.map +1 -0
  268. package/lib/typescript/src/helpers/ScoreBoardContainer.d.ts +9 -0
  269. package/lib/typescript/src/helpers/ScoreBoardContainer.d.ts.map +1 -0
  270. package/lib/typescript/src/{shared/helpers → helpers}/index.d.ts +2 -1
  271. package/lib/typescript/src/helpers/index.d.ts.map +1 -0
  272. package/lib/typescript/src/index.d.ts +2 -1
  273. package/lib/typescript/src/index.d.ts.map +1 -1
  274. package/lib/typescript/src/services/GamesConstants.d.ts +8 -2
  275. package/lib/typescript/src/services/GamesConstants.d.ts.map +1 -1
  276. package/lib/typescript/src/services/GamesService.d.ts +3 -33
  277. package/lib/typescript/src/services/GamesService.d.ts.map +1 -1
  278. package/lib/typescript/src/services/SoundsService.d.ts +1 -1
  279. package/lib/typescript/src/services/UtilsService.d.ts +38 -0
  280. package/lib/typescript/src/services/UtilsService.d.ts.map +1 -0
  281. package/package.json +1 -1
  282. package/lib/module/games/color-sort/ColorSort.js.map +0 -1
  283. package/lib/module/games/color-sort/ColorSortConstants.js.map +0 -1
  284. package/lib/module/games/color-sort/ColorSortService.js.map +0 -1
  285. package/lib/module/games/color-sort/ColorSortStore.js.map +0 -1
  286. package/lib/module/games/color-sort/components/ColorContainer.js.map +0 -1
  287. package/lib/module/games/color-sort/components/GameBackground.js.map +0 -1
  288. package/lib/module/games/color-sort/components/ScoreBoard.js.map +0 -1
  289. package/lib/module/games/color-sort/components/index.js.map +0 -1
  290. package/lib/module/shared/helpers/AnimationFrame.js.map +0 -1
  291. package/lib/module/shared/helpers/AnimationTracker.js.map +0 -1
  292. package/lib/module/shared/helpers/ErrorHandler.js.map +0 -1
  293. package/lib/module/shared/helpers/GameControlButton.js.map +0 -1
  294. package/lib/module/shared/helpers/GameOverModal.js.map +0 -1
  295. package/lib/module/shared/helpers/GameSettingsModal.js.map +0 -1
  296. package/lib/module/shared/helpers/ParticleBlast.js.map +0 -1
  297. package/lib/module/shared/helpers/ResponsiveScoreBoard.js +0 -81
  298. package/lib/module/shared/helpers/ResponsiveScoreBoard.js.map +0 -1
  299. package/lib/module/shared/helpers/index.js.map +0 -1
  300. package/lib/typescript/src/games/color-sort/ColorSort.d.ts +0 -4
  301. package/lib/typescript/src/games/color-sort/ColorSort.d.ts.map +0 -1
  302. package/lib/typescript/src/games/color-sort/ColorSortConstants.d.ts.map +0 -1
  303. package/lib/typescript/src/games/color-sort/ColorSortService.d.ts.map +0 -1
  304. package/lib/typescript/src/games/color-sort/ColorSortStore.d.ts.map +0 -1
  305. package/lib/typescript/src/games/color-sort/components/ColorContainer.d.ts.map +0 -1
  306. package/lib/typescript/src/games/color-sort/components/GameBackground.d.ts.map +0 -1
  307. package/lib/typescript/src/games/color-sort/components/ScoreBoard.d.ts +0 -3
  308. package/lib/typescript/src/games/color-sort/components/ScoreBoard.d.ts.map +0 -1
  309. package/lib/typescript/src/games/color-sort/components/index.d.ts.map +0 -1
  310. package/lib/typescript/src/shared/helpers/AnimationFrame.d.ts.map +0 -1
  311. package/lib/typescript/src/shared/helpers/AnimationTracker.d.ts.map +0 -1
  312. package/lib/typescript/src/shared/helpers/ErrorHandler.d.ts.map +0 -1
  313. package/lib/typescript/src/shared/helpers/GameControlButton.d.ts.map +0 -1
  314. package/lib/typescript/src/shared/helpers/GameOverModal.d.ts.map +0 -1
  315. package/lib/typescript/src/shared/helpers/GameSettingsModal.d.ts.map +0 -1
  316. package/lib/typescript/src/shared/helpers/ParticleBlast.d.ts.map +0 -1
  317. package/lib/typescript/src/shared/helpers/ResponsiveScoreBoard.d.ts +0 -42
  318. package/lib/typescript/src/shared/helpers/ResponsiveScoreBoard.d.ts.map +0 -1
  319. package/lib/typescript/src/shared/helpers/index.d.ts.map +0 -1
  320. /package/lib/module/games/{color-sort → colors-sort}/components/index.js +0 -0
  321. /package/lib/module/{shared/helpers → helpers}/AnimationFrame.js +0 -0
  322. /package/lib/module/{shared/helpers → helpers}/AnimationTracker.js +0 -0
  323. /package/lib/module/{shared/helpers → helpers}/ErrorHandler.js +0 -0
  324. /package/lib/module/{shared/helpers → helpers}/GameControlButton.js +0 -0
  325. /package/lib/module/{shared/helpers → helpers}/GameOverModal.js +0 -0
  326. /package/lib/module/{shared/helpers → helpers}/ParticleBlast.js +0 -0
  327. /package/lib/typescript/src/games/{color-sort → colors-sort}/components/GameBackground.d.ts +0 -0
  328. /package/lib/typescript/src/games/{color-sort → colors-sort}/components/index.d.ts +0 -0
  329. /package/lib/typescript/src/{shared/helpers → helpers}/AnimationFrame.d.ts +0 -0
  330. /package/lib/typescript/src/{shared/helpers → helpers}/AnimationTracker.d.ts +0 -0
  331. /package/lib/typescript/src/{shared/helpers → helpers}/ErrorHandler.d.ts +0 -0
  332. /package/lib/typescript/src/{shared/helpers → helpers}/GameControlButton.d.ts +0 -0
  333. /package/lib/typescript/src/{shared/helpers → helpers}/GameOverModal.d.ts +0 -0
  334. /package/lib/typescript/src/{shared/helpers → helpers}/ParticleBlast.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["GAME_2048_COLORS","BACKGROUND","GRID_BACKGROUND","TILE_COLORS","background","text","SCOREBOARD_BACKGROUND","SCOREBOARD_TEXT","BUTTON_BACKGROUND","BUTTON_TEXT","BUTTON_BORDER","GAME_OVER_OVERLAY","GAME_WIN_OVERLAY","GAME_2048_SETTINGS","GRID_SIZE","TILE_SIZE","TILE_MARGIN","TILE_BORDER_RADIUS","ANIMATION_DURATION","MERGE_ANIMATION_DURATION","SPAWN_ANIMATION_DURATION","INITIAL_TILES","NEW_TILE_PROBABILITY_4","SCORE_MULTIPLIER","easy","medium","hard","DIFFICULTY_SETTINGS","gridSize","targetTile","GAME_2048_GESTURES","MIN_SWIPE_DISTANCE","MAX_SWIPE_TIME","MIN_VELOCITY","GAME_2048_SOUNDS","Object","freeze","TILE_MOVE","pitch","rate","TILE_MERGE","GAME_WIN","GAME_OVER","NEW_TILE","INVALID_MOVE","tileColorCache","Map","getTileColor","value","has","get","result","colors","set","formatScore","score","toFixed","toString","BACKGROUND_TILE_COLORS","GAME_CONFIG","ANIMATION_CONFIG","TENSION","FRICTION","GAME_2048_THEME","backgroundColor","headerBackgroundColor","headerTextColor","sectionBackgroundColor","sectionTitleColor","buttonSelectedColor","buttonUnselectedColor","buttonSelectedTextColor","buttonUnselectedTextColor","switchTrackColorFalse","switchTrackColorTrue","switchThumbColor","infoTextColor","GAME_2048_DIFFICULTY_DESCRIPTIONS","getGridDimensions","difficulty","settings","tileSize","margin","totalSize"],"sourceRoot":"../../../../src","sources":["games/game-2048/Game2048Constants.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["GAME_2048_COLORS","BACKGROUND","GRID_BACKGROUND","TILE_COLORS","background","text","SCOREBOARD_BACKGROUND","SCOREBOARD_TEXT","BUTTON_BACKGROUND","BUTTON_TEXT","BUTTON_BORDER","GAME_OVER_OVERLAY","GAME_WIN_OVERLAY","GAME_2048_SETTINGS","GRID_SIZE","TILE_SIZE","TILE_MARGIN","TILE_BORDER_RADIUS","ANIMATION_DURATION","MERGE_ANIMATION_DURATION","SPAWN_ANIMATION_DURATION","INITIAL_TILES","NEW_TILE_PROBABILITY_4","SCORE_MULTIPLIER","easy","medium","hard","DIFFICULTY_SETTINGS","gridSize","targetTile","GAME_2048_GESTURES","MIN_SWIPE_DISTANCE","MAX_SWIPE_TIME","MIN_VELOCITY","GAME_2048_SOUNDS","Object","freeze","TILE_MOVE","pitch","rate","TILE_MERGE","GAME_WIN","GAME_OVER","NEW_TILE","INVALID_MOVE","tileColorCache","Map","getTileColor","value","has","get","result","colors","set","formatScore","score","toFixed","toString","BACKGROUND_TILE_COLORS","GAME_CONFIG","ANIMATION_CONFIG","TENSION","FRICTION","GAME_2048_THEME","backgroundColor","headerBackgroundColor","headerTextColor","sectionBackgroundColor","sectionTitleColor","buttonSelectedColor","buttonUnselectedColor","buttonSelectedTextColor","buttonUnselectedTextColor","switchTrackColorFalse","switchTrackColorTrue","switchThumbColor","infoTextColor","GAME_2048_DIFFICULTY_DESCRIPTIONS","getGridDimensions","difficulty","settings","tileSize","margin","totalSize"],"sourceRoot":"../../../../src","sources":["games/game-2048/Game2048Constants.ts"],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,7 @@ import { create } from 'zustand';
4
4
  import { subscribeWithSelector } from 'zustand/middleware';
5
5
  import { Game2048Service } from "./Game2048Service.js";
6
6
  import { GAME_CONFIG, GAME_2048_SOUNDS, GAME_2048_SETTINGS } from "./Game2048Constants.js";
7
- import { immerMiddleware } from "../../services/GamesService.js";
7
+ import { immerMiddleware } from "../../services/UtilsService.js";
8
8
  import { playSound } from "../../services/SoundsService.js";
9
9
  import { playHaptic, HapticType } from "../../services/HapticsService.js";
10
10
  // Ultra-minimal store with memory-safe implementation
@@ -12,7 +12,7 @@ export const useGame2048Store = create()(subscribeWithSelector(immerMiddleware((
12
12
  const gameService = new Game2048Service();
13
13
  return {
14
14
  // Initial state - minimal for memory efficiency
15
- score: 0,
15
+ timeElapsed: 0,
16
16
  isPlaying: false,
17
17
  isGameOver: false,
18
18
  isWon: false,
@@ -28,12 +28,13 @@ export const useGame2048Store = create()(subscribeWithSelector(immerMiddleware((
28
28
  startGame: () => {
29
29
  set(state => {
30
30
  state.isPlaying = true;
31
+ state.timeElapsed = 0; // Reset time when starting
31
32
  });
32
33
  },
33
34
  stopGame: () => {
34
- set(state => {
35
- state.isPlaying = false;
36
- });
35
+ const state = get();
36
+ // Reset the game instead of showing game over modal
37
+ state.initializeGame(state.difficulty);
37
38
  },
38
39
  resetGame: () => {
39
40
  const state = get();
@@ -53,7 +54,7 @@ export const useGame2048Store = create()(subscribeWithSelector(immerMiddleware((
53
54
  const tile2 = gameService.addRandomTile(state.grid, tileId++);
54
55
 
55
56
  // Reset state with difficulty settings
56
- state.score = 0;
57
+ state.timeElapsed = 0;
57
58
  state.isPlaying = false;
58
59
  state.isGameOver = false;
59
60
  state.isWon = false;
@@ -88,9 +89,9 @@ export const useGame2048Store = create()(subscribeWithSelector(immerMiddleware((
88
89
  state.grid = newGrid;
89
90
  });
90
91
  },
91
- updateScore: newScore => {
92
+ incrementTime: () => {
92
93
  set(state => {
93
- state.score = newScore;
94
+ state.timeElapsed += 1;
94
95
  });
95
96
  },
96
97
  setIsAnimating: animating => {
@@ -146,8 +147,6 @@ export const useGame2048Store = create()(subscribeWithSelector(immerMiddleware((
146
147
  // Batch all state updates together
147
148
  const newTileId = state.nextTileId;
148
149
  const newTile = gameService.addRandomTile(gridCopy, newTileId);
149
- const multiplier = GAME_2048_SETTINGS.SCORE_MULTIPLIER[state.difficulty];
150
- const newScore = state.score + moveScore * multiplier;
151
150
 
152
151
  // Check game state before updating
153
152
  const hasWon = gameService.hasWon(gridCopy, state.targetValue);
@@ -156,7 +155,6 @@ export const useGame2048Store = create()(subscribeWithSelector(immerMiddleware((
156
155
  // Single state update for all changes
157
156
  set(draft => {
158
157
  draft.grid = gridCopy;
159
- draft.score = newScore;
160
158
  draft.nextTileId = newTileId + 1;
161
159
  if (hasWon) draft.isWon = true;
162
160
  if (isGameOver) draft.isGameOver = true;
@@ -226,7 +224,7 @@ export const useGame2048Store = create()(subscribeWithSelector(immerMiddleware((
226
224
  })));
227
225
 
228
226
  // Selector hooks for performance optimization
229
- export const useScore = () => useGame2048Store(state => state.score);
227
+ export const useTimeElapsed = () => useGame2048Store(state => state.timeElapsed);
230
228
  export const useGrid = () => useGame2048Store(state => state.grid);
231
229
  export const useIsPlaying = () => useGame2048Store(state => state.isPlaying);
232
230
  export const useIsGameOver = () => useGame2048Store(state => state.isGameOver);
@@ -1 +1 @@
1
- {"version":3,"names":["create","subscribeWithSelector","Game2048Service","GAME_CONFIG","GAME_2048_SOUNDS","GAME_2048_SETTINGS","immerMiddleware","playSound","playHaptic","HapticType","useGame2048Store","set","get","gameService","score","isPlaying","isGameOver","isWon","isAnimating","grid","createGrid","nextTileId","difficulty","targetValue","gridSize","enableSounds","enableHaptics","startGame","state","stopGame","resetGame","initializeGame","difficultySettings","DIFFICULTY_SETTINGS","tileId","tile1","addRandomTile","tile2","targetTile","forEach","tile","scaleValue","setTimeout","setValue","Animated","require","spring","toValue","useNativeDriver","tension","ANIMATION_CONFIG","TENSION","friction","FRICTION","start","updateGrid","newGrid","updateScore","newScore","setIsAnimating","animating","setGameOver","gameOver","setWon","won","incrementTileId","newId","draft","handleMove","direction","gridCopy","map","row","slice","moved","moveScore","moveTiles","newTileId","newTile","multiplier","SCORE_MULTIPLIER","hasWon","checkGameOver","Promise","resolve","then","TILE_MOVE","LIGHT","TILE_MERGE","MEDIUM","NEW_TILE","GAME_WIN","SUCCESS","GAME_OVER","ERROR","INVALID_MOVE","WARNING","updateSettings","useScore","useGrid","useIsPlaying","useIsGameOver","useIsWon","useIsAnimating","useDifficulty","useTargetValue","useGridSize"],"sourceRoot":"../../../../src","sources":["games/game-2048/Game2048Store.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["create","subscribeWithSelector","Game2048Service","GAME_CONFIG","GAME_2048_SOUNDS","GAME_2048_SETTINGS","immerMiddleware","playSound","playHaptic","HapticType","useGame2048Store","set","get","gameService","timeElapsed","isPlaying","isGameOver","isWon","isAnimating","grid","createGrid","nextTileId","difficulty","targetValue","gridSize","enableSounds","enableHaptics","startGame","state","stopGame","initializeGame","resetGame","difficultySettings","DIFFICULTY_SETTINGS","tileId","tile1","addRandomTile","tile2","targetTile","forEach","tile","scaleValue","setTimeout","setValue","Animated","require","spring","toValue","useNativeDriver","tension","ANIMATION_CONFIG","TENSION","friction","FRICTION","start","updateGrid","newGrid","incrementTime","setIsAnimating","animating","setGameOver","gameOver","setWon","won","incrementTileId","newId","draft","handleMove","direction","gridCopy","map","row","slice","moved","score","moveScore","moveTiles","newTileId","newTile","hasWon","checkGameOver","Promise","resolve","then","TILE_MOVE","LIGHT","TILE_MERGE","MEDIUM","NEW_TILE","GAME_WIN","SUCCESS","GAME_OVER","ERROR","INVALID_MOVE","WARNING","updateSettings","useTimeElapsed","useGrid","useIsPlaying","useIsGameOver","useIsWon","useIsAnimating","useDifficulty","useTargetValue","useGridSize"],"sourceRoot":"../../../../src","sources":["games/game-2048/Game2048Store.ts"],"mappings":"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","ignoreList":[]}
@@ -2,68 +2,50 @@
2
2
 
3
3
  import React from 'react';
4
4
  import { View, Text, StyleSheet } from 'react-native';
5
- import { useScore } from "../Game2048Store.js";
5
+ import { useTimeElapsed } from "../Game2048Store.js";
6
+ import { ScoreBoardContainer } from "../../../helpers/index.js";
6
7
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
- export const ScoreBoard = /*#__PURE__*/React.memo(() => {
8
- const score = useScore();
8
+ export const ScoreBoard = /*#__PURE__*/React.memo(({
9
+ offset = 0
10
+ }) => {
11
+ const timeElapsed = useTimeElapsed();
9
12
 
10
- // Memoize formatted score for better performance
11
- const formattedScore = React.useMemo(() => score.toLocaleString(), [score]);
12
- return /*#__PURE__*/_jsx(View, {
13
- style: styles.scoreboardContainer,
13
+ // Format time as MM:SS
14
+ const formattedTime = React.useMemo(() => {
15
+ const minutes = Math.floor(timeElapsed / 60);
16
+ const seconds = timeElapsed % 60;
17
+ return `${minutes}:${seconds.toString().padStart(2, '0')}`;
18
+ }, [timeElapsed]);
19
+ return /*#__PURE__*/_jsx(ScoreBoardContainer, {
20
+ offset: offset,
21
+ backgroundColor: "rgba(187, 173, 160, 0.4)",
22
+ borderColor: "rgba(119, 110, 101, 0.6)",
14
23
  children: /*#__PURE__*/_jsxs(View, {
15
24
  style: styles.scoreBoard,
16
25
  children: [/*#__PURE__*/_jsx(Text, {
17
26
  style: styles.scoreLabel,
18
- children: "SCORE"
27
+ children: "Time Elapsed"
19
28
  }), /*#__PURE__*/_jsx(Text, {
20
29
  style: styles.scoreValue,
21
- children: formattedScore
30
+ children: formattedTime
22
31
  })]
23
32
  })
24
33
  });
25
34
  });
26
35
  const styles = StyleSheet.create({
27
- scoreboardContainer: {
28
- position: 'absolute',
29
- top: 20,
30
- left: 20,
31
- right: 20,
32
- zIndex: 10,
33
- pointerEvents: 'none' // Allow touches to pass through
34
- },
35
36
  scoreBoard: {
36
- backgroundColor: 'rgba(255, 255, 255, 0.4)',
37
- // 0.4 opacity as requested
38
- borderRadius: 12,
39
- padding: 15,
40
- alignItems: 'center',
41
- borderWidth: 2,
42
- borderColor: 'rgba(255, 255, 255, 0.6)'
37
+ alignItems: 'center'
43
38
  },
44
39
  scoreLabel: {
45
- fontSize: 14,
46
- fontWeight: '700',
40
+ fontSize: 18,
41
+ fontWeight: 'bold',
47
42
  color: '#ffffff',
48
- marginBottom: 4,
49
- letterSpacing: 1,
50
- textShadowColor: 'rgba(0, 0, 0, 0.5)',
51
- textShadowOffset: {
52
- width: 1,
53
- height: 1
54
- },
55
- textShadowRadius: 2
43
+ marginBottom: 4
56
44
  },
57
45
  scoreValue: {
58
- fontSize: 24,
59
- fontWeight: '900',
60
- color: '#2c3e50',
61
- textShadowColor: 'rgba(255, 255, 255, 0.8)',
62
- textShadowOffset: {
63
- width: 1,
64
- height: 1
65
- },
66
- textShadowRadius: 2
46
+ fontSize: 30,
47
+ fontWeight: 'bold',
48
+ color: '#ffffff'
67
49
  }
68
50
  });
69
51
  ScoreBoard.displayName = 'ScoreBoard';
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","StyleSheet","useScore","jsx","_jsx","jsxs","_jsxs","ScoreBoard","memo","score","formattedScore","useMemo","toLocaleString","style","styles","scoreboardContainer","children","scoreBoard","scoreLabel","scoreValue","create","position","top","left","right","zIndex","pointerEvents","backgroundColor","borderRadius","padding","alignItems","borderWidth","borderColor","fontSize","fontWeight","color","marginBottom","letterSpacing","textShadowColor","textShadowOffset","width","height","textShadowRadius","displayName"],"sourceRoot":"../../../../../src","sources":["games/game-2048/components/ScoreBoard.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AACrD,SAASC,QAAQ,QAAQ,qBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE5C,OAAO,MAAMC,UAAoB,gBAAGT,KAAK,CAACU,IAAI,CAAC,MAAM;EACnD,MAAMC,KAAK,GAAGP,QAAQ,CAAC,CAAC;;EAExB;EACA,MAAMQ,cAAc,GAAGZ,KAAK,CAACa,OAAO,CAAC,MACnCF,KAAK,CAACG,cAAc,CAAC,CAAC,EACtB,CAACH,KAAK,CACR,CAAC;EAED,oBACEL,IAAA,CAACL,IAAI;IAACc,KAAK,EAAEC,MAAM,CAACC,mBAAoB;IAAAC,QAAA,eACtCV,KAAA,CAACP,IAAI;MAACc,KAAK,EAAEC,MAAM,CAACG,UAAW;MAAAD,QAAA,gBAC7BZ,IAAA,CAACJ,IAAI;QAACa,KAAK,EAAEC,MAAM,CAACI,UAAW;QAAAF,QAAA,EAAC;MAAK,CAAM,CAAC,eAC5CZ,IAAA,CAACJ,IAAI;QAACa,KAAK,EAAEC,MAAM,CAACK,UAAW;QAAAH,QAAA,EAAEN;MAAc,CAAO,CAAC;IAAA,CACnD;EAAC,CACH,CAAC;AAEX,CAAC,CAAC;AAEF,MAAMI,MAAM,GAAGb,UAAU,CAACmB,MAAM,CAAC;EAC/BL,mBAAmB,EAAE;IACnBM,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,EAAE;IACPC,IAAI,EAAE,EAAE;IACRC,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,aAAa,EAAE,MAAM,CAAE;EACzB,CAAC;EACDT,UAAU,EAAE;IACVU,eAAe,EAAE,0BAA0B;IAAE;IAC7CC,YAAY,EAAE,EAAE;IAChBC,OAAO,EAAE,EAAE;IACXC,UAAU,EAAE,QAAQ;IACpBC,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE;EACf,CAAC;EACDd,UAAU,EAAE;IACVe,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,KAAK,EAAE,SAAS;IAChBC,YAAY,EAAE,CAAC;IACfC,aAAa,EAAE,CAAC;IAChBC,eAAe,EAAE,oBAAoB;IACrCC,gBAAgB,EAAE;MAAEC,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAC;IACzCC,gBAAgB,EAAE;EACpB,CAAC;EACDvB,UAAU,EAAE;IACVc,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,KAAK,EAAE,SAAS;IAChBG,eAAe,EAAE,0BAA0B;IAC3CC,gBAAgB,EAAE;MAAEC,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAC;IACzCC,gBAAgB,EAAE;EACpB;AACF,CAAC,CAAC;AAEFnC,UAAU,CAACoC,WAAW,GAAG,YAAY","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Text","StyleSheet","useTimeElapsed","ScoreBoardContainer","jsx","_jsx","jsxs","_jsxs","ScoreBoard","memo","offset","timeElapsed","formattedTime","useMemo","minutes","Math","floor","seconds","toString","padStart","backgroundColor","borderColor","children","style","styles","scoreBoard","scoreLabel","scoreValue","create","alignItems","fontSize","fontWeight","color","marginBottom","displayName"],"sourceRoot":"../../../../../src","sources":["games/game-2048/components/ScoreBoard.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AACrD,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,mBAAmB,QAAQ,2BAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMvD,OAAO,MAAMC,UAAqC,gBAAGV,KAAK,CAACW,IAAI,CAAC,CAAC;EAACC,MAAM,GAAG;AAAC,CAAC,KAAK;EAChF,MAAMC,WAAW,GAAGT,cAAc,CAAC,CAAC;;EAEpC;EACA,MAAMU,aAAa,GAAGd,KAAK,CAACe,OAAO,CAAC,MAAM;IACxC,MAAMC,OAAO,GAAGC,IAAI,CAACC,KAAK,CAACL,WAAW,GAAG,EAAE,CAAC;IAC5C,MAAMM,OAAO,GAAGN,WAAW,GAAG,EAAE;IAChC,OAAO,GAAGG,OAAO,IAAIG,OAAO,CAACC,QAAQ,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;EAC5D,CAAC,EAAE,CAACR,WAAW,CAAC,CAAC;EAEjB,oBACEN,IAAA,CAACF,mBAAmB;IAClBO,MAAM,EAAEA,MAAO;IACfU,eAAe,EAAC,0BAA0B;IAC1CC,WAAW,EAAC,0BAA0B;IAAAC,QAAA,eAEtCf,KAAA,CAACR,IAAI;MAACwB,KAAK,EAAEC,MAAM,CAACC,UAAW;MAAAH,QAAA,gBAC7BjB,IAAA,CAACL,IAAI;QAACuB,KAAK,EAAEC,MAAM,CAACE,UAAW;QAAAJ,QAAA,EAAC;MAAY,CAAM,CAAC,eACnDjB,IAAA,CAACL,IAAI;QAACuB,KAAK,EAAEC,MAAM,CAACG,UAAW;QAAAL,QAAA,EAAEV;MAAa,CAAO,CAAC;IAAA,CAClD;EAAC,CACY,CAAC;AAE1B,CAAC,CAAC;AAEF,MAAMY,MAAM,GAAGvB,UAAU,CAAC2B,MAAM,CAAC;EAC/BH,UAAU,EAAE;IACVI,UAAU,EAAE;EACd,CAAC;EACDH,UAAU,EAAE;IACVI,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,MAAM;IAClBC,KAAK,EAAE,SAAS;IAChBC,YAAY,EAAE;EAChB,CAAC;EACDN,UAAU,EAAE;IACVG,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,MAAM;IAClBC,KAAK,EAAE;EACT;AACF,CAAC,CAAC;AAEFxB,UAAU,CAAC0B,WAAW,GAAG,YAAY","ignoreList":[]}
@@ -8,9 +8,9 @@ import { playHaptic, HapticType } from "../../services/HapticsService.js";
8
8
  import { MazeRunnerService } from "./MazeRunnerService.js";
9
9
  import { DEFAULT_MAZE_RUNNER_SETTINGS, MAZE_RUNNER_DIFFICULTY_CONFIG } from "./MazeRunnerConstants.js";
10
10
  import { GameBackground, ScoreBoard, EnhancedGameArea } from "./components/index.js";
11
- import { GameControlButton, GameOverModal } from "../../shared/helpers/index.js";
12
- import { GameSettingsModal } from "../../shared/helpers/index.js";
13
- import { GAME_IDS, DEFAULT_GAME_SETTINGS } from "../../services/GamesService.js";
11
+ import { GameControlButton, GameOverModal } from "../../helpers/index.js";
12
+ import { GameSettingsModal } from "../../helpers/index.js";
13
+ import { GAME_IDS, DEFAULT_GAME_SETTINGS } from "../../services/UtilsService.js";
14
14
 
15
15
  // Optimized hook to handle responsive dimensions with memoization
16
16
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -121,13 +121,19 @@ export const MazeRunner = ({
121
121
  // Memoize game over modal props to prevent unnecessary re-renders
122
122
  const gameOverModalProps = useMemo(() => ({
123
123
  isVisible: showGameOverModal,
124
- score: gameState.score,
124
+ score: gameState.timeElapsed,
125
+ scoreLabel: "Completion Time",
126
+ scoreFormatter: time => {
127
+ const minutes = Math.floor(time / 60);
128
+ const seconds = time % 60;
129
+ return `${minutes}:${seconds.toString().padStart(2, '0')}`;
130
+ },
125
131
  buttonText: gameState.isCompleted ? "Navigate Again!" : "Try Again!",
126
132
  primaryColor: "rgba(139, 69, 19, 0.8)",
127
133
  borderColor: "rgba(139, 69, 19, 0.9)",
128
134
  buttonColor: "#8b4513",
129
135
  buttonBorderColor: "#cd853f"
130
- }), [showGameOverModal, gameState.score, gameState.isCompleted]);
136
+ }), [showGameOverModal, gameState.timeElapsed, gameState.isCompleted]);
131
137
 
132
138
  // Generate new maze on component mount
133
139
  useEffect(() => {
@@ -145,7 +151,7 @@ export const MazeRunner = ({
145
151
 
146
152
  // Memoized state change callback to prevent recreation
147
153
  const handleStateChange = useCallback(newState => {
148
- setGameState(prevState => {
154
+ setGameState(() => {
149
155
  // Handle game completion (only once per level)
150
156
  if (newState.isCompleted && !completionHandledRef.current) {
151
157
  completionHandledRef.current = true;
@@ -156,12 +162,8 @@ export const MazeRunner = ({
156
162
  }, 500); // Short delay to let completion animation/feedback finish
157
163
  }
158
164
 
159
- // Handle game over (if you want to show modal after certain time)
160
- if (!newState.isPlaying && prevState.isPlaying && !newState.isCompleted) {
161
- setTimeout(() => {
162
- setShowGameOverModal(true);
163
- }, 1000);
164
- }
165
+ // Don't show modal when stop button is clicked - only show on completion
166
+
165
167
  return newState;
166
168
  });
167
169
 
@@ -206,6 +208,9 @@ export const MazeRunner = ({
206
208
  setShowGameOverModal(false);
207
209
  gameService.resetGame(); // Reset without auto-starting
208
210
  }, [gameService]);
211
+
212
+ // Get offset from settings
213
+ const offset = settings?.offset ?? 0;
209
214
  return /*#__PURE__*/_jsx(View, {
210
215
  style: styles.container,
211
216
  children: /*#__PURE__*/_jsx(GestureHandlerRootView, {
@@ -215,9 +220,12 @@ export const MazeRunner = ({
215
220
  width: screenWidth,
216
221
  height: screenHeight
217
222
  }), /*#__PURE__*/_jsx(ScoreBoard, {
218
- gameState: gameState
223
+ gameState: gameState,
224
+ offset: offset
219
225
  }), /*#__PURE__*/_jsx(View, {
220
- style: styles.gameAreaContainer,
226
+ style: [styles.gameAreaContainer, {
227
+ marginTop: offset
228
+ }],
221
229
  children: /*#__PURE__*/_jsx(EnhancedGameArea, {
222
230
  gameState: gameState,
223
231
  gameConfig: gameConfig,
@@ -1 +1 @@
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","DEFAULT_GAME_SETTINGS","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":[]}
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","DEFAULT_GAME_SETTINGS","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","timeElapsed","scoreLabel","scoreFormatter","time","minutes","floor","seconds","toString","padStart","buttonText","primaryColor","borderColor","buttonColor","buttonBorderColor","resetGame","difficultyConfig","difficulty","updateSettings","handleStateChange","newState","current","handleGameCompleted","setTimeout","setGameStateChangeCallback","stopGame","cleanup","MAZE_RUNNER","COMPLETE","enableSounds","SUCCESS","enableHaptics","handleStartGame","startGame","START","MEDIUM","handleStopGame","STOP","handleBallPositionChange","position","updateBallPosition","handlePlayAgain","offset","style","styles","container","children","gameContainer","gameAreaContainer","marginTop","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":[]}
@@ -19,8 +19,8 @@ export class MazeRunnerService {
19
19
  isPlaying: false,
20
20
  isPaused: false,
21
21
  score: 0,
22
- timeElapsed: gameDuration,
23
- // Start with full time for countdown
22
+ timeElapsed: 0,
23
+ // Start from 0 and count up
24
24
  ballPosition: {
25
25
  x: 0,
26
26
  y: 0
@@ -84,7 +84,7 @@ export class MazeRunnerService {
84
84
  this.gameState.isPaused = false;
85
85
  this.gameState.gameOver = false;
86
86
  this.gameState.score = 0; // Reset score for new maze
87
- this.gameState.timeElapsed = this.gameConfig.GAME_DURATION; // Reset to full time for countdown
87
+ this.gameState.timeElapsed = 0; // Start from 0 and count up
88
88
 
89
89
  this.notifyGameStateChange();
90
90
  }
@@ -415,7 +415,7 @@ export class MazeRunnerService {
415
415
  // Reset game state
416
416
  this.gameState.isPlaying = false;
417
417
  this.gameState.isPaused = false;
418
- this.gameState.timeElapsed = this.gameConfig.GAME_DURATION; // Reset to full time for countdown
418
+ this.gameState.timeElapsed = 0; // Start from 0 and count up
419
419
  this.gameState.isCompleted = false;
420
420
  this.gameState.gameOver = false;
421
421
  this.stopTimer();
@@ -429,7 +429,7 @@ export class MazeRunnerService {
429
429
  this.gameState.isPlaying = false; // Don't auto-start
430
430
  this.gameState.isPaused = false;
431
431
  this.gameState.score = 0; // Reset score for new game
432
- this.gameState.timeElapsed = this.gameConfig.GAME_DURATION; // Reset to full time for countdown
432
+ this.gameState.timeElapsed = 0; // Start from 0 and count up
433
433
  this.gameState.isCompleted = false;
434
434
  this.gameState.gameOver = false;
435
435
  this.stopTimer(); // Make sure timer is stopped
@@ -448,7 +448,7 @@ export class MazeRunnerService {
448
448
  this.gameState.isPlaying = true;
449
449
  this.gameState.isPaused = false;
450
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
451
+ this.gameState.timeElapsed = 0; // Start from 0 and count up
452
452
  this.gameState.isCompleted = false;
453
453
  this.gameState.gameOver = false;
454
454
  this.startTimer();
@@ -474,15 +474,11 @@ export class MazeRunnerService {
474
474
  this.stopTimer();
475
475
  this.gameTimer = setInterval(() => {
476
476
  if (!this.gameState.isPaused && this.gameState.isPlaying) {
477
- this.gameState.timeElapsed -= 1; // Count down instead of up
477
+ this.gameState.timeElapsed += 1; // Count up from 0
478
+
479
+ // No time limit - player can take as long as they need
480
+ // Timer just tracks how long they've been playing
478
481
 
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
- }
486
482
  this.notifyGameStateChange();
487
483
  }
488
484
  }, 1000);
@@ -551,9 +547,8 @@ export class MazeRunnerService {
551
547
  return distance < this.gameConfig.BALL_SIZE * 1.5;
552
548
  }
553
549
  completeLevel() {
554
- // Time bonus based on remaining time (since we're counting down)
555
- const timeBonus = this.gameState.timeElapsed * this.gameConfig.TIME_BONUS_MULTIPLIER;
556
- this.gameState.score += this.gameConfig.SCORE_PER_COMPLETION + timeBonus;
550
+ // No time bonus - faster completion is the goal
551
+ this.gameState.score += this.gameConfig.SCORE_PER_COMPLETION;
557
552
  this.gameState.isCompleted = true;
558
553
  this.gameState.isPlaying = false; // Stop the game when maze is completed
559
554
  this.stopTimer();
@@ -577,6 +572,13 @@ export class MazeRunnerService {
577
572
  ...cell
578
573
  })));
579
574
  }
575
+
576
+ // Format time for display (MM:SS format)
577
+ formatTime(seconds) {
578
+ const minutes = Math.floor(seconds / 60);
579
+ const remainingSeconds = seconds % 60;
580
+ return `${minutes}:${remainingSeconds.toString().padStart(2, '0')}`;
581
+ }
580
582
  cleanup() {
581
583
  this.stopTimer();
582
584
  }
@@ -1 +1 @@
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":[]}
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","getGameState","getGameConfig","getWalls","getMaze","row","formatTime","seconds","minutes","remainingSeconds","toString","padStart","cleanup"],"sourceRoot":"../../../../src","sources":["games/maze-runner/MazeRunnerService.ts"],"mappings":"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","ignoreList":[]}