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
@@ -6,10 +6,10 @@ import { GestureHandlerRootView } from 'react-native-gesture-handler';
6
6
  import { useSlidingNumbersStore } from "./SlidingNumbersStore.js";
7
7
  import { SlidingNumbersService } from "./SlidingNumbersService.js";
8
8
  import { GameBackground, NumbersGrid, ScoreBoard } from "./components/index.js";
9
- import { GameControlButton, GameOverModal } from "../../shared/helpers/index.js";
10
- import { GameSettingsModal } from "../../shared/helpers/index.js";
9
+ import { GameControlButton, GameOverModal } from "../../helpers/index.js";
10
+ import { GameSettingsModal } from "../../helpers/index.js";
11
11
  import { SLIDING_NUMBERS_COLORS } from "./SlidingNumbersConstants.js";
12
- import { GAME_IDS, DEFAULT_GAME_SETTINGS } from "../../services/GamesService.js";
12
+ import { GAME_IDS, DEFAULT_GAME_SETTINGS } from "../../services/UtilsService.js";
13
13
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
14
  export const SlidingNumbers = /*#__PURE__*/React.memo(({
15
15
  settings = DEFAULT_GAME_SETTINGS,
@@ -111,18 +111,28 @@ export const SlidingNumbers = /*#__PURE__*/React.memo(({
111
111
  settings: settings || DEFAULT_GAME_SETTINGS,
112
112
  onSettingsChange
113
113
  }), [settings, onSettingsChange]);
114
+
115
+ // Get offset from settings
116
+ const offset = settings?.offset ?? 0;
117
+
118
+ // Memoized dynamic styles based on offset
119
+ const dynamicStyles = useMemo(() => ({
120
+ gameArea: {
121
+ ...styles.gameArea,
122
+ marginTop: offset // Add margin to shift grid down while maintaining centering
123
+ }
124
+ }), [offset]);
114
125
  return /*#__PURE__*/_jsx(View, {
115
126
  style: styles.container,
116
127
  children: /*#__PURE__*/_jsx(GestureHandlerRootView, {
117
128
  children: /*#__PURE__*/_jsxs(GameBackground, {
118
129
  children: [/*#__PURE__*/_jsx(View, {
119
- style: styles.gameArea,
130
+ style: dynamicStyles.gameArea,
120
131
  children: /*#__PURE__*/_jsx(NumbersGrid, {
121
132
  difficulty: difficulty
122
133
  })
123
- }), /*#__PURE__*/_jsx(View, {
124
- style: styles.scoreboardContainer,
125
- children: /*#__PURE__*/_jsx(ScoreBoard, {})
134
+ }), /*#__PURE__*/_jsx(ScoreBoard, {
135
+ offset: offset
126
136
  }), /*#__PURE__*/_jsx(GameControlButton, {
127
137
  ...gameControlButtonProps
128
138
  }), /*#__PURE__*/_jsx(GameOverModal, {
@@ -142,19 +152,7 @@ const styles = StyleSheet.create({
142
152
  gameArea: {
143
153
  flex: 1,
144
154
  justifyContent: 'center',
145
- alignItems: 'center',
146
- paddingHorizontal: 20,
147
- paddingTop: 80,
148
- // Space for scoreboard
149
- paddingBottom: 120 // Space for control button
150
- },
151
- scoreboardContainer: {
152
- position: 'absolute',
153
- top: 0,
154
- left: 0,
155
- right: 0,
156
- zIndex: 100,
157
- pointerEvents: 'none' // Allow touches to pass through
155
+ alignItems: 'center'
158
156
  }
159
157
  });
160
158
  SlidingNumbers.displayName = 'SlidingNumbers';
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useMemo","useCallback","View","StyleSheet","GestureHandlerRootView","useSlidingNumbersStore","SlidingNumbersService","GameBackground","NumbersGrid","ScoreBoard","GameControlButton","GameOverModal","GameSettingsModal","SLIDING_NUMBERS_COLORS","GAME_IDS","DEFAULT_GAME_SETTINGS","jsx","_jsx","jsxs","_jsxs","SlidingNumbers","memo","settings","onSettingsChange","isPlaying","state","isCompleted","score","initializePuzzle","shufflePuzzle","startGame","stopGame","resetGame","decrementTime","difficulty","gameService","difficultySettings","getDifficultySettings","gridSize","startTimer","stopTimer","cleanup","handleStartGame","handleStopGame","handleResetGame","gameControlButtonProps","gameOver","onStartGame","onStopGame","startButtonText","stopButtonText","startButtonSubtext","stopButtonSubtext","startButtonColor","START_BUTTON","stopButtonColor","startButtonBorderColor","BUTTON_BORDER","stopButtonBorderColor","gameOverModalProps","isVisible","onPlayAgain","buttonText","primaryColor","COMPLETION_OVERLAY","borderColor","buttonColor","buttonBorderColor","gameSettingsModalProps","gameId","SLIDING_NUMBERS","style","styles","container","children","gameArea","scoreboardContainer","create","flex","backgroundColor","BACKGROUND","justifyContent","alignItems","paddingHorizontal","paddingTop","paddingBottom","position","top","left","right","zIndex","pointerEvents","displayName"],"sourceRoot":"../../../../src","sources":["games/sliding-numbers/SlidingNumbers.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,OAAO,EAAEC,WAAW,QAAQ,OAAO;AAC9D,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SAASC,sBAAsB,QAAQ,8BAA8B;AACrE,SAASC,sBAAsB,QAAQ,0BAAuB;AAC9D,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SAASC,cAAc,EAAEC,WAAW,EAAEC,UAAU,QAAQ,uBAAc;AACtE,SAASC,iBAAiB,EAAEC,aAAa,QAAQ,+BAAsB;AACvE,SAASC,iBAAiB,QAAQ,+BAAsB;AACxD,SAASC,sBAAsB,QAAQ,8BAA2B;AAClE,SAASC,QAAQ,EAAkBC,qBAAqB,QAAQ,gCAA6B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE9F,OAAO,MAAMC,cAAmC,gBAAGtB,KAAK,CAACuB,IAAI,CAAC,CAAC;EAC7DC,QAAQ,GAAGP,qBAAqB;EAChCQ;AACF,CAAC,KAAK;EACJ;EACA,MAAMC,SAAS,GAAGnB,sBAAsB,CAACoB,KAAK,IAAIA,KAAK,CAACD,SAAS,CAAC;EAClE,MAAME,WAAW,GAAGrB,sBAAsB,CAACoB,KAAK,IAAIA,KAAK,CAACC,WAAW,CAAC;EACtE,MAAMC,KAAK,GAAGtB,sBAAsB,CAACoB,KAAK,IAAIA,KAAK,CAACE,KAAK,CAAC;;EAE1D;EACA,MAAMC,gBAAgB,GAAGvB,sBAAsB,CAACoB,KAAK,IAAIA,KAAK,CAACG,gBAAgB,CAAC;EAChF,MAAMC,aAAa,GAAGxB,sBAAsB,CAACoB,KAAK,IAAIA,KAAK,CAACI,aAAa,CAAC;EAC1E,MAAMC,SAAS,GAAGzB,sBAAsB,CAACoB,KAAK,IAAIA,KAAK,CAACK,SAAS,CAAC;EAClE,MAAMC,QAAQ,GAAG1B,sBAAsB,CAACoB,KAAK,IAAIA,KAAK,CAACM,QAAQ,CAAC;EAChE,MAAMC,SAAS,GAAG3B,sBAAsB,CAACoB,KAAK,IAAIA,KAAK,CAACO,SAAS,CAAC;EAClE,MAAMC,aAAa,GAAG5B,sBAAsB,CAACoB,KAAK,IAAIA,KAAK,CAACQ,aAAa,CAAC;;EAE1E;EACA,MAAMC,UAAU,GAAGZ,QAAQ,EAAEY,UAAU,IAAI,MAAM;;EAEjD;EACA,MAAMC,WAAW,GAAGnC,OAAO,CAAC,MAAM,IAAIM,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC;;EAElE;EACA,MAAM8B,kBAAkB,GAAGpC,OAAO,CAAC,MACjCmC,WAAW,CAACE,qBAAqB,CAACH,UAAU,CAAC,EAC7C,CAACC,WAAW,EAAED,UAAU,CAC1B,CAAC;;EAED;EACAnC,SAAS,CAAC,MAAM;IACd6B,gBAAgB,CAACQ,kBAAkB,CAACE,QAAQ,CAAC;EAC/C,CAAC,EAAE,CAACJ,UAAU,EAAEE,kBAAkB,CAACE,QAAQ,EAAEV,gBAAgB,CAAC,CAAC;;EAE/D;EACA7B,SAAS,CAAC,MAAM;IACd,IAAIyB,SAAS,EAAE;MACbW,WAAW,CAACI,UAAU,CAAC,MAAM;QAC3BN,aAAa,CAAC,CAAC;MACjB,CAAC,CAAC;IACJ,CAAC,MAAM;MACLE,WAAW,CAACK,SAAS,CAAC,CAAC;IACzB;IAEA,OAAO,MAAM;MACXL,WAAW,CAACK,SAAS,CAAC,CAAC;IACzB,CAAC;EACH,CAAC,EAAE,CAAChB,SAAS,EAAEW,WAAW,EAAEF,aAAa,CAAC,CAAC;;EAE3C;EACAlC,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACXoC,WAAW,CAACM,OAAO,CAAC,CAAC;IACvB,CAAC;EACH,CAAC,EAAE,CAACN,WAAW,CAAC,CAAC;;EAEjB;EACA,MAAMO,eAAe,GAAGzC,WAAW,CAAC,MAAM;IACxC4B,aAAa,CAAC,CAAC;IACfC,SAAS,CAAC,CAAC;EACb,CAAC,EAAE,CAACD,aAAa,EAAEC,SAAS,CAAC,CAAC;EAE9B,MAAMa,cAAc,GAAG1C,WAAW,CAAC,MAAM;IACvC8B,QAAQ,CAAC,CAAC;EACZ,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAEd,MAAMa,eAAe,GAAG3C,WAAW,CAAC,MAAM;IACxC+B,SAAS,CAAC,CAAC;IACX;IACAJ,gBAAgB,CAACQ,kBAAkB,CAACE,QAAQ,CAAC;EAC/C,CAAC,EAAE,CAACN,SAAS,EAAEJ,gBAAgB,EAAEQ,kBAAkB,CAACE,QAAQ,CAAC,CAAC;;EAE9D;EACA,MAAMO,sBAAsB,GAAG7C,OAAO,CAAC,OAAO;IAC5CwB,SAAS;IACTsB,QAAQ,EAAEpB,WAAW;IACrBqB,WAAW,EAAEL,eAAe;IAC5BM,UAAU,EAAEL,cAAc;IAC1BM,eAAe,EAAE,YAAY;IAC7BC,cAAc,EAAE,WAAW;IAC3BC,kBAAkB,EAAE,4BAA4B;IAChDC,iBAAiB,EAAE,kBAAkB;IACrCC,gBAAgB,EAAExC,sBAAsB,CAACyC,YAAY;IACrDC,eAAe,EAAE,SAAS;IAC1BC,sBAAsB,EAAE3C,sBAAsB,CAAC4C,aAAa;IAC5DC,qBAAqB,EAAE;EACzB,CAAC,CAAC,EAAE,CAAClC,SAAS,EAAEE,WAAW,EAAEgB,eAAe,EAAEC,cAAc,CAAC,CAAC;;EAE9D;EACA,MAAMgB,kBAAkB,GAAG3D,OAAO,CAAC,OAAO;IACxC4D,SAAS,EAAElC,WAAW;IACtBC,KAAK;IACLkC,WAAW,EAAEjB,eAAe;IAC5BkB,UAAU,EAAE,aAAa;IACzBC,YAAY,EAAElD,sBAAsB,CAACmD,kBAAkB;IACvDC,WAAW,EAAE,yBAAyB;IACtCC,WAAW,EAAErD,sBAAsB,CAACyC,YAAY;IAChDa,iBAAiB,EAAEtD,sBAAsB,CAAC4C;EAC5C,CAAC,CAAC,EAAE,CAAC/B,WAAW,EAAEC,KAAK,EAAEiB,eAAe,CAAC,CAAC;;EAE1C;EACA,MAAMwB,sBAAsB,GAAGpE,OAAO,CAAC,OAAO;IAC5CqE,MAAM,EAAEvD,QAAQ,CAACwD,eAAe;IAChChD,QAAQ,EAAEA,QAAQ,IAAIP,qBAAqB;IAC3CQ;EACF,CAAC,CAAC,EAAE,CAACD,QAAQ,EAAEC,gBAAgB,CAAC,CAAC;EAEjC,oBACEN,IAAA,CAACf,IAAI;IAACqE,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,eAC5BzD,IAAA,CAACb,sBAAsB;MAAAsE,QAAA,eACrBvD,KAAA,CAACZ,cAAc;QAAAmE,QAAA,gBAEbzD,IAAA,CAACf,IAAI;UAACqE,KAAK,EAAEC,MAAM,CAACG,QAAS;UAAAD,QAAA,eAC3BzD,IAAA,CAACT,WAAW;YAAC0B,UAAU,EAAEA;UAAW,CAAE;QAAC,CACnC,CAAC,eAGPjB,IAAA,CAACf,IAAI;UAACqE,KAAK,EAAEC,MAAM,CAACI,mBAAoB;UAAAF,QAAA,eACtCzD,IAAA,CAACR,UAAU,IAAE;QAAC,CACV,CAAC,eAGPQ,IAAA,CAACP,iBAAiB;UAAA,GAAKmC;QAAsB,CAAG,CAAC,eAEjD5B,IAAA,CAACN,aAAa;UAAA,GAAKgD;QAAkB,CAAG,CAAC,eAEzC1C,IAAA,CAACL,iBAAiB;UAAA,GAAKwD;QAAsB,CAAG,CAAC;MAAA,CACnC;IAAC,CACK;EAAC,CACrB,CAAC;AAEX,CAAC,CAAC;AAEF,MAAMI,MAAM,GAAGrE,UAAU,CAAC0E,MAAM,CAAC;EAC/BJ,SAAS,EAAE;IACTK,IAAI,EAAE,CAAC;IACPC,eAAe,EAAElE,sBAAsB,CAACmE;EAC1C,CAAC;EACDL,QAAQ,EAAE;IACRG,IAAI,EAAE,CAAC;IACPG,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBC,iBAAiB,EAAE,EAAE;IACrBC,UAAU,EAAE,EAAE;IAAE;IAChBC,aAAa,EAAE,GAAG,CAAE;EACtB,CAAC;EACDT,mBAAmB,EAAE;IACnBU,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE,GAAG;IACXC,aAAa,EAAE,MAAM,CAAE;EACzB;AACF,CAAC,CAAC;AAEFvE,cAAc,CAACwE,WAAW,GAAG,gBAAgB","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useMemo","useCallback","View","StyleSheet","GestureHandlerRootView","useSlidingNumbersStore","SlidingNumbersService","GameBackground","NumbersGrid","ScoreBoard","GameControlButton","GameOverModal","GameSettingsModal","SLIDING_NUMBERS_COLORS","GAME_IDS","DEFAULT_GAME_SETTINGS","jsx","_jsx","jsxs","_jsxs","SlidingNumbers","memo","settings","onSettingsChange","isPlaying","state","isCompleted","score","initializePuzzle","shufflePuzzle","startGame","stopGame","resetGame","decrementTime","difficulty","gameService","difficultySettings","getDifficultySettings","gridSize","startTimer","stopTimer","cleanup","handleStartGame","handleStopGame","handleResetGame","gameControlButtonProps","gameOver","onStartGame","onStopGame","startButtonText","stopButtonText","startButtonSubtext","stopButtonSubtext","startButtonColor","START_BUTTON","stopButtonColor","startButtonBorderColor","BUTTON_BORDER","stopButtonBorderColor","gameOverModalProps","isVisible","onPlayAgain","buttonText","primaryColor","COMPLETION_OVERLAY","borderColor","buttonColor","buttonBorderColor","gameSettingsModalProps","gameId","SLIDING_NUMBERS","offset","dynamicStyles","gameArea","styles","marginTop","style","container","children","create","flex","backgroundColor","BACKGROUND","justifyContent","alignItems","displayName"],"sourceRoot":"../../../../src","sources":["games/sliding-numbers/SlidingNumbers.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,OAAO,EAAEC,WAAW,QAAQ,OAAO;AAC9D,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SAASC,sBAAsB,QAAQ,8BAA8B;AACrE,SAASC,sBAAsB,QAAQ,0BAAuB;AAC9D,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SAASC,cAAc,EAAEC,WAAW,EAAEC,UAAU,QAAQ,uBAAc;AACtE,SAASC,iBAAiB,EAAEC,aAAa,QAAQ,wBAAe;AAChE,SAASC,iBAAiB,QAAQ,wBAAe;AACjD,SAASC,sBAAsB,QAAQ,8BAA2B;AAClE,SAASC,QAAQ,EAAkBC,qBAAqB,QAAQ,gCAA6B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE9F,OAAO,MAAMC,cAAmC,gBAAGtB,KAAK,CAACuB,IAAI,CAAC,CAAC;EAC7DC,QAAQ,GAAGP,qBAAqB;EAChCQ;AACF,CAAC,KAAK;EACJ;EACA,MAAMC,SAAS,GAAGnB,sBAAsB,CAACoB,KAAK,IAAIA,KAAK,CAACD,SAAS,CAAC;EAClE,MAAME,WAAW,GAAGrB,sBAAsB,CAACoB,KAAK,IAAIA,KAAK,CAACC,WAAW,CAAC;EACtE,MAAMC,KAAK,GAAGtB,sBAAsB,CAACoB,KAAK,IAAIA,KAAK,CAACE,KAAK,CAAC;;EAE1D;EACA,MAAMC,gBAAgB,GAAGvB,sBAAsB,CAACoB,KAAK,IAAIA,KAAK,CAACG,gBAAgB,CAAC;EAChF,MAAMC,aAAa,GAAGxB,sBAAsB,CAACoB,KAAK,IAAIA,KAAK,CAACI,aAAa,CAAC;EAC1E,MAAMC,SAAS,GAAGzB,sBAAsB,CAACoB,KAAK,IAAIA,KAAK,CAACK,SAAS,CAAC;EAClE,MAAMC,QAAQ,GAAG1B,sBAAsB,CAACoB,KAAK,IAAIA,KAAK,CAACM,QAAQ,CAAC;EAChE,MAAMC,SAAS,GAAG3B,sBAAsB,CAACoB,KAAK,IAAIA,KAAK,CAACO,SAAS,CAAC;EAClE,MAAMC,aAAa,GAAG5B,sBAAsB,CAACoB,KAAK,IAAIA,KAAK,CAACQ,aAAa,CAAC;;EAE1E;EACA,MAAMC,UAAU,GAAGZ,QAAQ,EAAEY,UAAU,IAAI,MAAM;;EAEjD;EACA,MAAMC,WAAW,GAAGnC,OAAO,CAAC,MAAM,IAAIM,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC;;EAElE;EACA,MAAM8B,kBAAkB,GAAGpC,OAAO,CAAC,MACjCmC,WAAW,CAACE,qBAAqB,CAACH,UAAU,CAAC,EAC7C,CAACC,WAAW,EAAED,UAAU,CAC1B,CAAC;;EAED;EACAnC,SAAS,CAAC,MAAM;IACd6B,gBAAgB,CAACQ,kBAAkB,CAACE,QAAQ,CAAC;EAC/C,CAAC,EAAE,CAACJ,UAAU,EAAEE,kBAAkB,CAACE,QAAQ,EAAEV,gBAAgB,CAAC,CAAC;;EAE/D;EACA7B,SAAS,CAAC,MAAM;IACd,IAAIyB,SAAS,EAAE;MACbW,WAAW,CAACI,UAAU,CAAC,MAAM;QAC3BN,aAAa,CAAC,CAAC;MACjB,CAAC,CAAC;IACJ,CAAC,MAAM;MACLE,WAAW,CAACK,SAAS,CAAC,CAAC;IACzB;IAEA,OAAO,MAAM;MACXL,WAAW,CAACK,SAAS,CAAC,CAAC;IACzB,CAAC;EACH,CAAC,EAAE,CAAChB,SAAS,EAAEW,WAAW,EAAEF,aAAa,CAAC,CAAC;;EAE3C;EACAlC,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACXoC,WAAW,CAACM,OAAO,CAAC,CAAC;IACvB,CAAC;EACH,CAAC,EAAE,CAACN,WAAW,CAAC,CAAC;;EAEjB;EACA,MAAMO,eAAe,GAAGzC,WAAW,CAAC,MAAM;IACxC4B,aAAa,CAAC,CAAC;IACfC,SAAS,CAAC,CAAC;EACb,CAAC,EAAE,CAACD,aAAa,EAAEC,SAAS,CAAC,CAAC;EAE9B,MAAMa,cAAc,GAAG1C,WAAW,CAAC,MAAM;IACvC8B,QAAQ,CAAC,CAAC;EACZ,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAEd,MAAMa,eAAe,GAAG3C,WAAW,CAAC,MAAM;IACxC+B,SAAS,CAAC,CAAC;IACX;IACAJ,gBAAgB,CAACQ,kBAAkB,CAACE,QAAQ,CAAC;EAC/C,CAAC,EAAE,CAACN,SAAS,EAAEJ,gBAAgB,EAAEQ,kBAAkB,CAACE,QAAQ,CAAC,CAAC;;EAE9D;EACA,MAAMO,sBAAsB,GAAG7C,OAAO,CAAC,OAAO;IAC5CwB,SAAS;IACTsB,QAAQ,EAAEpB,WAAW;IACrBqB,WAAW,EAAEL,eAAe;IAC5BM,UAAU,EAAEL,cAAc;IAC1BM,eAAe,EAAE,YAAY;IAC7BC,cAAc,EAAE,WAAW;IAC3BC,kBAAkB,EAAE,4BAA4B;IAChDC,iBAAiB,EAAE,kBAAkB;IACrCC,gBAAgB,EAAExC,sBAAsB,CAACyC,YAAY;IACrDC,eAAe,EAAE,SAAS;IAC1BC,sBAAsB,EAAE3C,sBAAsB,CAAC4C,aAAa;IAC5DC,qBAAqB,EAAE;EACzB,CAAC,CAAC,EAAE,CAAClC,SAAS,EAAEE,WAAW,EAAEgB,eAAe,EAAEC,cAAc,CAAC,CAAC;;EAE9D;EACA,MAAMgB,kBAAkB,GAAG3D,OAAO,CAAC,OAAO;IACxC4D,SAAS,EAAElC,WAAW;IACtBC,KAAK;IACLkC,WAAW,EAAEjB,eAAe;IAC5BkB,UAAU,EAAE,aAAa;IACzBC,YAAY,EAAElD,sBAAsB,CAACmD,kBAAkB;IACvDC,WAAW,EAAE,yBAAyB;IACtCC,WAAW,EAAErD,sBAAsB,CAACyC,YAAY;IAChDa,iBAAiB,EAAEtD,sBAAsB,CAAC4C;EAC5C,CAAC,CAAC,EAAE,CAAC/B,WAAW,EAAEC,KAAK,EAAEiB,eAAe,CAAC,CAAC;;EAE1C;EACA,MAAMwB,sBAAsB,GAAGpE,OAAO,CAAC,OAAO;IAC5CqE,MAAM,EAAEvD,QAAQ,CAACwD,eAAe;IAChChD,QAAQ,EAAEA,QAAQ,IAAIP,qBAAqB;IAC3CQ;EACF,CAAC,CAAC,EAAE,CAACD,QAAQ,EAAEC,gBAAgB,CAAC,CAAC;;EAEjC;EACA,MAAMgD,MAAM,GAAGjD,QAAQ,EAAEiD,MAAM,IAAI,CAAC;;EAEpC;EACA,MAAMC,aAAa,GAAGxE,OAAO,CAAC,OAAO;IACnCyE,QAAQ,EAAE;MACR,GAAGC,MAAM,CAACD,QAAQ;MAClBE,SAAS,EAAEJ,MAAM,CAAC;IACpB;EACF,CAAC,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EAEb,oBACEtD,IAAA,CAACf,IAAI;IAAC0E,KAAK,EAAEF,MAAM,CAACG,SAAU;IAAAC,QAAA,eAC5B7D,IAAA,CAACb,sBAAsB;MAAA0E,QAAA,eACrB3D,KAAA,CAACZ,cAAc;QAAAuE,QAAA,gBAEb7D,IAAA,CAACf,IAAI;UAAC0E,KAAK,EAAEJ,aAAa,CAACC,QAAS;UAAAK,QAAA,eAClC7D,IAAA,CAACT,WAAW;YAAC0B,UAAU,EAAEA;UAAW,CAAE;QAAC,CACnC,CAAC,eAGPjB,IAAA,CAACR,UAAU;UAAC8D,MAAM,EAAEA;QAAO,CAAE,CAAC,eAG9BtD,IAAA,CAACP,iBAAiB;UAAA,GAAKmC;QAAsB,CAAG,CAAC,eAEjD5B,IAAA,CAACN,aAAa;UAAA,GAAKgD;QAAkB,CAAG,CAAC,eAEzC1C,IAAA,CAACL,iBAAiB;UAAA,GAAKwD;QAAsB,CAAG,CAAC;MAAA,CACnC;IAAC,CACK;EAAC,CACrB,CAAC;AAEX,CAAC,CAAC;AAEF,MAAMM,MAAM,GAAGvE,UAAU,CAAC4E,MAAM,CAAC;EAC/BF,SAAS,EAAE;IACTG,IAAI,EAAE,CAAC;IACPC,eAAe,EAAEpE,sBAAsB,CAACqE;EAC1C,CAAC;EACDT,QAAQ,EAAE;IACRO,IAAI,EAAE,CAAC;IACPG,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAEFhE,cAAc,CAACiE,WAAW,GAAG,gBAAgB","ignoreList":[]}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { create } from 'zustand';
4
4
  import { subscribeWithSelector } from 'zustand/middleware';
5
- import { immerMiddleware } from "../../services/GamesService.js";
5
+ import { immerMiddleware } from "../../services/UtilsService.js";
6
6
  export const useSlidingNumbersStore = create()(subscribeWithSelector(immerMiddleware((set, get) => ({
7
7
  // Initial state
8
8
  isPlaying: false,
@@ -202,10 +202,9 @@ export const useSlidingNumbersStore = create()(subscribeWithSelector(immerMiddle
202
202
  },
203
203
  // Stop the game
204
204
  stopGame: () => {
205
- set(state => {
206
- state.isPlaying = false;
207
- state.startTime = null;
208
- });
205
+ const state = get();
206
+ // Reset the game instead of showing game over modal
207
+ state.resetGame();
209
208
  },
210
209
  // Reset the game (difficulty will be passed from component)
211
210
  resetGame: () => {
@@ -1 +1 @@
1
- {"version":3,"names":["create","subscribeWithSelector","immerMiddleware","useSlidingNumbersStore","set","get","isPlaying","isCompleted","tiles","gridSize","emptyPosition","row","col","score","timeLeft","timeElapsed","startTime","initializePuzzle","state","totalTiles","i","Math","floor","value","push","id","position","isCorrect","shufflePuzzle","moveTile","tileId","tile","emptyPos","rowDiff","abs","colDiff","isAdjacent","tilePos","emptyTileId","findIndex","t","emptyTile","Date","now","forEach","index","correctRow","correctCol","moveTileInDirection","direction","expectedEmptyPos","shuffleMoves","possibleMoves","length","randomTileIndex","random","randomTileId","undefined","startGame","stopGame","resetGame","decrementTime","checkCompletion","difficulty","allCorrect","every","baseScore","multiplier","timeScore","max","remainingTimeBonus","updateScore","points","useGameState","useScore","useTimeLeft","useTimeElapsed","useTiles","useGridSize","useEmptyPosition"],"sourceRoot":"../../../../src","sources":["games/sliding-numbers/SlidingNumbersStore.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["create","subscribeWithSelector","immerMiddleware","useSlidingNumbersStore","set","get","isPlaying","isCompleted","tiles","gridSize","emptyPosition","row","col","score","timeLeft","timeElapsed","startTime","initializePuzzle","state","totalTiles","i","Math","floor","value","push","id","position","isCorrect","shufflePuzzle","moveTile","tileId","tile","emptyPos","rowDiff","abs","colDiff","isAdjacent","tilePos","emptyTileId","findIndex","t","emptyTile","Date","now","forEach","index","correctRow","correctCol","moveTileInDirection","direction","expectedEmptyPos","shuffleMoves","possibleMoves","length","randomTileIndex","random","randomTileId","undefined","startGame","stopGame","resetGame","decrementTime","checkCompletion","difficulty","allCorrect","every","baseScore","multiplier","timeScore","max","remainingTimeBonus","updateScore","points","useGameState","useScore","useTimeLeft","useTimeElapsed","useTiles","useGridSize","useEmptyPosition"],"sourceRoot":"../../../../src","sources":["games/sliding-numbers/SlidingNumbersStore.ts"],"mappings":"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","ignoreList":[]}
@@ -4,60 +4,58 @@ import React, { useMemo } from 'react';
4
4
  import { View, Text, StyleSheet } from 'react-native';
5
5
  import { useTimeElapsed } from "../SlidingNumbersStore.js";
6
6
  import { SlidingNumbersService } from "../SlidingNumbersService.js";
7
- import { RESPONSIVE_SCOREBOARD_CONTAINER, RESPONSIVE_SCOREBOARD_FONTS } from "../../../shared/helpers/index.js";
7
+ import { ScoreBoardContainer } from "../../../helpers/index.js";
8
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
- export const ScoreBoard = /*#__PURE__*/React.memo(() => {
9
+ export const ScoreBoard = /*#__PURE__*/React.memo(({
10
+ offset = 0
11
+ }) => {
10
12
  const gameService = useMemo(() => new SlidingNumbersService(), []);
11
13
  const timeElapsed = useTimeElapsed();
12
14
  const formattedTime = useMemo(() => gameService.formatTime(timeElapsed), [gameService, timeElapsed]);
13
- return /*#__PURE__*/_jsx(View, {
14
- style: styles.scoreBoard,
15
- children: /*#__PURE__*/_jsxs(View, {
16
- style: styles.scoreSection,
17
- children: [/*#__PURE__*/_jsx(Text, {
18
- style: styles.scoreLabel,
19
- children: "Time Elapsed"
20
- }), /*#__PURE__*/_jsx(Text, {
21
- style: [styles.timeValue, {
22
- color: '#3b82f6'
23
- }],
24
- children: formattedTime
25
- })]
15
+ return /*#__PURE__*/_jsx(ScoreBoardContainer, {
16
+ offset: offset,
17
+ backgroundColor: "rgba(245, 245, 220, 0.6)",
18
+ borderColor: "rgba(255, 255, 255, 0.3)",
19
+ children: /*#__PURE__*/_jsx(View, {
20
+ style: styles.scoreBoard,
21
+ children: /*#__PURE__*/_jsxs(View, {
22
+ style: styles.scoreSection,
23
+ children: [/*#__PURE__*/_jsx(Text, {
24
+ style: styles.scoreLabel,
25
+ children: "Time Elapsed"
26
+ }), /*#__PURE__*/_jsx(Text, {
27
+ style: [styles.timeValue, {
28
+ color: '#3b82f6'
29
+ }],
30
+ children: formattedTime
31
+ })]
32
+ })
26
33
  })
27
34
  });
28
35
  });
29
36
  const styles = StyleSheet.create({
30
37
  scoreBoard: {
31
- ...RESPONSIVE_SCOREBOARD_CONTAINER,
32
- marginHorizontal: 20,
33
- marginTop: 20,
34
38
  flexDirection: 'row',
35
39
  justifyContent: 'space-between',
36
- alignItems: 'center',
37
- backgroundColor: 'rgba(245, 245, 220, 0.6)',
38
- // Semi-transparent beige matching puzzle theme
39
- borderRadius: 16,
40
- padding: 20,
41
- borderWidth: 1,
42
- borderColor: 'rgba(255, 255, 255, 0.3)' // Subtle white border
40
+ alignItems: 'center'
43
41
  },
44
42
  scoreSection: {
45
43
  alignItems: 'center',
46
44
  flex: 1
47
45
  },
48
46
  scoreLabel: {
49
- fontSize: RESPONSIVE_SCOREBOARD_FONTS.labelSize,
47
+ fontSize: 18,
50
48
  fontWeight: 'bold',
51
49
  color: '#4a5568',
52
50
  // Dark gray for better contrast
53
51
  marginBottom: 4
54
52
  },
55
53
  timeValue: {
56
- fontSize: RESPONSIVE_SCOREBOARD_FONTS.timeSize,
54
+ fontSize: 30,
57
55
  fontWeight: 'bold'
58
56
  },
59
57
  hintText: {
60
- fontSize: RESPONSIVE_SCOREBOARD_FONTS.labelSize,
58
+ fontSize: 18,
61
59
  fontWeight: '600',
62
60
  color: '#10b981' // Green color for motivation
63
61
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","View","Text","StyleSheet","useTimeElapsed","SlidingNumbersService","RESPONSIVE_SCOREBOARD_CONTAINER","RESPONSIVE_SCOREBOARD_FONTS","jsx","_jsx","jsxs","_jsxs","ScoreBoard","memo","gameService","timeElapsed","formattedTime","formatTime","style","styles","scoreBoard","children","scoreSection","scoreLabel","timeValue","color","create","marginHorizontal","marginTop","flexDirection","justifyContent","alignItems","backgroundColor","borderRadius","padding","borderWidth","borderColor","flex","fontSize","labelSize","fontWeight","marginBottom","timeSize","hintText","displayName"],"sourceRoot":"../../../../../src","sources":["games/sliding-numbers/components/ScoreBoard.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AACrD,SAASC,cAAc,QAAQ,2BAAwB;AACvD,SAASC,qBAAqB,QAAQ,6BAA0B;AAChE,SAASC,+BAA+B,EAAEC,2BAA2B,QAAQ,kCAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEvG,OAAO,MAAMC,UAAoB,gBAAGb,KAAK,CAACc,IAAI,CAAC,MAAM;EACnD,MAAMC,WAAW,GAAGd,OAAO,CAAC,MAAM,IAAIK,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC;EAClE,MAAMU,WAAW,GAAGX,cAAc,CAAC,CAAC;EAEpC,MAAMY,aAAa,GAAGhB,OAAO,CAAC,MAAMc,WAAW,CAACG,UAAU,CAACF,WAAW,CAAC,EAAE,CAACD,WAAW,EAAEC,WAAW,CAAC,CAAC;EAEpG,oBACEN,IAAA,CAACR,IAAI;IAACiB,KAAK,EAAEC,MAAM,CAACC,UAAW;IAAAC,QAAA,eAC7BV,KAAA,CAACV,IAAI;MAACiB,KAAK,EAAEC,MAAM,CAACG,YAAa;MAAAD,QAAA,gBAC/BZ,IAAA,CAACP,IAAI;QAACgB,KAAK,EAAEC,MAAM,CAACI,UAAW;QAAAF,QAAA,EAAC;MAAY,CAAM,CAAC,eACnDZ,IAAA,CAACP,IAAI;QAACgB,KAAK,EAAE,CAACC,MAAM,CAACK,SAAS,EAAE;UAAEC,KAAK,EAAE;QAAU,CAAC,CAAE;QAAAJ,QAAA,EACnDL;MAAa,CACV,CAAC;IAAA,CACH;EAAC,CACH,CAAC;AAEX,CAAC,CAAC;AAEF,MAAMG,MAAM,GAAGhB,UAAU,CAACuB,MAAM,CAAC;EAC/BN,UAAU,EAAE;IACV,GAAGd,+BAA+B;IAClCqB,gBAAgB,EAAE,EAAE;IACpBC,SAAS,EAAE,EAAE;IACbC,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,eAAe;IAC/BC,UAAU,EAAE,QAAQ;IACpBC,eAAe,EAAE,0BAA0B;IAAE;IAC7CC,YAAY,EAAE,EAAE;IAChBC,OAAO,EAAE,EAAE;IACXC,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE,0BAA0B,CAAE;EAC3C,CAAC;EACDd,YAAY,EAAE;IACZS,UAAU,EAAE,QAAQ;IACpBM,IAAI,EAAE;EACR,CAAC;EACDd,UAAU,EAAE;IACVe,QAAQ,EAAE/B,2BAA2B,CAACgC,SAAS;IAC/CC,UAAU,EAAE,MAAM;IAClBf,KAAK,EAAE,SAAS;IAAE;IAClBgB,YAAY,EAAE;EAChB,CAAC;EACDjB,SAAS,EAAE;IACTc,QAAQ,EAAE/B,2BAA2B,CAACmC,QAAQ;IAC9CF,UAAU,EAAE;EACd,CAAC;EACDG,QAAQ,EAAE;IACRL,QAAQ,EAAE/B,2BAA2B,CAACgC,SAAS;IAC/CC,UAAU,EAAE,KAAK;IACjBf,KAAK,EAAE,SAAS,CAAE;EACpB;AACF,CAAC,CAAC;AAEFb,UAAU,CAACgC,WAAW,GAAG,YAAY","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","View","Text","StyleSheet","useTimeElapsed","SlidingNumbersService","ScoreBoardContainer","jsx","_jsx","jsxs","_jsxs","ScoreBoard","memo","offset","gameService","timeElapsed","formattedTime","formatTime","backgroundColor","borderColor","children","style","styles","scoreBoard","scoreSection","scoreLabel","timeValue","color","create","flexDirection","justifyContent","alignItems","flex","fontSize","fontWeight","marginBottom","hintText","displayName"],"sourceRoot":"../../../../../src","sources":["games/sliding-numbers/components/ScoreBoard.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AACrD,SAASC,cAAc,QAAQ,2BAAwB;AACvD,SAASC,qBAAqB,QAAQ,6BAA0B;AAChE,SAASC,mBAAmB,QAAQ,2BAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMvD,OAAO,MAAMC,UAAqC,gBAAGZ,KAAK,CAACa,IAAI,CAAC,CAAC;EAACC,MAAM,GAAG;AAAC,CAAC,KAAK;EAChF,MAAMC,WAAW,GAAGd,OAAO,CAAC,MAAM,IAAIK,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC;EAClE,MAAMU,WAAW,GAAGX,cAAc,CAAC,CAAC;EAEpC,MAAMY,aAAa,GAAGhB,OAAO,CAAC,MAAMc,WAAW,CAACG,UAAU,CAACF,WAAW,CAAC,EAAE,CAACD,WAAW,EAAEC,WAAW,CAAC,CAAC;EAEpG,oBACEP,IAAA,CAACF,mBAAmB;IAClBO,MAAM,EAAEA,MAAO;IACfK,eAAe,EAAC,0BAA0B;IAC1CC,WAAW,EAAC,0BAA0B;IAAAC,QAAA,eAEtCZ,IAAA,CAACP,IAAI;MAACoB,KAAK,EAAEC,MAAM,CAACC,UAAW;MAAAH,QAAA,eAC/BV,KAAA,CAACT,IAAI;QAACoB,KAAK,EAAEC,MAAM,CAACE,YAAa;QAAAJ,QAAA,gBAC/BZ,IAAA,CAACN,IAAI;UAACmB,KAAK,EAAEC,MAAM,CAACG,UAAW;UAAAL,QAAA,EAAC;QAAY,CAAM,CAAC,eACnDZ,IAAA,CAACN,IAAI;UAACmB,KAAK,EAAE,CAACC,MAAM,CAACI,SAAS,EAAE;YAAEC,KAAK,EAAE;UAAU,CAAC,CAAE;UAAAP,QAAA,EACnDJ;QAAa,CACV,CAAC;MAAA,CACH;IAAC,CACH;EAAC,CACc,CAAC;AAE1B,CAAC,CAAC;AAEF,MAAMM,MAAM,GAAGnB,UAAU,CAACyB,MAAM,CAAC;EAC/BL,UAAU,EAAE;IACVM,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,eAAe;IAC/BC,UAAU,EAAE;EACd,CAAC;EACDP,YAAY,EAAE;IACZO,UAAU,EAAE,QAAQ;IACpBC,IAAI,EAAE;EACR,CAAC;EACDP,UAAU,EAAE;IACVQ,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,MAAM;IAClBP,KAAK,EAAE,SAAS;IAAE;IAClBQ,YAAY,EAAE;EAChB,CAAC;EACDT,SAAS,EAAE;IACTO,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE;EACd,CAAC;EACDE,QAAQ,EAAE;IACRH,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBP,KAAK,EAAE,SAAS,CAAE;EACpB;AACF,CAAC,CAAC;AAEFhB,UAAU,CAAC0B,WAAW,GAAG,YAAY","ignoreList":[]}
@@ -4,8 +4,8 @@ import React from 'react';
4
4
  import { View, StyleSheet } from 'react-native';
5
5
  import { GestureHandlerRootView, Gesture, GestureDetector } from 'react-native-gesture-handler';
6
6
  import { runOnJS } from 'react-native-reanimated';
7
- import { GameControlButton, GameOverModal, GameSettingsModal } from "../../shared/helpers/index.js";
8
- import { GAME_IDS, DEFAULT_GAME_SETTINGS } from "../../services/GamesService.js";
7
+ import { GameControlButton, GameOverModal, GameSettingsModal } from "../../helpers/index.js";
8
+ import { DEFAULT_GAME_SETTINGS, GAME_IDS } from "../../services/UtilsService.js";
9
9
  import { GameBackground, GameGrid, ScoreBoard } from "./components/index.js";
10
10
  import { useSnakeStore, useScore, useIsPlaying, useIsGameOver } from "./SnakeStore.js";
11
11
  import { SNAKE_COLORS } from "./SnakeConstants.js";
@@ -121,7 +121,7 @@ export const Snake = /*#__PURE__*/React.memo(({
121
121
  onStopGame: handleStopGame,
122
122
  onResetGame: handleResetGame,
123
123
  startButtonText: 'Start Slithering!',
124
- startButtonSubtext: 'Swipe to move',
124
+ startButtonSubtext: 'Swipe to move or turn.',
125
125
  startButtonColor: SNAKE_COLORS.BUTTON_PRIMARY,
126
126
  startButtonBorderColor: SNAKE_COLORS.BUTTON_SECONDARY
127
127
  }), [isPlaying, isGameOver, handleStartGame, handleStopGame, handleResetGame]);
@@ -146,28 +146,32 @@ export const Snake = /*#__PURE__*/React.memo(({
146
146
  settings: settings || DEFAULT_GAME_SETTINGS,
147
147
  onSettingsChange
148
148
  }), [settings, onSettingsChange]);
149
+
150
+ // Get offset from settings
151
+ const offset = settings?.offset ?? 0;
149
152
  return /*#__PURE__*/_jsx(GameBackground, {
150
- children: /*#__PURE__*/_jsx(GestureHandlerRootView, {
153
+ children: /*#__PURE__*/_jsxs(GestureHandlerRootView, {
151
154
  style: styles.container,
152
- children: /*#__PURE__*/_jsx(GestureDetector, {
155
+ children: [/*#__PURE__*/_jsx(GestureDetector, {
153
156
  gesture: panGesture,
154
- children: /*#__PURE__*/_jsxs(View, {
157
+ children: /*#__PURE__*/_jsx(View, {
155
158
  style: styles.container,
156
- children: [/*#__PURE__*/_jsx(View, {
157
- style: styles.gridContainer,
159
+ children: /*#__PURE__*/_jsx(View, {
160
+ style: [styles.gridContainer, {
161
+ paddingTop: offset
162
+ }],
158
163
  children: /*#__PURE__*/_jsx(GameGrid, {})
159
- }), /*#__PURE__*/_jsx(View, {
160
- style: styles.scoreboardContainer,
161
- children: /*#__PURE__*/_jsx(ScoreBoard, {})
162
- }), /*#__PURE__*/_jsx(GameControlButton, {
163
- ...gameControlButtonProps
164
- }), /*#__PURE__*/_jsx(GameOverModal, {
165
- ...gameOverModalProps
166
- }), /*#__PURE__*/_jsx(GameSettingsModal, {
167
- ...gameSettingsModalProps
168
- })]
164
+ })
169
165
  })
170
- })
166
+ }), /*#__PURE__*/_jsx(ScoreBoard, {
167
+ offset: offset
168
+ }), /*#__PURE__*/_jsx(GameControlButton, {
169
+ ...gameControlButtonProps
170
+ }), /*#__PURE__*/_jsx(GameOverModal, {
171
+ ...gameOverModalProps
172
+ }), /*#__PURE__*/_jsx(GameSettingsModal, {
173
+ ...gameSettingsModalProps
174
+ })]
171
175
  })
172
176
  });
173
177
  });
@@ -180,13 +184,6 @@ const styles = StyleSheet.create({
180
184
  flex: 1,
181
185
  justifyContent: 'center',
182
186
  alignItems: 'center'
183
- },
184
- scoreboardContainer: {
185
- position: 'absolute',
186
- top: 0,
187
- left: 0,
188
- right: 0,
189
- zIndex: 10
190
187
  }
191
188
  });
192
189
  //# sourceMappingURL=Snake.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","StyleSheet","GestureHandlerRootView","Gesture","GestureDetector","runOnJS","GameControlButton","GameOverModal","GameSettingsModal","GAME_IDS","DEFAULT_GAME_SETTINGS","GameBackground","GameGrid","ScoreBoard","useSnakeStore","useScore","useIsPlaying","useIsGameOver","SNAKE_COLORS","jsx","_jsx","jsxs","_jsxs","Snake","memo","settings","onSettingsChange","score","isPlaying","isGameOver","startGame","state","stopGame","resetGame","initializeGame","updateSettings","changeDirection","prevSettingsRef","useRef","enableSounds","enableHaptics","prevDifficultyRef","useEffect","current","difficulty","handleStartGame","useCallback","handleResetGame","handleStopGame","handleSwipe","direction","requestAnimationFrame","error","console","panGesture","useMemo","Pan","onEnd","event","threshold","absX","Math","abs","translationX","absY","translationY","gameControlButtonProps","gameOver","onStartGame","onStopGame","onResetGame","startButtonText","startButtonSubtext","startButtonColor","BUTTON_PRIMARY","startButtonBorderColor","BUTTON_SECONDARY","gameOverModalProps","isVisible","onPlayAgain","buttonText","primaryColor","MODAL_PRIMARY","borderColor","MODAL_BORDER","buttonColor","MODAL_BUTTON","buttonBorderColor","MODAL_BUTTON_BORDER","scoreFormatter","s","additionalInfo","gameSettingsModalProps","gameId","SNAKE","children","style","styles","container","gesture","gridContainer","scoreboardContainer","displayName","create","flex","justifyContent","alignItems","position","top","left","right","zIndex"],"sourceRoot":"../../../../src","sources":["games/snake/Snake.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","StyleSheet","GestureHandlerRootView","Gesture","GestureDetector","runOnJS","GameControlButton","GameOverModal","GameSettingsModal","DEFAULT_GAME_SETTINGS","GAME_IDS","GameBackground","GameGrid","ScoreBoard","useSnakeStore","useScore","useIsPlaying","useIsGameOver","SNAKE_COLORS","jsx","_jsx","jsxs","_jsxs","Snake","memo","settings","onSettingsChange","score","isPlaying","isGameOver","startGame","state","stopGame","resetGame","initializeGame","updateSettings","changeDirection","prevSettingsRef","useRef","enableSounds","enableHaptics","prevDifficultyRef","useEffect","current","difficulty","handleStartGame","useCallback","handleResetGame","handleStopGame","handleSwipe","direction","requestAnimationFrame","error","console","panGesture","useMemo","Pan","onEnd","event","threshold","absX","Math","abs","translationX","absY","translationY","gameControlButtonProps","gameOver","onStartGame","onStopGame","onResetGame","startButtonText","startButtonSubtext","startButtonColor","BUTTON_PRIMARY","startButtonBorderColor","BUTTON_SECONDARY","gameOverModalProps","isVisible","onPlayAgain","buttonText","primaryColor","MODAL_PRIMARY","borderColor","MODAL_BORDER","buttonColor","MODAL_BUTTON","buttonBorderColor","MODAL_BUTTON_BORDER","scoreFormatter","s","additionalInfo","gameSettingsModalProps","gameId","SNAKE","offset","children","style","styles","container","gesture","gridContainer","paddingTop","displayName","create","flex","justifyContent","alignItems"],"sourceRoot":"../../../../src","sources":["games/snake/Snake.tsx"],"mappings":"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","ignoreList":[]}
@@ -54,8 +54,8 @@ export const SNAKE_COLORS = {
54
54
  // UI colors
55
55
  SCORE_TEXT: '#ffffff',
56
56
  SCORE_BACKGROUND: 'rgba(0, 255, 136, 0.2)',
57
- BUTTON_PRIMARY: '#00ff88',
58
- BUTTON_SECONDARY: '#00cc6a',
57
+ BUTTON_PRIMARY: '#00cc6a',
58
+ BUTTON_SECONDARY: '#00994d',
59
59
  MODAL_PRIMARY: 'rgba(0, 255, 136, 0.95)',
60
60
  MODAL_BORDER: 'rgba(0, 204, 106, 0.9)',
61
61
  MODAL_BUTTON: '#00ff88',
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { create } from 'zustand';
4
4
  import { subscribeWithSelector } from 'zustand/middleware';
5
- import { immerMiddleware } from "../../services/GamesService.js";
5
+ import { immerMiddleware } from "../../services/UtilsService.js";
6
6
  import { SnakeService } from "./SnakeService.js";
7
7
  import { SNAKE_GAME_CONFIG, SNAKE_SOUNDS } from "./SnakeConstants.js";
8
8
  import { playSound } from "../../services/SoundsService.js";
@@ -51,11 +51,9 @@ export const useSnakeStore = create()(subscribeWithSelector(immerMiddleware((set
51
51
  if (state.moveTimer) clearInterval(state.moveTimer);
52
52
  playSound(SNAKE_SOUNDS.LOSE, state.enableSounds);
53
53
  playHaptic(HapticType.MEDIUM, state.enableHaptics);
54
- set(state => {
55
- state.isPlaying = false;
56
- state.isGameOver = true;
57
- state.moveTimer = null;
58
- });
54
+
55
+ // Reset the game instead of showing game over modal
56
+ state.initializeGame(state.difficulty);
59
57
  },
60
58
  pauseGame: () => {
61
59
  set(state => {
@@ -1 +1 @@
1
- {"version":3,"names":["create","subscribeWithSelector","immerMiddleware","SnakeService","SNAKE_GAME_CONFIG","SNAKE_SOUNDS","playSound","playHaptic","HapticType","gameService","useSnakeStore","set","get","snake","initializeSnake","food","direction","nextDirection","score","isPlaying","isGameOver","isPaused","difficulty","enableSounds","enableHaptics","moveTimer","startGame","state","clearInterval","initialFood","generateFood","gameSpeed","GAME_SPEED","setInterval","currentState","gameLoop","stopGame","LOSE","MEDIUM","pauseGame","resumeGame","resetGame","initializeGame","resetIdCounter","newSnake","changeDirection","newDirection","isValidDirectionChange","draft","moveSnake","head","checkWallCollision","COLLISION","HEAVY","checkSelfCollision","checkFoodCollision","grownSnake","growSnake","points","calculateScore","isSpecial","sound","SPECIAL","EAT","Math","random","SPECIAL_FOOD_CHANCE","isSpecialFoodExpired","updateSettings","useSnake","useFood","useScore","useIsPlaying","useIsGameOver","useIsPaused"],"sourceRoot":"../../../../src","sources":["games/snake/SnakeStore.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["create","subscribeWithSelector","immerMiddleware","SnakeService","SNAKE_GAME_CONFIG","SNAKE_SOUNDS","playSound","playHaptic","HapticType","gameService","useSnakeStore","set","get","snake","initializeSnake","food","direction","nextDirection","score","isPlaying","isGameOver","isPaused","difficulty","enableSounds","enableHaptics","moveTimer","startGame","state","clearInterval","initialFood","generateFood","gameSpeed","GAME_SPEED","setInterval","currentState","gameLoop","stopGame","LOSE","MEDIUM","initializeGame","pauseGame","resumeGame","resetGame","resetIdCounter","newSnake","changeDirection","newDirection","isValidDirectionChange","draft","moveSnake","head","checkWallCollision","COLLISION","HEAVY","checkSelfCollision","checkFoodCollision","grownSnake","growSnake","points","calculateScore","isSpecial","sound","SPECIAL","EAT","Math","random","SPECIAL_FOOD_CHANCE","isSpecialFoodExpired","updateSettings","useSnake","useFood","useScore","useIsPlaying","useIsGameOver","useIsPaused"],"sourceRoot":"../../../../src","sources":["games/snake/SnakeStore.ts"],"mappings":"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","ignoreList":[]}
@@ -4,12 +4,16 @@ import React from 'react';
4
4
  import { View, Text, StyleSheet } from 'react-native';
5
5
  import { useScore } from "../SnakeStore.js";
6
6
  import { SNAKE_COLORS } from "../SnakeConstants.js";
7
- import { RESPONSIVE_SCOREBOARD_CONTAINER, RESPONSIVE_SCOREBOARD_FONTS } from "../../../shared/helpers/index.js";
7
+ import { ScoreBoardContainer } from "../../../helpers/index.js";
8
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
- export const ScoreBoard = /*#__PURE__*/React.memo(() => {
9
+ export const ScoreBoard = /*#__PURE__*/React.memo(({
10
+ offset = 0
11
+ }) => {
10
12
  const score = useScore();
11
- return /*#__PURE__*/_jsx(View, {
12
- style: styles.container,
13
+ return /*#__PURE__*/_jsx(ScoreBoardContainer, {
14
+ offset: offset,
15
+ backgroundColor: SNAKE_COLORS.SCORE_BACKGROUND,
16
+ borderColor: SNAKE_COLORS.SCORE_BACKGROUND,
13
17
  children: /*#__PURE__*/_jsx(View, {
14
18
  style: styles.scoreContainer,
15
19
  children: /*#__PURE__*/_jsxs(View, {
@@ -27,29 +31,19 @@ export const ScoreBoard = /*#__PURE__*/React.memo(() => {
27
31
  });
28
32
  ScoreBoard.displayName = 'ScoreBoard';
29
33
  const styles = StyleSheet.create({
30
- container: {
31
- ...RESPONSIVE_SCOREBOARD_CONTAINER,
32
- marginHorizontal: 20,
33
- marginTop: 10
34
- },
35
34
  scoreContainer: {
36
- backgroundColor: SNAKE_COLORS.SCORE_BACKGROUND,
37
- borderRadius: 15,
38
- padding: 20,
39
- borderWidth: 1,
40
- borderColor: 'rgba(0, 255, 136, 0.3)',
41
35
  alignItems: 'center'
42
36
  },
43
37
  scoreItem: {
44
38
  alignItems: 'center'
45
39
  },
46
40
  label: {
47
- fontSize: RESPONSIVE_SCOREBOARD_FONTS.labelSize,
41
+ fontSize: 18,
48
42
  color: 'rgba(255, 255, 255, 0.7)',
49
43
  marginBottom: 4
50
44
  },
51
45
  value: {
52
- fontSize: RESPONSIVE_SCOREBOARD_FONTS.valueSize + 4,
46
+ fontSize: 34,
53
47
  color: SNAKE_COLORS.SCORE_TEXT,
54
48
  fontWeight: 'bold'
55
49
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","StyleSheet","useScore","SNAKE_COLORS","RESPONSIVE_SCOREBOARD_CONTAINER","RESPONSIVE_SCOREBOARD_FONTS","jsx","_jsx","jsxs","_jsxs","ScoreBoard","memo","score","style","styles","container","children","scoreContainer","scoreItem","label","value","displayName","create","marginHorizontal","marginTop","backgroundColor","SCORE_BACKGROUND","borderRadius","padding","borderWidth","borderColor","alignItems","fontSize","labelSize","color","marginBottom","valueSize","SCORE_TEXT","fontWeight"],"sourceRoot":"../../../../../src","sources":["games/snake/components/ScoreBoard.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AACrD,SAASC,QAAQ,QAAQ,kBAAe;AACxC,SAASC,YAAY,QAAQ,sBAAmB;AAChD,SAASC,+BAA+B,EAAEC,2BAA2B,QAAQ,kCAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEvG,OAAO,MAAMC,UAAoB,gBAAGZ,KAAK,CAACa,IAAI,CAAC,MAAM;EACnD,MAAMC,KAAK,GAAGV,QAAQ,CAAC,CAAC;EAExB,oBACEK,IAAA,CAACR,IAAI;IAACc,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,eAC5BT,IAAA,CAACR,IAAI;MAACc,KAAK,EAAEC,MAAM,CAACG,cAAe;MAAAD,QAAA,eACjCP,KAAA,CAACV,IAAI;QAACc,KAAK,EAAEC,MAAM,CAACI,SAAU;QAAAF,QAAA,gBAC5BT,IAAA,CAACP,IAAI;UAACa,KAAK,EAAEC,MAAM,CAACK,KAAM;UAAAH,QAAA,EAAC;QAAK,CAAM,CAAC,eACvCT,IAAA,CAACP,IAAI;UAACa,KAAK,EAAEC,MAAM,CAACM,KAAM;UAAAJ,QAAA,EAAEJ;QAAK,CAAO,CAAC;MAAA,CACrC;IAAC,CACH;EAAC,CACH,CAAC;AAEX,CAAC,CAAC;AAEFF,UAAU,CAACW,WAAW,GAAG,YAAY;AAErC,MAAMP,MAAM,GAAGb,UAAU,CAACqB,MAAM,CAAC;EAC/BP,SAAS,EAAE;IACT,GAAGX,+BAA+B;IAClCmB,gBAAgB,EAAE,EAAE;IACpBC,SAAS,EAAE;EACb,CAAC;EACDP,cAAc,EAAE;IACdQ,eAAe,EAAEtB,YAAY,CAACuB,gBAAgB;IAC9CC,YAAY,EAAE,EAAE;IAChBC,OAAO,EAAE,EAAE;IACXC,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE,wBAAwB;IACrCC,UAAU,EAAE;EACd,CAAC;EACDb,SAAS,EAAE;IACTa,UAAU,EAAE;EACd,CAAC;EACDZ,KAAK,EAAE;IACLa,QAAQ,EAAE3B,2BAA2B,CAAC4B,SAAS;IAC/CC,KAAK,EAAE,0BAA0B;IACjCC,YAAY,EAAE;EAChB,CAAC;EACDf,KAAK,EAAE;IACLY,QAAQ,EAAE3B,2BAA2B,CAAC+B,SAAS,GAAG,CAAC;IACnDF,KAAK,EAAE/B,YAAY,CAACkC,UAAU;IAC9BC,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Text","StyleSheet","useScore","SNAKE_COLORS","ScoreBoardContainer","jsx","_jsx","jsxs","_jsxs","ScoreBoard","memo","offset","score","backgroundColor","SCORE_BACKGROUND","borderColor","children","style","styles","scoreContainer","scoreItem","label","value","displayName","create","alignItems","fontSize","color","marginBottom","SCORE_TEXT","fontWeight"],"sourceRoot":"../../../../../src","sources":["games/snake/components/ScoreBoard.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AACrD,SAASC,QAAQ,QAAQ,kBAAe;AACxC,SAASC,YAAY,QAAQ,sBAAmB;AAChD,SAASC,mBAAmB,QAAQ,2BAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMvD,OAAO,MAAMC,UAAqC,gBAAGX,KAAK,CAACY,IAAI,CAAC,CAAC;EAACC,MAAM,GAAG;AAAC,CAAC,KAAK;EAChF,MAAMC,KAAK,GAAGV,QAAQ,CAAC,CAAC;EAExB,oBACEI,IAAA,CAACF,mBAAmB;IAClBO,MAAM,EAAEA,MAAO;IACfE,eAAe,EAAEV,YAAY,CAACW,gBAAiB;IAC/CC,WAAW,EAAEZ,YAAY,CAACW,gBAAiB;IAAAE,QAAA,eAE3CV,IAAA,CAACP,IAAI;MAACkB,KAAK,EAAEC,MAAM,CAACC,cAAe;MAAAH,QAAA,eACjCR,KAAA,CAACT,IAAI;QAACkB,KAAK,EAAEC,MAAM,CAACE,SAAU;QAAAJ,QAAA,gBAC5BV,IAAA,CAACN,IAAI;UAACiB,KAAK,EAAEC,MAAM,CAACG,KAAM;UAAAL,QAAA,EAAC;QAAK,CAAM,CAAC,eACvCV,IAAA,CAACN,IAAI;UAACiB,KAAK,EAAEC,MAAM,CAACI,KAAM;UAAAN,QAAA,EAAEJ;QAAK,CAAO,CAAC;MAAA,CACrC;IAAC,CACH;EAAC,CACY,CAAC;AAE1B,CAAC,CAAC;AAEFH,UAAU,CAACc,WAAW,GAAG,YAAY;AAErC,MAAML,MAAM,GAAGjB,UAAU,CAACuB,MAAM,CAAC;EAC/BL,cAAc,EAAE;IACdM,UAAU,EAAE;EACd,CAAC;EACDL,SAAS,EAAE;IACTK,UAAU,EAAE;EACd,CAAC;EACDJ,KAAK,EAAE;IACLK,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAE,0BAA0B;IACjCC,YAAY,EAAE;EAChB,CAAC;EACDN,KAAK,EAAE;IACLI,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAExB,YAAY,CAAC0B,UAAU;IAC9BC,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}