react-native-games 1.4.0 → 1.6.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 (508) hide show
  1. package/lib/module/games/balloon-blaster/BalloonBlaster.js +1 -1
  2. package/lib/module/games/balloon-blaster/BalloonBlaster.js.map +1 -1
  3. package/lib/module/games/balloon-blaster/BalloonBlasterConstants.js +1 -1
  4. package/lib/module/games/balloon-blaster/BalloonBlasterConstants.js.map +1 -1
  5. package/lib/module/games/balloon-blaster/BalloonBlasterService.js +1 -1
  6. package/lib/module/games/balloon-blaster/BalloonBlasterService.js.map +1 -1
  7. package/lib/module/games/balloon-blaster/BalloonBlasterStore.js +1 -1
  8. package/lib/module/games/balloon-blaster/BalloonBlasterStore.js.map +1 -1
  9. package/lib/module/games/balloon-blaster/components/BalloonComponent.js +1 -1
  10. package/lib/module/games/balloon-blaster/components/BalloonComponent.js.map +1 -1
  11. package/lib/module/games/balloon-blaster/components/GameArea.js +1 -1
  12. package/lib/module/games/balloon-blaster/components/GameArea.js.map +1 -1
  13. package/lib/module/games/balloon-blaster/components/GameBackground.js +1 -1
  14. package/lib/module/games/balloon-blaster/components/GameBackground.js.map +1 -1
  15. package/lib/module/games/balloon-blaster/components/ScoreBoard.js +1 -1
  16. package/lib/module/games/balloon-blaster/components/ScoreBoard.js.map +1 -1
  17. package/lib/module/games/balloon-blaster/components/index.js +1 -1
  18. package/lib/module/games/bike-racing/BikeRacing.js +1 -1
  19. package/lib/module/games/bike-racing/BikeRacing.js.map +1 -1
  20. package/lib/module/games/bike-racing/BikeRacingConstants.js +1 -1
  21. package/lib/module/games/bike-racing/BikeRacingService.js +1 -1
  22. package/lib/module/games/bike-racing/BikeRacingService.js.map +1 -1
  23. package/lib/module/games/bike-racing/BikeRacingStore.js +1 -1
  24. package/lib/module/games/bike-racing/BikeRacingStore.js.map +1 -1
  25. package/lib/module/games/bike-racing/components/BikeComponent.js +1 -1
  26. package/lib/module/games/bike-racing/components/BikeComponent.js.map +1 -1
  27. package/lib/module/games/bike-racing/components/GameBackground.js +1 -1
  28. package/lib/module/games/bike-racing/components/GameBackground.js.map +1 -1
  29. package/lib/module/games/bike-racing/components/ScoreBoard.js +1 -1
  30. package/lib/module/games/bike-racing/components/ScoreBoard.js.map +1 -1
  31. package/lib/module/games/bike-racing/components/index.js +1 -1
  32. package/lib/module/games/bike-racing/index.js +1 -1
  33. package/lib/module/games/block-blast/BlockBlast.js +1 -1
  34. package/lib/module/games/block-blast/BlockBlast.js.map +1 -1
  35. package/lib/module/games/block-blast/BlockBlastConstants.js +1 -1
  36. package/lib/module/games/block-blast/BlockBlastConstants.js.map +1 -1
  37. package/lib/module/games/block-blast/BlockBlastService.js +1 -1
  38. package/lib/module/games/block-blast/BlockBlastService.js.map +1 -1
  39. package/lib/module/games/block-blast/BlockBlastStore.js +1 -1
  40. package/lib/module/games/block-blast/BlockBlastStore.js.map +1 -1
  41. package/lib/module/games/block-blast/components/BlastAnimation.js +1 -0
  42. package/lib/module/games/block-blast/components/BlastAnimation.js.map +1 -0
  43. package/lib/module/games/block-blast/components/BlockPieceComponent.js +1 -1
  44. package/lib/module/games/block-blast/components/BlockPieceComponent.js.map +1 -1
  45. package/lib/module/games/block-blast/components/GameArea.js +1 -1
  46. package/lib/module/games/block-blast/components/GameArea.js.map +1 -1
  47. package/lib/module/games/block-blast/components/GameBackground.js +1 -1
  48. package/lib/module/games/block-blast/components/GameBackground.js.map +1 -1
  49. package/lib/module/games/block-blast/components/GridComponent.js +1 -1
  50. package/lib/module/games/block-blast/components/GridComponent.js.map +1 -1
  51. package/lib/module/games/block-blast/components/ScoreBoard.js +1 -1
  52. package/lib/module/games/block-blast/components/index.js +1 -1
  53. package/lib/module/games/block-blast/index.js +1 -1
  54. package/lib/module/games/bubble-shooter/BubbleShooter.js +1 -1
  55. package/lib/module/games/bubble-shooter/BubbleShooter.js.map +1 -1
  56. package/lib/module/games/bubble-shooter/BubbleShooterConstants.js +1 -1
  57. package/lib/module/games/bubble-shooter/BubbleShooterConstants.js.map +1 -1
  58. package/lib/module/games/bubble-shooter/BubbleShooterService.js +1 -1
  59. package/lib/module/games/bubble-shooter/BubbleShooterService.js.map +1 -1
  60. package/lib/module/games/bubble-shooter/BubbleShooterStore.js +1 -1
  61. package/lib/module/games/bubble-shooter/BubbleShooterStore.js.map +1 -1
  62. package/lib/module/games/bubble-shooter/components/GameArea.js +1 -1
  63. package/lib/module/games/bubble-shooter/components/GameArea.js.map +1 -1
  64. package/lib/module/games/bubble-shooter/components/GameBackground.js +1 -1
  65. package/lib/module/games/bubble-shooter/components/GameBackground.js.map +1 -1
  66. package/lib/module/games/bubble-shooter/components/ScoreBoard.js +1 -1
  67. package/lib/module/games/bubble-shooter/components/ScoreBoard.js.map +1 -1
  68. package/lib/module/games/bubble-shooter/components/index.js +1 -1
  69. package/lib/module/games/bubble-shooter/index.js +1 -1
  70. package/lib/module/games/candy-crush/CandyCrush.js +1 -1
  71. package/lib/module/games/candy-crush/CandyCrush.js.map +1 -1
  72. package/lib/module/games/candy-crush/CandyCrushConstants.js +1 -1
  73. package/lib/module/games/candy-crush/CandyCrushService.js +1 -1
  74. package/lib/module/games/candy-crush/CandyCrushStore.js +1 -1
  75. package/lib/module/games/candy-crush/CandyCrushStore.js.map +1 -1
  76. package/lib/module/games/candy-crush/components/BlastAnimation.js +1 -0
  77. package/lib/module/games/candy-crush/components/BlastAnimation.js.map +1 -0
  78. package/lib/module/games/candy-crush/components/CandyItem.js +1 -1
  79. package/lib/module/games/candy-crush/components/CandyItem.js.map +1 -1
  80. package/lib/module/games/candy-crush/components/GameBackground.js +1 -1
  81. package/lib/module/games/candy-crush/components/GameGrid.js +1 -1
  82. package/lib/module/games/candy-crush/components/GameGrid.js.map +1 -1
  83. package/lib/module/games/candy-crush/components/ScoreBoard.js +1 -1
  84. package/lib/module/games/candy-crush/components/index.js +1 -1
  85. package/lib/module/games/candy-crush/components/index.js.map +1 -1
  86. package/lib/module/games/candy-crush/index.js +1 -1
  87. package/lib/module/games/car-racing/CarRacing.js +1 -1
  88. package/lib/module/games/car-racing/CarRacing.js.map +1 -1
  89. package/lib/module/games/car-racing/CarRacingConstants.js +1 -1
  90. package/lib/module/games/car-racing/CarRacingService.js +1 -1
  91. package/lib/module/games/car-racing/CarRacingService.js.map +1 -1
  92. package/lib/module/games/car-racing/CarRacingStore.js +1 -1
  93. package/lib/module/games/car-racing/CarRacingStore.js.map +1 -1
  94. package/lib/module/games/car-racing/components/CarComponent.js +1 -1
  95. package/lib/module/games/car-racing/components/CarComponent.js.map +1 -1
  96. package/lib/module/games/car-racing/components/GameBackground.js +1 -1
  97. package/lib/module/games/car-racing/components/GameBackground.js.map +1 -1
  98. package/lib/module/games/car-racing/components/ScoreBoard.js +1 -1
  99. package/lib/module/games/car-racing/components/ScoreBoard.js.map +1 -1
  100. package/lib/module/games/car-racing/components/index.js +1 -1
  101. package/lib/module/games/colors-sort/ColorsSort.js +1 -1
  102. package/lib/module/games/colors-sort/ColorsSort.js.map +1 -1
  103. package/lib/module/games/colors-sort/ColorsSortConstants.js +1 -1
  104. package/lib/module/games/colors-sort/ColorsSortConstants.js.map +1 -1
  105. package/lib/module/games/colors-sort/ColorsSortService.js +1 -1
  106. package/lib/module/games/colors-sort/ColorsSortStore.js +1 -1
  107. package/lib/module/games/colors-sort/ColorsSortStore.js.map +1 -1
  108. package/lib/module/games/colors-sort/components/ColorContainer.js +1 -1
  109. package/lib/module/games/colors-sort/components/ColorContainer.js.map +1 -1
  110. package/lib/module/games/colors-sort/components/GameBackground.js +1 -1
  111. package/lib/module/games/colors-sort/components/GameBackground.js.map +1 -1
  112. package/lib/module/games/colors-sort/components/ScoreBoard.js +1 -1
  113. package/lib/module/games/colors-sort/components/ScoreBoard.js.map +1 -1
  114. package/lib/module/games/colors-sort/components/index.js +1 -1
  115. package/lib/module/games/dino-jump/DinoJump.js +1 -1
  116. package/lib/module/games/dino-jump/DinoJump.js.map +1 -1
  117. package/lib/module/games/dino-jump/DinoJumpConstants.js +1 -1
  118. package/lib/module/games/dino-jump/DinoJumpConstants.js.map +1 -1
  119. package/lib/module/games/dino-jump/DinoJumpService.js +1 -1
  120. package/lib/module/games/dino-jump/DinoJumpService.js.map +1 -1
  121. package/lib/module/games/dino-jump/DinoJumpStore.js +1 -1
  122. package/lib/module/games/dino-jump/DinoJumpStore.js.map +1 -1
  123. package/lib/module/games/dino-jump/components/DinoSprite.js +1 -1
  124. package/lib/module/games/dino-jump/components/DinoSprite.js.map +1 -1
  125. package/lib/module/games/dino-jump/components/GameArea.js +1 -1
  126. package/lib/module/games/dino-jump/components/GameBackground.js +1 -1
  127. package/lib/module/games/dino-jump/components/GameBackground.js.map +1 -1
  128. package/lib/module/games/dino-jump/components/ObstacleSprite.js +1 -1
  129. package/lib/module/games/dino-jump/components/ObstacleSprite.js.map +1 -1
  130. package/lib/module/games/dino-jump/components/ScoreBoard.js +1 -1
  131. package/lib/module/games/dino-jump/components/ScoreBoard.js.map +1 -1
  132. package/lib/module/games/dino-jump/components/StarSprite.js +1 -1
  133. package/lib/module/games/dino-jump/components/index.js +1 -1
  134. package/lib/module/games/flappy-bird/FlappyBird.js +1 -1
  135. package/lib/module/games/flappy-bird/FlappyBird.js.map +1 -1
  136. package/lib/module/games/flappy-bird/FlappyBirdConstants.js +1 -1
  137. package/lib/module/games/flappy-bird/FlappyBirdConstants.js.map +1 -1
  138. package/lib/module/games/flappy-bird/FlappyBirdStore.js +1 -1
  139. package/lib/module/games/flappy-bird/FlappyBirdStore.js.map +1 -1
  140. package/lib/module/games/flappy-bird/components/Bird.js +1 -1
  141. package/lib/module/games/flappy-bird/components/Bird.js.map +1 -1
  142. package/lib/module/games/flappy-bird/components/GameArea.js +1 -1
  143. package/lib/module/games/flappy-bird/components/GameArea.js.map +1 -1
  144. package/lib/module/games/flappy-bird/components/GameBackground.js +1 -1
  145. package/lib/module/games/flappy-bird/components/GameBackground.js.map +1 -1
  146. package/lib/module/games/flappy-bird/components/Pipes.js +1 -1
  147. package/lib/module/games/flappy-bird/components/Pipes.js.map +1 -1
  148. package/lib/module/games/flappy-bird/components/ScoreBoard.js +1 -1
  149. package/lib/module/games/flappy-bird/components/ScoreBoard.js.map +1 -1
  150. package/lib/module/games/flappy-bird/components/index.js +1 -1
  151. package/lib/module/games/fruit-merger/FruitMerger.js +1 -1
  152. package/lib/module/games/fruit-merger/FruitMerger.js.map +1 -1
  153. package/lib/module/games/fruit-merger/FruitMergerConstants.js +1 -1
  154. package/lib/module/games/fruit-merger/FruitMergerConstants.js.map +1 -1
  155. package/lib/module/games/fruit-merger/FruitMergerService.js +1 -1
  156. package/lib/module/games/fruit-merger/FruitMergerStore.js +1 -1
  157. package/lib/module/games/fruit-merger/FruitMergerStore.js.map +1 -1
  158. package/lib/module/games/fruit-merger/components/FruitItem.js +1 -1
  159. package/lib/module/games/fruit-merger/components/FruitItem.js.map +1 -1
  160. package/lib/module/games/fruit-merger/components/GameArea.js +1 -1
  161. package/lib/module/games/fruit-merger/components/GameArea.js.map +1 -1
  162. package/lib/module/games/fruit-merger/components/GameBackground.js +1 -1
  163. package/lib/module/games/fruit-merger/components/GameBackground.js.map +1 -1
  164. package/lib/module/games/fruit-merger/components/ScoreBoard.js +1 -1
  165. package/lib/module/games/fruit-merger/components/index.js +1 -1
  166. package/lib/module/games/fruit-ninja/FruitNinja.js +1 -1
  167. package/lib/module/games/fruit-ninja/FruitNinja.js.map +1 -1
  168. package/lib/module/games/fruit-ninja/FruitNinjaConstants.js +1 -1
  169. package/lib/module/games/fruit-ninja/FruitNinjaConstants.js.map +1 -1
  170. package/lib/module/games/fruit-ninja/FruitNinjaService.js +1 -1
  171. package/lib/module/games/fruit-ninja/FruitNinjaService.js.map +1 -1
  172. package/lib/module/games/fruit-ninja/FruitNinjaStore.js +1 -1
  173. package/lib/module/games/fruit-ninja/FruitNinjaStore.js.map +1 -1
  174. package/lib/module/games/fruit-ninja/components/FruitComponent.js +1 -1
  175. package/lib/module/games/fruit-ninja/components/FruitComponent.js.map +1 -1
  176. package/lib/module/games/fruit-ninja/components/GameArea.js +1 -1
  177. package/lib/module/games/fruit-ninja/components/GameArea.js.map +1 -1
  178. package/lib/module/games/fruit-ninja/components/GameBackground.js +1 -1
  179. package/lib/module/games/fruit-ninja/components/GameBackground.js.map +1 -1
  180. package/lib/module/games/fruit-ninja/components/ScoreBoard.js +1 -1
  181. package/lib/module/games/fruit-ninja/components/index.js +1 -1
  182. package/lib/module/games/game-2048/Game2048.js +1 -1
  183. package/lib/module/games/game-2048/Game2048.js.map +1 -1
  184. package/lib/module/games/game-2048/Game2048Constants.js +1 -1
  185. package/lib/module/games/game-2048/Game2048Service.js +1 -1
  186. package/lib/module/games/game-2048/Game2048Store.js +1 -1
  187. package/lib/module/games/game-2048/Game2048Store.js.map +1 -1
  188. package/lib/module/games/game-2048/components/GameBackground.js +1 -1
  189. package/lib/module/games/game-2048/components/GameBackground.js.map +1 -1
  190. package/lib/module/games/game-2048/components/GameGrid.js +1 -1
  191. package/lib/module/games/game-2048/components/GameGrid.js.map +1 -1
  192. package/lib/module/games/game-2048/components/GameTile.js +1 -1
  193. package/lib/module/games/game-2048/components/GameTile.js.map +1 -1
  194. package/lib/module/games/game-2048/components/ScoreBoard.js +1 -1
  195. package/lib/module/games/game-2048/components/ScoreBoard.js.map +1 -1
  196. package/lib/module/games/game-2048/components/index.js +1 -1
  197. package/lib/module/games/maze-runner/MazeRunner.js +1 -1
  198. package/lib/module/games/maze-runner/MazeRunner.js.map +1 -1
  199. package/lib/module/games/maze-runner/MazeRunnerConstants.js +1 -1
  200. package/lib/module/games/maze-runner/MazeRunnerConstants.js.map +1 -1
  201. package/lib/module/games/maze-runner/MazeRunnerService.js +1 -1
  202. package/lib/module/games/maze-runner/MazeRunnerService.js.map +1 -1
  203. package/lib/module/games/maze-runner/components/EnhancedBallComponent.js +1 -1
  204. package/lib/module/games/maze-runner/components/EnhancedBallComponent.js.map +1 -1
  205. package/lib/module/games/maze-runner/components/EnhancedGameArea.js +1 -1
  206. package/lib/module/games/maze-runner/components/EnhancedGameArea.js.map +1 -1
  207. package/lib/module/games/maze-runner/components/GameBackground.js +1 -1
  208. package/lib/module/games/maze-runner/components/GameBackground.js.map +1 -1
  209. package/lib/module/games/maze-runner/components/ScoreBoard.js +1 -1
  210. package/lib/module/games/maze-runner/components/ScoreBoard.js.map +1 -1
  211. package/lib/module/games/maze-runner/components/SkiaPipeComponent.js +1 -1
  212. package/lib/module/games/maze-runner/components/StaticGameBackground.js +1 -1
  213. package/lib/module/games/maze-runner/components/WallComponent.js +1 -1
  214. package/lib/module/games/maze-runner/components/WallComponent.js.map +1 -1
  215. package/lib/module/games/maze-runner/components/index.js +1 -1
  216. package/lib/module/games/perfect-circle/PerfectCircle.js +1 -1
  217. package/lib/module/games/perfect-circle/PerfectCircle.js.map +1 -1
  218. package/lib/module/games/perfect-circle/PerfectCircleConstants.js +1 -1
  219. package/lib/module/games/perfect-circle/PerfectCircleConstants.js.map +1 -1
  220. package/lib/module/games/perfect-circle/PerfectCircleService.js +1 -1
  221. package/lib/module/games/perfect-circle/PerfectCircleService.js.map +1 -1
  222. package/lib/module/games/perfect-circle/PerfectCircleStore.js +1 -1
  223. package/lib/module/games/perfect-circle/PerfectCircleStore.js.map +1 -1
  224. package/lib/module/games/perfect-circle/components/DrawingCanvas.js +1 -1
  225. package/lib/module/games/perfect-circle/components/DrawingCanvas.js.map +1 -1
  226. package/lib/module/games/perfect-circle/components/GameBackground.js +1 -1
  227. package/lib/module/games/perfect-circle/components/GameBackground.js.map +1 -1
  228. package/lib/module/games/perfect-circle/components/ScoreBoard.js +1 -1
  229. package/lib/module/games/perfect-circle/index.js +1 -1
  230. package/lib/module/games/popit-fidget/PopitFidget.js +1 -1
  231. package/lib/module/games/popit-fidget/PopitFidget.js.map +1 -1
  232. package/lib/module/games/popit-fidget/PopitFidgetConstants.js +1 -1
  233. package/lib/module/games/popit-fidget/PopitFidgetService.js +1 -1
  234. package/lib/module/games/popit-fidget/PopitFidgetService.js.map +1 -1
  235. package/lib/module/games/popit-fidget/PopitFidgetStore.js +1 -1
  236. package/lib/module/games/popit-fidget/PopitFidgetStore.js.map +1 -1
  237. package/lib/module/games/popit-fidget/components/BubbleComponent.js +1 -1
  238. package/lib/module/games/popit-fidget/components/BubbleComponent.js.map +1 -1
  239. package/lib/module/games/popit-fidget/components/FidgetGrid.js +1 -1
  240. package/lib/module/games/popit-fidget/components/FidgetGrid.js.map +1 -1
  241. package/lib/module/games/popit-fidget/components/GameBackground.js +1 -1
  242. package/lib/module/games/popit-fidget/components/GameBackground.js.map +1 -1
  243. package/lib/module/games/popit-fidget/components/ScoreBoard.js +1 -1
  244. package/lib/module/games/popit-fidget/components/ScoreBoard.js.map +1 -1
  245. package/lib/module/games/popit-fidget/components/index.js +1 -1
  246. package/lib/module/games/sliding-numbers/SlidingNumbers.js +1 -1
  247. package/lib/module/games/sliding-numbers/SlidingNumbers.js.map +1 -1
  248. package/lib/module/games/sliding-numbers/SlidingNumbersConstants.js +1 -1
  249. package/lib/module/games/sliding-numbers/SlidingNumbersService.js +1 -1
  250. package/lib/module/games/sliding-numbers/SlidingNumbersStore.js +1 -1
  251. package/lib/module/games/sliding-numbers/SlidingNumbersStore.js.map +1 -1
  252. package/lib/module/games/sliding-numbers/components/GameBackground.js +1 -1
  253. package/lib/module/games/sliding-numbers/components/GameBackground.js.map +1 -1
  254. package/lib/module/games/sliding-numbers/components/NumbersGrid.js +1 -1
  255. package/lib/module/games/sliding-numbers/components/NumbersGrid.js.map +1 -1
  256. package/lib/module/games/sliding-numbers/components/NumbersTile.js +1 -1
  257. package/lib/module/games/sliding-numbers/components/NumbersTile.js.map +1 -1
  258. package/lib/module/games/sliding-numbers/components/ScoreBoard.js +1 -1
  259. package/lib/module/games/sliding-numbers/components/ScoreBoard.js.map +1 -1
  260. package/lib/module/games/sliding-numbers/components/index.js +1 -1
  261. package/lib/module/games/snake/Snake.js +1 -1
  262. package/lib/module/games/snake/Snake.js.map +1 -1
  263. package/lib/module/games/snake/SnakeConstants.js +1 -1
  264. package/lib/module/games/snake/SnakeService.js +1 -1
  265. package/lib/module/games/snake/SnakeStore.js +1 -1
  266. package/lib/module/games/snake/SnakeStore.js.map +1 -1
  267. package/lib/module/games/snake/components/GameBackground.js +1 -1
  268. package/lib/module/games/snake/components/GameBackground.js.map +1 -1
  269. package/lib/module/games/snake/components/GameGrid.js +1 -1
  270. package/lib/module/games/snake/components/GameGrid.js.map +1 -1
  271. package/lib/module/games/snake/components/ScoreBoard.js +1 -1
  272. package/lib/module/games/snake/components/index.js +1 -1
  273. package/lib/module/games/snake/index.js +1 -1
  274. package/lib/module/games/space-fighter/SpaceFighter.js +1 -1
  275. package/lib/module/games/space-fighter/SpaceFighter.js.map +1 -1
  276. package/lib/module/games/space-fighter/SpaceFighterConstants.js +1 -1
  277. package/lib/module/games/space-fighter/SpaceFighterConstants.js.map +1 -1
  278. package/lib/module/games/space-fighter/SpaceFighterService.js +1 -1
  279. package/lib/module/games/space-fighter/SpaceFighterStore.js +1 -1
  280. package/lib/module/games/space-fighter/SpaceFighterStore.js.map +1 -1
  281. package/lib/module/games/space-fighter/components/AsteroidComponent.js +1 -1
  282. package/lib/module/games/space-fighter/components/GameArea.js +1 -1
  283. package/lib/module/games/space-fighter/components/GameArea.js.map +1 -1
  284. package/lib/module/games/space-fighter/components/GameBackground.js +1 -1
  285. package/lib/module/games/space-fighter/components/GameBackground.js.map +1 -1
  286. package/lib/module/games/space-fighter/components/ScoreBoard.js +1 -1
  287. package/lib/module/games/space-fighter/components/ScoreBoard.js.map +1 -1
  288. package/lib/module/games/space-fighter/components/Spacecraft3D.js +1 -1
  289. package/lib/module/games/space-fighter/components/Spacecraft3D.js.map +1 -1
  290. package/lib/module/games/space-fighter/components/SpacecraftPath.js +1 -1
  291. package/lib/module/games/space-fighter/components/index.js +1 -1
  292. package/lib/module/games/whack-a-mole/WhackAMole.js +1 -1
  293. package/lib/module/games/whack-a-mole/WhackAMole.js.map +1 -1
  294. package/lib/module/games/whack-a-mole/WhackAMoleConstants.js +1 -1
  295. package/lib/module/games/whack-a-mole/WhackAMoleConstants.js.map +1 -1
  296. package/lib/module/games/whack-a-mole/WhackAMoleService.js +1 -1
  297. package/lib/module/games/whack-a-mole/WhackAMoleStore.js +1 -1
  298. package/lib/module/games/whack-a-mole/WhackAMoleStore.js.map +1 -1
  299. package/lib/module/games/whack-a-mole/components/GameBackground.js +1 -1
  300. package/lib/module/games/whack-a-mole/components/GameBackground.js.map +1 -1
  301. package/lib/module/games/whack-a-mole/components/GameGrid.js +1 -1
  302. package/lib/module/games/whack-a-mole/components/GameHole.js +1 -1
  303. package/lib/module/games/whack-a-mole/components/GameHole.js.map +1 -1
  304. package/lib/module/games/whack-a-mole/components/MoleCharacter.js +1 -1
  305. package/lib/module/games/whack-a-mole/components/MoleCharacter.js.map +1 -1
  306. package/lib/module/games/whack-a-mole/components/ScoreBoard.js +1 -1
  307. package/lib/module/games/whack-a-mole/components/ScoreBoard.js.map +1 -1
  308. package/lib/module/games/whack-a-mole/components/index.js +1 -1
  309. package/lib/module/helpers/AbstractFruits.js +1 -0
  310. package/lib/module/helpers/AbstractFruits.js.map +1 -0
  311. package/lib/module/helpers/AnimationFrame.js +1 -1
  312. package/lib/module/helpers/AnimationTracker.js +1 -1
  313. package/lib/module/helpers/ErrorHandler.js +1 -1
  314. package/lib/module/helpers/GameControlButton.js +1 -1
  315. package/lib/module/helpers/GameControlButton.js.map +1 -1
  316. package/lib/module/helpers/GameOverModal.js +1 -1
  317. package/lib/module/helpers/GameSettingsModal.js +1 -1
  318. package/lib/module/helpers/ParticleBlast.js +1 -1
  319. package/lib/module/helpers/ScoreBoardContainer.js +1 -1
  320. package/lib/module/helpers/ScoreBoardContainer.js.map +1 -1
  321. package/lib/module/helpers/index.js +1 -1
  322. package/lib/module/helpers/index.js.map +1 -1
  323. package/lib/module/index.js +1 -1
  324. package/lib/module/services/GamesConstants.js +1 -1
  325. package/lib/module/services/GamesService.js +1 -1
  326. package/lib/module/services/GamesService.js.map +1 -1
  327. package/lib/module/services/HapticsService.js +1 -1
  328. package/lib/module/services/ScoringService.js +1 -1
  329. package/lib/module/services/SoundsService.js +1 -1
  330. package/lib/module/services/UtilsService.js +1 -1
  331. package/lib/module/services/UtilsService.js.map +1 -1
  332. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts.map +1 -1
  333. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterConstants.d.ts +5 -1
  334. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterConstants.d.ts.map +1 -1
  335. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterService.d.ts.map +1 -1
  336. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterStore.d.ts.map +1 -1
  337. package/lib/typescript/src/games/balloon-blaster/components/BalloonComponent.d.ts.map +1 -1
  338. package/lib/typescript/src/games/balloon-blaster/components/GameArea.d.ts.map +1 -1
  339. package/lib/typescript/src/games/balloon-blaster/components/GameBackground.d.ts.map +1 -1
  340. package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts.map +1 -1
  341. package/lib/typescript/src/games/bike-racing/BikeRacing.d.ts.map +1 -1
  342. package/lib/typescript/src/games/bike-racing/BikeRacingService.d.ts +6 -2
  343. package/lib/typescript/src/games/bike-racing/BikeRacingService.d.ts.map +1 -1
  344. package/lib/typescript/src/games/bike-racing/BikeRacingStore.d.ts +9 -0
  345. package/lib/typescript/src/games/bike-racing/BikeRacingStore.d.ts.map +1 -1
  346. package/lib/typescript/src/games/bike-racing/components/BikeComponent.d.ts.map +1 -1
  347. package/lib/typescript/src/games/bike-racing/components/GameBackground.d.ts.map +1 -1
  348. package/lib/typescript/src/games/bike-racing/components/ScoreBoard.d.ts.map +1 -1
  349. package/lib/typescript/src/games/block-blast/BlockBlast.d.ts.map +1 -1
  350. package/lib/typescript/src/games/block-blast/BlockBlastConstants.d.ts +2 -2
  351. package/lib/typescript/src/games/block-blast/BlockBlastConstants.d.ts.map +1 -1
  352. package/lib/typescript/src/games/block-blast/BlockBlastService.d.ts.map +1 -1
  353. package/lib/typescript/src/games/block-blast/BlockBlastStore.d.ts +13 -1
  354. package/lib/typescript/src/games/block-blast/BlockBlastStore.d.ts.map +1 -1
  355. package/lib/typescript/src/games/block-blast/components/BlastAnimation.d.ts +12 -0
  356. package/lib/typescript/src/games/block-blast/components/BlastAnimation.d.ts.map +1 -0
  357. package/lib/typescript/src/games/block-blast/components/BlockPieceComponent.d.ts +1 -4
  358. package/lib/typescript/src/games/block-blast/components/BlockPieceComponent.d.ts.map +1 -1
  359. package/lib/typescript/src/games/block-blast/components/GameArea.d.ts.map +1 -1
  360. package/lib/typescript/src/games/block-blast/components/GameBackground.d.ts.map +1 -1
  361. package/lib/typescript/src/games/block-blast/components/GridComponent.d.ts +4 -2
  362. package/lib/typescript/src/games/block-blast/components/GridComponent.d.ts.map +1 -1
  363. package/lib/typescript/src/games/bubble-shooter/BubbleShooter.d.ts.map +1 -1
  364. package/lib/typescript/src/games/bubble-shooter/BubbleShooterConstants.d.ts +12 -6
  365. package/lib/typescript/src/games/bubble-shooter/BubbleShooterConstants.d.ts.map +1 -1
  366. package/lib/typescript/src/games/bubble-shooter/BubbleShooterService.d.ts +1 -0
  367. package/lib/typescript/src/games/bubble-shooter/BubbleShooterService.d.ts.map +1 -1
  368. package/lib/typescript/src/games/bubble-shooter/BubbleShooterStore.d.ts +5 -1
  369. package/lib/typescript/src/games/bubble-shooter/BubbleShooterStore.d.ts.map +1 -1
  370. package/lib/typescript/src/games/bubble-shooter/components/GameArea.d.ts.map +1 -1
  371. package/lib/typescript/src/games/bubble-shooter/components/GameBackground.d.ts.map +1 -1
  372. package/lib/typescript/src/games/bubble-shooter/components/ScoreBoard.d.ts.map +1 -1
  373. package/lib/typescript/src/games/candy-crush/CandyCrushConstants.d.ts +1 -1
  374. package/lib/typescript/src/games/candy-crush/CandyCrushStore.d.ts +8 -0
  375. package/lib/typescript/src/games/candy-crush/CandyCrushStore.d.ts.map +1 -1
  376. package/lib/typescript/src/games/candy-crush/components/BlastAnimation.d.ts +16 -0
  377. package/lib/typescript/src/games/candy-crush/components/BlastAnimation.d.ts.map +1 -0
  378. package/lib/typescript/src/games/candy-crush/components/CandyItem.d.ts.map +1 -1
  379. package/lib/typescript/src/games/candy-crush/components/GameGrid.d.ts.map +1 -1
  380. package/lib/typescript/src/games/candy-crush/components/index.d.ts +1 -0
  381. package/lib/typescript/src/games/candy-crush/components/index.d.ts.map +1 -1
  382. package/lib/typescript/src/games/car-racing/CarRacing.d.ts.map +1 -1
  383. package/lib/typescript/src/games/car-racing/CarRacingService.d.ts +6 -2
  384. package/lib/typescript/src/games/car-racing/CarRacingService.d.ts.map +1 -1
  385. package/lib/typescript/src/games/car-racing/CarRacingStore.d.ts +9 -0
  386. package/lib/typescript/src/games/car-racing/CarRacingStore.d.ts.map +1 -1
  387. package/lib/typescript/src/games/car-racing/components/CarComponent.d.ts +0 -1
  388. package/lib/typescript/src/games/car-racing/components/CarComponent.d.ts.map +1 -1
  389. package/lib/typescript/src/games/car-racing/components/GameBackground.d.ts.map +1 -1
  390. package/lib/typescript/src/games/car-racing/components/ScoreBoard.d.ts.map +1 -1
  391. package/lib/typescript/src/games/colors-sort/ColorsSort.d.ts.map +1 -1
  392. package/lib/typescript/src/games/colors-sort/ColorsSortConstants.d.ts +1 -0
  393. package/lib/typescript/src/games/colors-sort/ColorsSortConstants.d.ts.map +1 -1
  394. package/lib/typescript/src/games/colors-sort/ColorsSortStore.d.ts +5 -1
  395. package/lib/typescript/src/games/colors-sort/ColorsSortStore.d.ts.map +1 -1
  396. package/lib/typescript/src/games/colors-sort/components/ColorContainer.d.ts +1 -1
  397. package/lib/typescript/src/games/colors-sort/components/ColorContainer.d.ts.map +1 -1
  398. package/lib/typescript/src/games/colors-sort/components/ScoreBoard.d.ts.map +1 -1
  399. package/lib/typescript/src/games/dino-jump/DinoJump.d.ts.map +1 -1
  400. package/lib/typescript/src/games/dino-jump/DinoJumpConstants.d.ts +9 -7
  401. package/lib/typescript/src/games/dino-jump/DinoJumpConstants.d.ts.map +1 -1
  402. package/lib/typescript/src/games/dino-jump/DinoJumpService.d.ts +1 -1
  403. package/lib/typescript/src/games/dino-jump/DinoJumpStore.d.ts +1 -0
  404. package/lib/typescript/src/games/dino-jump/DinoJumpStore.d.ts.map +1 -1
  405. package/lib/typescript/src/games/dino-jump/components/DinoSprite.d.ts.map +1 -1
  406. package/lib/typescript/src/games/dino-jump/components/GameBackground.d.ts.map +1 -1
  407. package/lib/typescript/src/games/dino-jump/components/ObstacleSprite.d.ts.map +1 -1
  408. package/lib/typescript/src/games/dino-jump/components/ScoreBoard.d.ts.map +1 -1
  409. package/lib/typescript/src/games/flappy-bird/FlappyBird.d.ts.map +1 -1
  410. package/lib/typescript/src/games/flappy-bird/FlappyBirdConstants.d.ts +6 -0
  411. package/lib/typescript/src/games/flappy-bird/FlappyBirdConstants.d.ts.map +1 -1
  412. package/lib/typescript/src/games/flappy-bird/FlappyBirdStore.d.ts +8 -4
  413. package/lib/typescript/src/games/flappy-bird/FlappyBirdStore.d.ts.map +1 -1
  414. package/lib/typescript/src/games/flappy-bird/components/Bird.d.ts.map +1 -1
  415. package/lib/typescript/src/games/flappy-bird/components/GameArea.d.ts.map +1 -1
  416. package/lib/typescript/src/games/flappy-bird/components/GameBackground.d.ts.map +1 -1
  417. package/lib/typescript/src/games/flappy-bird/components/Pipes.d.ts.map +1 -1
  418. package/lib/typescript/src/games/flappy-bird/components/ScoreBoard.d.ts.map +1 -1
  419. package/lib/typescript/src/games/fruit-merger/FruitMerger.d.ts.map +1 -1
  420. package/lib/typescript/src/games/fruit-merger/FruitMergerConstants.d.ts +21 -20
  421. package/lib/typescript/src/games/fruit-merger/FruitMergerConstants.d.ts.map +1 -1
  422. package/lib/typescript/src/games/fruit-merger/FruitMergerStore.d.ts.map +1 -1
  423. package/lib/typescript/src/games/fruit-merger/components/FruitItem.d.ts +1 -2
  424. package/lib/typescript/src/games/fruit-merger/components/FruitItem.d.ts.map +1 -1
  425. package/lib/typescript/src/games/fruit-merger/components/GameArea.d.ts.map +1 -1
  426. package/lib/typescript/src/games/fruit-merger/components/GameBackground.d.ts.map +1 -1
  427. package/lib/typescript/src/games/fruit-ninja/FruitNinjaConstants.d.ts +15 -45
  428. package/lib/typescript/src/games/fruit-ninja/FruitNinjaConstants.d.ts.map +1 -1
  429. package/lib/typescript/src/games/fruit-ninja/FruitNinjaService.d.ts +9 -33
  430. package/lib/typescript/src/games/fruit-ninja/FruitNinjaService.d.ts.map +1 -1
  431. package/lib/typescript/src/games/fruit-ninja/FruitNinjaStore.d.ts +0 -11
  432. package/lib/typescript/src/games/fruit-ninja/FruitNinjaStore.d.ts.map +1 -1
  433. package/lib/typescript/src/games/fruit-ninja/components/FruitComponent.d.ts +0 -1
  434. package/lib/typescript/src/games/fruit-ninja/components/FruitComponent.d.ts.map +1 -1
  435. package/lib/typescript/src/games/fruit-ninja/components/GameArea.d.ts.map +1 -1
  436. package/lib/typescript/src/games/fruit-ninja/components/GameBackground.d.ts.map +1 -1
  437. package/lib/typescript/src/games/game-2048/Game2048.d.ts.map +1 -1
  438. package/lib/typescript/src/games/game-2048/Game2048Store.d.ts +20 -0
  439. package/lib/typescript/src/games/game-2048/Game2048Store.d.ts.map +1 -1
  440. package/lib/typescript/src/games/game-2048/components/GameBackground.d.ts.map +1 -1
  441. package/lib/typescript/src/games/game-2048/components/GameGrid.d.ts.map +1 -1
  442. package/lib/typescript/src/games/game-2048/components/GameTile.d.ts.map +1 -1
  443. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts.map +1 -1
  444. package/lib/typescript/src/games/maze-runner/MazeRunnerConstants.d.ts +2 -2
  445. package/lib/typescript/src/games/maze-runner/MazeRunnerService.d.ts.map +1 -1
  446. package/lib/typescript/src/games/maze-runner/components/EnhancedBallComponent.d.ts +1 -1
  447. package/lib/typescript/src/games/maze-runner/components/EnhancedBallComponent.d.ts.map +1 -1
  448. package/lib/typescript/src/games/maze-runner/components/EnhancedGameArea.d.ts.map +1 -1
  449. package/lib/typescript/src/games/maze-runner/components/GameBackground.d.ts +1 -1
  450. package/lib/typescript/src/games/maze-runner/components/GameBackground.d.ts.map +1 -1
  451. package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts +1 -0
  452. package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts.map +1 -1
  453. package/lib/typescript/src/games/maze-runner/components/WallComponent.d.ts +1 -1
  454. package/lib/typescript/src/games/maze-runner/components/WallComponent.d.ts.map +1 -1
  455. package/lib/typescript/src/games/perfect-circle/PerfectCircle.d.ts.map +1 -1
  456. package/lib/typescript/src/games/perfect-circle/PerfectCircleConstants.d.ts +1 -0
  457. package/lib/typescript/src/games/perfect-circle/PerfectCircleConstants.d.ts.map +1 -1
  458. package/lib/typescript/src/games/perfect-circle/PerfectCircleService.d.ts +5 -3
  459. package/lib/typescript/src/games/perfect-circle/PerfectCircleService.d.ts.map +1 -1
  460. package/lib/typescript/src/games/perfect-circle/PerfectCircleStore.d.ts +16 -0
  461. package/lib/typescript/src/games/perfect-circle/PerfectCircleStore.d.ts.map +1 -1
  462. package/lib/typescript/src/games/perfect-circle/components/GameBackground.d.ts.map +1 -1
  463. package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts.map +1 -1
  464. package/lib/typescript/src/games/popit-fidget/PopitFidgetConstants.d.ts +2 -2
  465. package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts +4 -2
  466. package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts.map +1 -1
  467. package/lib/typescript/src/games/popit-fidget/components/BubbleComponent.d.ts.map +1 -1
  468. package/lib/typescript/src/games/popit-fidget/components/FidgetGrid.d.ts.map +1 -1
  469. package/lib/typescript/src/games/popit-fidget/components/GameBackground.d.ts.map +1 -1
  470. package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts +2 -1
  471. package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts.map +1 -1
  472. package/lib/typescript/src/games/sliding-numbers/SlidingNumbers.d.ts.map +1 -1
  473. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersService.d.ts +1 -1
  474. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersStore.d.ts +10 -0
  475. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersStore.d.ts.map +1 -1
  476. package/lib/typescript/src/games/sliding-numbers/components/GameBackground.d.ts.map +1 -1
  477. package/lib/typescript/src/games/sliding-numbers/components/NumbersGrid.d.ts.map +1 -1
  478. package/lib/typescript/src/games/sliding-numbers/components/NumbersTile.d.ts.map +1 -1
  479. package/lib/typescript/src/games/sliding-numbers/components/ScoreBoard.d.ts.map +1 -1
  480. package/lib/typescript/src/games/snake/Snake.d.ts.map +1 -1
  481. package/lib/typescript/src/games/snake/SnakeStore.d.ts +16 -0
  482. package/lib/typescript/src/games/snake/SnakeStore.d.ts.map +1 -1
  483. package/lib/typescript/src/games/snake/components/GameBackground.d.ts.map +1 -1
  484. package/lib/typescript/src/games/snake/components/GameGrid.d.ts.map +1 -1
  485. package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts.map +1 -1
  486. package/lib/typescript/src/games/space-fighter/SpaceFighterConstants.d.ts +4 -4
  487. package/lib/typescript/src/games/space-fighter/components/GameArea.d.ts.map +1 -1
  488. package/lib/typescript/src/games/space-fighter/components/GameBackground.d.ts.map +1 -1
  489. package/lib/typescript/src/games/space-fighter/components/ScoreBoard.d.ts.map +1 -1
  490. package/lib/typescript/src/games/space-fighter/components/Spacecraft3D.d.ts.map +1 -1
  491. package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts.map +1 -1
  492. package/lib/typescript/src/games/whack-a-mole/WhackAMoleConstants.d.ts +8 -3
  493. package/lib/typescript/src/games/whack-a-mole/WhackAMoleConstants.d.ts.map +1 -1
  494. package/lib/typescript/src/games/whack-a-mole/WhackAMoleStore.d.ts.map +1 -1
  495. package/lib/typescript/src/games/whack-a-mole/components/GameBackground.d.ts.map +1 -1
  496. package/lib/typescript/src/games/whack-a-mole/components/GameHole.d.ts.map +1 -1
  497. package/lib/typescript/src/games/whack-a-mole/components/MoleCharacter.d.ts.map +1 -1
  498. package/lib/typescript/src/helpers/AbstractFruits.d.ts +207 -0
  499. package/lib/typescript/src/helpers/AbstractFruits.d.ts.map +1 -0
  500. package/lib/typescript/src/helpers/GameControlButton.d.ts +4 -7
  501. package/lib/typescript/src/helpers/GameControlButton.d.ts.map +1 -1
  502. package/lib/typescript/src/helpers/ParticleBlast.d.ts +1 -1
  503. package/lib/typescript/src/helpers/ParticleBlast.d.ts.map +1 -1
  504. package/lib/typescript/src/helpers/index.d.ts +1 -0
  505. package/lib/typescript/src/helpers/index.d.ts.map +1 -1
  506. package/lib/typescript/src/services/UtilsService.d.ts +2 -0
  507. package/lib/typescript/src/services/UtilsService.d.ts.map +1 -1
  508. package/package.json +7 -3
@@ -1 +1 @@
1
- {"version":3,"names":["React","Canvas","Rect","LinearGradient","vec","Circle","RoundedRect","Dimensions","View","jsx","_jsx","jsxs","_jsxs","width","height","get","SNAKE_NEON_COLORS","GameBackground","memo","children","generateFloatingElements","useMemo","elements","elementCount","i","baseX","baseY","x","Math","sin","random","y","cos","size","colorIndex","length","opacity","elementX","max","min","elementY","push","cx","cy","r","color","floor","toString","padStart","style","flex","position","top","left","right","bottom","start","end","colors","Array","from","_","displayName"],"sourceRoot":"../../../../../src","sources":["games/snake/components/GameBackground.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Canvas","Rect","LinearGradient","vec","Circle","RoundedRect","Dimensions","View","StyleSheet","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","width","height","get","SNAKE_NEON_COLORS","FLOATING_ELEMENTS_DATA","elements","elementCount","seededRandom","seed","x","Math","sin","floor","i","baseX","baseY","randX","randY","randSize","y","cos","size","colorIndex","length","opacity","elementX","max","min","elementY","colorHex","toString","padStart","push","type","key","color","GRID_LINES_V","Array","from","_","GRID_LINES_H","FloatingElements","memo","children","map","cx","cy","r","displayName","GridPattern","styles","create","container","flex","canvas","position","top","left","right","bottom","GameBackground","style","start","end","colors"],"sourceRoot":"../../../../../src","sources":["games/snake/components/GameBackground.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- "use strict";import React from 'react';import{View,StyleSheet}from 'react-native';import{Canvas,RoundedRect,Circle,Group,Shadow}from '@shopify/react-native-skia';import{useSnake,useFood}from "../SnakeStore.js";import{SNAKE_GAME_CONFIG,SNAKE_COLORS}from "../SnakeConstants.js";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from "react/jsx-runtime";export const GameGrid = React.memo(()=>{const snake = useSnake();const food = useFood();const cellSize = SNAKE_GAME_CONFIG.CELL_SIZE;const gridSize = SNAKE_GAME_CONFIG.GRID_SIZE;const canvasSize = cellSize * gridSize;const gridLines = React.useMemo(()=>{const lines = [];for(let i = 0;i <= gridSize;i++){lines.push(i);}return lines;},[gridSize]);return _jsx(View,{style:styles.container,children:_jsx(View,{style:[styles.gridContainer,{width:canvasSize,height:canvasSize}],children:_jsx(Canvas,{style:{width:canvasSize,height:canvasSize},children:_jsxs(Group,{children:[_jsx(RoundedRect,{x:0,y:0,width:canvasSize,height:canvasSize,r:15,color:SNAKE_COLORS.BACKGROUND,children:_jsx(Shadow,{dx:0,dy:4,blur:8,color:"rgba(0,0,0,0.3)"})}),gridLines.map(i =>{const xPos = i === gridSize ? canvasSize - 2:i * cellSize;return _jsx(RoundedRect,{x:xPos,y:0,width:i === 0 || i === gridSize ? 2:1,height:canvasSize,r:0,color:SNAKE_COLORS.GRID_LINE},`v-${i}`);}),gridLines.map(i =>{const yPos = i === gridSize ? canvasSize - 2:i * cellSize;return _jsx(RoundedRect,{x:0,y:yPos,width:canvasSize,height:i === 0 || i === gridSize ? 2:1,r:0,color:SNAKE_COLORS.GRID_LINE},`h-${i}`);}),food && _jsxs(Group,{children:[_jsx(Circle,{cx:food.x * cellSize + cellSize / 2,cy:food.y * cellSize + cellSize / 2,r:cellSize * 0.6,color:food.isSpecial ? 'rgba(255,165,2,0.3)':SNAKE_COLORS.FOOD_GLOW}),_jsx(Circle,{cx:food.x * cellSize + cellSize / 2,cy:food.y * cellSize + cellSize / 2,r:cellSize * 0.4,color:food.isSpecial ? SNAKE_COLORS.FOOD_SPECIAL:SNAKE_COLORS.FOOD_NORMAL,children:_jsx(Shadow,{dx:0,dy:2,blur:4,color:"rgba(0,0,0,0.4)"})}),_jsx(Circle,{cx:food.x * cellSize + cellSize / 2 - cellSize * 0.1,cy:food.y * cellSize + cellSize / 2 - cellSize * 0.1,r:cellSize * 0.15,color:"rgba(255,255,255,0.6)"})]}),snake.map((segment,index)=>{const isHead = index === 0;const isTail = index === snake.length - 1;const segmentColor = isHead ? SNAKE_COLORS.SNAKE_HEAD:isTail ? SNAKE_COLORS.SNAKE_TAIL:SNAKE_COLORS.SNAKE_BODY;return _jsxs(Group,{children:[_jsx(RoundedRect,{x:segment.x * cellSize + 2,y:segment.y * cellSize + 2,width:cellSize - 4,height:cellSize - 4,r:isHead ? 8:6,color:segmentColor,children:_jsx(Shadow,{dx:0,dy:2,blur:4,color:"rgba(0,0,0,0.3)"})}),_jsx(RoundedRect,{x:segment.x * cellSize + cellSize * 0.2,y:segment.y * cellSize + cellSize * 0.2,width:cellSize * 0.3,height:cellSize * 0.3,r:4,color:"rgba(255,255,255,0.3)"}),isHead && _jsxs(_Fragment,{children:[_jsx(Circle,{cx:segment.x * cellSize + cellSize * 0.35,cy:segment.y * cellSize + cellSize * 0.4,r:cellSize * 0.08,color:"#000000"}),_jsx(Circle,{cx:segment.x * cellSize + cellSize * 0.65,cy:segment.y * cellSize + cellSize * 0.4,r:cellSize * 0.08,color:"#000000"})]})]},segment.id);})]})})})});});GameGrid.displayName = 'GameGrid';const styles = StyleSheet.create({container:{flex:1,justifyContent:'center',alignItems:'center'},gridContainer:{}});
1
+ "use strict";import r from"react";import{View as t,StyleSheet as e}from"react-native";import{Canvas as o,RoundedRect as i,Circle as c,Group as n,Shadow as h}from"@shopify/react-native-skia";import{useSnake as l,useFood as d}from"../SnakeStore.js";import{SNAKE_GAME_CONFIG as s,SNAKE_COLORS as a}from"../SnakeConstants.js";import{jsx as y,Fragment as g,jsxs as x}from"react/jsx-runtime";const m=s.CELL_SIZE,u=s.GRID_SIZE,f=m*u,b=Array.from({length:u+1},(r,t)=>t),w=b.map(r=>({key:"v-"+r,x:r===u?f-2:r*m,width:0===r||r===u?2:1})),k=b.map(r=>({key:"h-"+r,y:r===u?f-2:r*m,height:0===r||r===u?2:1})),p=r.memo(()=>y(i,{x:0,y:0,width:f,height:f,r:15,color:a.BACKGROUND,children:y(h,{dx:0,dy:4,blur:8,color:"rgba(0, 0, 0, 0.3)"})}));p.displayName="GridBackground";const G=r.memo(()=>x(g,{children:[w.map(({key:r,x:t,width:e})=>y(i,{x:t,y:0,width:e,height:f,r:0,color:a.GRID_LINE},r)),k.map(({key:r,y:t,height:e})=>y(i,{x:0,y:t,width:f,height:e,r:0,color:a.GRID_LINE},r))]}));G.displayName="GridLines";export const GameGrid=r.memo(()=>{const e=l(),s=d(),u=r.useMemo(()=>({width:f,height:f}),[]),b=r.useMemo(()=>[j.gridContainer,{width:f,height:f}],[]),w=r.useMemo(()=>{if(!s)return null;const r=s.x*m+m/2,t=s.y*m+m/2,e=s.isSpecial?"rgba(255, 165, 2, 0.3)":a.FOOD_GLOW,o=s.isSpecial?a.FOOD_SPECIAL:a.FOOD_NORMAL;return x(n,{children:[y(c,{cx:r,cy:t,r:.6*m,color:e}),y(c,{cx:r,cy:t,r:.4*m,color:o,children:y(h,{dx:0,dy:2,blur:4,color:"rgba(0, 0, 0, 0.4)"})}),y(c,{cx:r-.1*m,cy:t-.1*m,r:.15*m,color:"rgba(255, 255, 255, 0.6)"})]})},[s]),k=r.useMemo(()=>{const r=e.length;return e.map((t,e)=>{const o=0===e,l=e===r-1,d=o?a.SNAKE_HEAD:l?a.SNAKE_TAIL:a.SNAKE_BODY,s=t.x*m,u=t.y*m;return x(n,{children:[y(i,{x:s+2,y:u+2,width:m-4,height:m-4,r:o?8:6,color:d,children:y(h,{dx:0,dy:2,blur:4,color:"rgba(0, 0, 0, 0.3)"})}),y(i,{x:s+.2*m,y:u+.2*m,width:.3*m,height:.3*m,r:4,color:"rgba(255, 255, 255, 0.3)"}),o&&x(g,{children:[y(c,{cx:s+.35*m,cy:u+.4*m,r:.08*m,color:"#000000"}),y(c,{cx:s+.65*m,cy:u+.4*m,r:.08*m,color:"#000000"})]})]},t.id)})},[e]);return y(t,{style:j.container,children:y(t,{style:b,children:y(o,{style:u,children:x(n,{children:[y(p,{}),y(G,{}),w,k]})})})})});GameGrid.displayName="GameGrid";const j=e.create({container:{flex:1,justifyContent:"center",alignItems:"center"},gridContainer:{}});
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","StyleSheet","Canvas","RoundedRect","Circle","Group","Shadow","useSnake","useFood","SNAKE_GAME_CONFIG","SNAKE_COLORS","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","GameGrid","memo","snake","food","cellSize","CELL_SIZE","gridSize","GRID_SIZE","canvasSize","gridLines","useMemo","lines","i","push","style","styles","container","children","gridContainer","width","height","x","y","r","color","BACKGROUND","dx","dy","blur","map","xPos","GRID_LINE","yPos","cx","cy","isSpecial","FOOD_GLOW","FOOD_SPECIAL","FOOD_NORMAL","segment","index","isHead","isTail","length","segmentColor","SNAKE_HEAD","SNAKE_TAIL","SNAKE_BODY","id","displayName","create","flex","justifyContent","alignItems"],"sourceRoot":"../../../../../src","sources":["games/snake/components/GameGrid.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","StyleSheet","Canvas","RoundedRect","Circle","Group","Shadow","useSnake","useFood","SNAKE_GAME_CONFIG","SNAKE_COLORS","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","CELL_SIZE","GRID_SIZE","CANVAS_SIZE","GRID_LINE_INDICES","Array","from","length","_","i","VERTICAL_LINES_DATA","map","key","x","width","HORIZONTAL_LINES_DATA","y","height","GridBackground","memo","r","color","BACKGROUND","children","dx","dy","blur","displayName","GridLines","GRID_LINE","GameGrid","snake","food","canvasStyle","useMemo","gridContainerStyle","styles","gridContainer","foodElement","centerX","centerY","glowColor","isSpecial","FOOD_GLOW","bodyColor","FOOD_SPECIAL","FOOD_NORMAL","cx","cy","snakeElements","snakeLength","segment","index","isHead","isTail","segmentColor","SNAKE_HEAD","SNAKE_TAIL","SNAKE_BODY","segX","segY","id","style","container","create","flex","justifyContent","alignItems"],"sourceRoot":"../../../../../src","sources":["games/snake/components/GameGrid.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- "use strict";import React from 'react';import{View,Text,StyleSheet}from 'react-native';import{useScore,useTimeLeft}from "../SnakeStore.js";import{SNAKE_COLORS}from "../SnakeConstants.js";import{ScoreBoardContainer}from "../../../helpers/index.js";import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";export const ScoreBoard = React.memo(({offset = 0})=>{const score = useScore();const timeLeft = useTimeLeft();const formattedTime = React.useMemo(()=>{const minutes = Math.floor(timeLeft / 60);const seconds = timeLeft % 60;return `${minutes}:${seconds.toString().padStart(2,'0')}`;},[timeLeft]);return _jsx(ScoreBoardContainer,{offset:offset,backgroundColor:SNAKE_COLORS.SCORE_BACKGROUND,borderColor:SNAKE_COLORS.SCORE_BACKGROUND,children:_jsxs(View,{style:styles.scoreContainer,children:[_jsxs(View,{style:styles.scoreItem,children:[_jsx(Text,{style:styles.label,children:"Score"}),_jsx(Text,{style:styles.value,children:score})]}),_jsxs(View,{style:styles.scoreItem,children:[_jsx(Text,{style:styles.label,children:"Time"}),_jsx(Text,{style:styles.value,children:formattedTime})]})]})});});ScoreBoard.displayName = 'ScoreBoard';const styles = StyleSheet.create({scoreContainer:{flex:1,flexDirection:'row',justifyContent:'space-around',alignItems:'center'},scoreItem:{alignItems:'center'},label:{fontSize:16,color:'rgba(255,255,255,0.7)',marginBottom:4},value:{fontSize:25,color:SNAKE_COLORS.SCORE_TEXT,fontWeight:'bold'}});
1
+ "use strict";import e from"react";import{View as r,Text as o,StyleSheet as t}from"react-native";import{useScore as n,useTimeLeft as s}from"../SnakeStore.js";import{SNAKE_COLORS as i}from"../SnakeConstants.js";import{ScoreBoardContainer as c}from"../../../helpers/index.js";import{jsx as l,jsxs as a}from"react/jsx-runtime";export const ScoreBoard=e.memo(({offset:t=0})=>{const d=n(),f=s(),h=e.useMemo(()=>`${Math.floor(f/60)}:${(""+f%60).padStart(2,"0")}`,[f]);return l(c,{offset:t,backgroundColor:i.SCORE_BACKGROUND,borderColor:i.SCORE_BACKGROUND,children:a(r,{style:m.scoreContainer,children:[a(r,{style:m.scoreItem,children:[l(o,{style:m.label,children:"Score"}),l(o,{style:m.value,children:d})]}),a(r,{style:m.scoreItem,children:[l(o,{style:m.label,children:"Time"}),l(o,{style:m.value,children:h})]})]})})});ScoreBoard.displayName="ScoreBoard";const m=t.create({scoreContainer:{flex:1,flexDirection:"row",justifyContent:"space-around",alignItems:"center"},scoreItem:{alignItems:"center"},label:{fontSize:16,color:"rgba(255, 255, 255, 0.7)",marginBottom:4},value:{fontSize:25,color:i.SCORE_TEXT,fontWeight:"bold"}});
@@ -1 +1 @@
1
- "use strict";export{GameBackground}from "./GameBackground.js";export{GameGrid}from "./GameGrid.js";export{ScoreBoard}from "./ScoreBoard.js";
1
+ "use strict";export{GameBackground}from"./GameBackground.js";export{GameGrid}from"./GameGrid.js";export{ScoreBoard}from"./ScoreBoard.js";
@@ -1 +1 @@
1
- "use strict";export{Snake}from "./Snake.js";export{useSnakeStore}from "./SnakeStore.js";export * from "./SnakeConstants.js";
1
+ "use strict";export{Snake}from"./Snake.js";export{useSnakeStore}from"./SnakeStore.js";export*from"./SnakeConstants.js";
@@ -1 +1 @@
1
- "use strict";import React,{useEffect,useCallback,useMemo}from 'react';import{View,StyleSheet,Dimensions}from 'react-native';import{GestureHandlerRootView}from 'react-native-gesture-handler';import{useSpaceFighterStore}from "./SpaceFighterStore.js";import{createSpaceFighterService}from "./SpaceFighterService.js";import{getDifficultySettings}from "./SpaceFighterConstants.js";import{ScoreBoard,GameArea,GameBackground}from "./components/index.js";import{GameControlButton,GameOverModal,useGameErrorHandler,GameErrorType}from "../../helpers/index.js";import{GameSettingsModal}from "../../helpers/index.js";import{GAME_IDS,DEFAULT_GAME_SETTINGS}from "../../services/UtilsService.js";import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";const{width,height}= Dimensions.get('window');export const SpaceFighter =({settings = DEFAULT_GAME_SETTINGS,onSettingsChange,onEndGame})=>{const{difficulty}= useMemo(()=> settings || DEFAULT_GAME_SETTINGS,[settings]);const isPlaying = useSpaceFighterStore(state => state.isPlaying);const gameOver = useSpaceFighterStore(state => state.gameOver);const score = useSpaceFighterStore(state => state.score);const gameReportedRef = React.useRef(false);const reportGameEnd = useCallback(status =>{if(onEndGame && !gameReportedRef.current){const currentState = useSpaceFighterStore.getState();onEndGame({status,score:currentState.score.toString()});gameReportedRef.current = true;}},[onEndGame]);const setOffset = useSpaceFighterStore(state => state.setOffset);const startGame = useSpaceFighterStore(state => state.startGame);const stopGame = useSpaceFighterStore(state => state.stopGame);const resetGame = useSpaceFighterStore(state => state.resetGame);const decrementTime = useSpaceFighterStore(state => state.decrementTime);const addAsteroids = useSpaceFighterStore(state => state.addAsteroids);const removeAsteroid = useSpaceFighterStore(state => state.removeAsteroid);const updateAsteroid = useSpaceFighterStore(state => state.updateAsteroid);const updateSpacecraft = useSpaceFighterStore(state => state.updateSpacecraft);const offset = settings?.offset ?? 0;useEffect(()=>{setOffset(offset);},[offset,setOffset]);const{wrapFunction,safeExecute}= useGameErrorHandler(GAME_IDS.SPACE_FIGHTER);const gameService = useMemo(()=> safeExecute(()=> createSpaceFighterService(width,height),createSpaceFighterService(width,height),GameErrorType.INITIALIZATION_ERROR),[safeExecute]);useEffect(()=>{return()=>{handleResetGame();if(gameService){gameService.cleanup();}};},[gameService]);useEffect(()=>{if(gameOver && !gameReportedRef.current){const currentState = useSpaceFighterStore.getState();const status = currentState.lives <= 0 ? 'lose':'win';reportGameEnd(status);}if(!gameOver){gameReportedRef.current = false;}},[gameOver,reportGameEnd]);useEffect(()=>{if(gameOver && gameService){gameService.cleanup();}},[gameOver,gameService]);const difficultySettings = useMemo(()=> getDifficultySettings(difficulty),[difficulty]);const handleStartGame = useCallback(()=> wrapFunction(()=>{gameReportedRef.current = false;startGame();if(gameService){gameService.updateDifficultySettings(difficultySettings.asteroidSpeed,difficultySettings.asteroidSpawnInterval);gameService.startGameTimer(decrementTime);gameService.startAsteroidSpawning(addAsteroids);gameService.startPhysicsLoop(updateSpacecraft,updateAsteroid,removeAsteroid,()=> useSpaceFighterStore.getState().spacecraft,()=> useSpaceFighterStore.getState().asteroids);}},GameErrorType.INITIALIZATION_ERROR)(),[wrapFunction,startGame,gameService,difficultySettings,updateSpacecraft,decrementTime,addAsteroids,updateAsteroid,removeAsteroid]);const handleStopGame = useCallback(()=> wrapFunction(()=>{reportGameEnd('cancel');stopGame();if(gameService){gameService.cleanup();}},GameErrorType.UNKNOWN_ERROR)(),[wrapFunction,stopGame,gameService,reportGameEnd]);const handleResetGame = useCallback(()=> wrapFunction(()=>{if(gameService){gameService.cleanup();}resetGame();if(gameService){const initialSpacecraft = gameService.getInitialSpacecraft();updateSpacecraft(initialSpacecraft);}},GameErrorType.UNKNOWN_ERROR)(),[wrapFunction,gameService,resetGame,updateSpacecraft]);const gameControlButtonProps = useMemo(()=>({isPlaying,gameOver,onStartGame:handleStartGame,onStopGame:handleStopGame,startButtonText:"START FLYING",stopButtonText:"STOP GAME",startButtonSubtext:"Navigate through space!",stopButtonSubtext:"End current game",startButtonColor:"#9370db",stopButtonColor:"#dc2626",startButtonBorderColor:"#ba68c8",stopButtonBorderColor:"#f87171"}),[isPlaying,gameOver,handleStartGame,handleStopGame]);const gameOverModalProps = useMemo(()=>({isVisible:gameOver,score,onPlayAgain:handleResetGame,buttonText:"Fly Again!",primaryColor:"rgba(147,112,219,0.5)",borderColor:"rgba(147,112,219,0.5)",buttonColor:"#ffffff",buttonBorderColor:"#ffffff",buttonTextColor:"#9370db"}),[gameOver,score,handleResetGame]);const gameSettingsModalProps = useMemo(()=>({gameId:GAME_IDS.SPACE_FIGHTER,settings:settings || DEFAULT_GAME_SETTINGS,onSettingsChange}),[settings,onSettingsChange]);return _jsx(View,{style:styles.container,children:_jsx(GestureHandlerRootView,{children:_jsxs(GameBackground,{children:[_jsx(GameArea,{}),_jsx(ScoreBoard,{offset:offset}),_jsx(GameControlButton,{...gameControlButtonProps}),_jsx(GameOverModal,{...gameOverModalProps}),_jsx(GameSettingsModal,{...gameSettingsModalProps})]})})});};const styles = StyleSheet.create({container:{flex:1}});
1
+ "use strict";import t,{useEffect as o,useCallback as e,useMemo as r}from"react";import{View as n,StyleSheet as i,Dimensions as s}from"react-native";import{GestureHandlerRootView as a}from"react-native-gesture-handler";import{useSpaceFighterStore as c}from"./SpaceFighterStore.js";import{createSpaceFighterService as f}from"./SpaceFighterService.js";import{getDifficultySettings as m}from"./SpaceFighterConstants.js";import{ScoreBoard as l,GameArea as p,GameBackground as d}from"./components/index.js";import{GameControlButton as g,GameOverModal as h,useGameErrorHandler as u,GameErrorType as b}from"../../helpers/index.js";import{GameSettingsModal as S}from"../../helpers/index.js";import{GAME_IDS as x,DEFAULT_GAME_SETTINGS as j}from"../../services/UtilsService.js";import{jsx as C,jsxs as v}from"react/jsx-runtime";const{width:w,height:y}=s.get("window");export const SpaceFighter=({settings:i=j,onSettingsChange:s,onEndGame:B,onShare:G,onShowLeaderboard:A})=>{const{difficulty:E}=r(()=>i||j,[i]),L=c(t=>t.isPlaying),P=c(t=>t.gameOver),T=c(t=>t.score),I=t.useRef(!1),N=e(t=>{if(B&&!I.current){const o=c.getState();B({status:t,score:o.score.toString()}),I.current=!0}},[B]),O=c(t=>t.setOffset),U=c(t=>t.startGame),V=c(t=>t.stopGame),k=c(t=>t.resetGame),q=c(t=>t.decrementTime),z=c(t=>t.addAsteroids),D=c(t=>t.removeAsteroid),H=c(t=>t.updateAsteroid),J=c(t=>t.updateSpacecraft),K=i?.offset??0;o(()=>{O(K)},[K,O]);const{wrapFunction:M,safeExecute:Q}=u(x.SPACE_FIGHTER),R=r(()=>Q(()=>f(w,y),f(w,y),b.INITIALIZATION_ERROR),[Q]);o(()=>()=>{Z(),R&&R.cleanup()},[R]),o(()=>{if(P&&!I.current){const t=c.getState().lives>0?"win":"lose";N(t)}P||(I.current=!1)},[P,N]),o(()=>{P&&R&&R.cleanup()},[P,R]);const W=r(()=>m(E),[E]),X=e(()=>M(()=>{I.current=!1,U(W.gameDuration),R&&(R.updateDifficultySettings(W.asteroidSpeed,W.asteroidSpawnInterval),R.startGameTimer(q),R.startAsteroidSpawning(z),R.startPhysicsLoop(J,H,D,()=>c.getState().spacecraft,()=>c.getState().asteroids))},b.INITIALIZATION_ERROR)(),[M,U,R,W,J,q,z,H,D]),Y=e(()=>M(()=>{N("cancel"),V(),R&&R.cleanup()},b.UNKNOWN_ERROR)(),[M,V,R,N]),Z=e(()=>M(()=>{if(R&&R.cleanup(),k(),R){const t=R.getInitialSpacecraft();J(t)}},b.UNKNOWN_ERROR)(),[M,R,k,J]),$=r(()=>({isPlaying:L,gameOver:P,onStartGame:X,onStopGame:Y,onShare:G,onShowLeaderboard:A,startButtonSubtext:"Navigate through space!",buttonColor:"#9370db",buttonBorderColor:"#ba68c8"}),[L,P,X,Y,G,A]),_=r(()=>({isVisible:P,score:T,onPlayAgain:Z,buttonText:"Fly Again!",primaryColor:"rgba(147, 112, 219, 0.5)",borderColor:"rgba(147, 112, 219, 0.5)",buttonColor:"#ffffff",buttonBorderColor:"#ffffff",buttonTextColor:"#9370db"}),[P,T,Z]),tt=r(()=>({gameId:x.SPACE_FIGHTER,settings:i||j,onSettingsChange:s}),[i,s]);return C(n,{style:F.container,children:C(a,{children:v(d,{children:[C(p,{}),C(l,{offset:K}),C(g,{...$}),C(h,{..._}),C(S,{...tt})]})})})};const F=i.create({container:{flex:1}});
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useCallback","useMemo","View","StyleSheet","Dimensions","GestureHandlerRootView","useSpaceFighterStore","createSpaceFighterService","getDifficultySettings","ScoreBoard","GameArea","GameBackground","GameControlButton","GameOverModal","useGameErrorHandler","GameErrorType","GameSettingsModal","GAME_IDS","DEFAULT_GAME_SETTINGS","jsx","_jsx","jsxs","_jsxs","width","height","get","SpaceFighter","settings","onSettingsChange","onEndGame","difficulty","isPlaying","state","gameOver","score","gameReportedRef","useRef","reportGameEnd","status","current","currentState","getState","toString","setOffset","startGame","stopGame","resetGame","decrementTime","addAsteroids","removeAsteroid","updateAsteroid","updateSpacecraft","offset","wrapFunction","safeExecute","SPACE_FIGHTER","gameService","INITIALIZATION_ERROR","handleResetGame","cleanup","lives","difficultySettings","handleStartGame","updateDifficultySettings","asteroidSpeed","asteroidSpawnInterval","startGameTimer","startAsteroidSpawning","startPhysicsLoop","spacecraft","asteroids","handleStopGame","UNKNOWN_ERROR","initialSpacecraft","getInitialSpacecraft","gameControlButtonProps","onStartGame","onStopGame","startButtonText","stopButtonText","startButtonSubtext","stopButtonSubtext","startButtonColor","stopButtonColor","startButtonBorderColor","stopButtonBorderColor","gameOverModalProps","isVisible","onPlayAgain","buttonText","primaryColor","borderColor","buttonColor","buttonBorderColor","buttonTextColor","gameSettingsModalProps","gameId","style","styles","container","children","create","flex"],"sourceRoot":"../../../../src","sources":["games/space-fighter/SpaceFighter.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useCallback","useMemo","View","StyleSheet","Dimensions","GestureHandlerRootView","useSpaceFighterStore","createSpaceFighterService","getDifficultySettings","ScoreBoard","GameArea","GameBackground","GameControlButton","GameOverModal","useGameErrorHandler","GameErrorType","GameSettingsModal","GAME_IDS","DEFAULT_GAME_SETTINGS","jsx","_jsx","jsxs","_jsxs","width","height","get","SpaceFighter","settings","onSettingsChange","onEndGame","onShare","onShowLeaderboard","difficulty","isPlaying","state","gameOver","score","gameReportedRef","useRef","reportGameEnd","status","current","currentState","getState","toString","setOffset","startGame","stopGame","resetGame","decrementTime","addAsteroids","removeAsteroid","updateAsteroid","updateSpacecraft","offset","wrapFunction","safeExecute","SPACE_FIGHTER","gameService","INITIALIZATION_ERROR","handleResetGame","cleanup","lives","difficultySettings","handleStartGame","gameDuration","updateDifficultySettings","asteroidSpeed","asteroidSpawnInterval","startGameTimer","startAsteroidSpawning","startPhysicsLoop","spacecraft","asteroids","handleStopGame","UNKNOWN_ERROR","initialSpacecraft","getInitialSpacecraft","gameControlButtonProps","onStartGame","onStopGame","startButtonSubtext","buttonColor","buttonBorderColor","gameOverModalProps","isVisible","onPlayAgain","buttonText","primaryColor","borderColor","buttonTextColor","gameSettingsModalProps","gameId","style","styles","container","children","create","flex"],"sourceRoot":"../../../../src","sources":["games/space-fighter/SpaceFighter.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- "use strict";export const SPACE_FIGHTER_DIFFICULTY_CONFIG ={easy:{gameDuration:60,asteroidSpawnInterval:4000,asteroidSpeed:1.5},medium:{gameDuration:60,asteroidSpawnInterval:3000,asteroidSpeed:2},hard:{gameDuration:60,asteroidSpawnInterval:2000,asteroidSpeed:3}};export const getDifficultySettings = difficulty =>{return SPACE_FIGHTER_DIFFICULTY_CONFIG[difficulty];};export const DEFAULT_SPACE_FIGHTER_SETTINGS ={difficulty:'medium',soundEnabled:true,hapticEnabled:true,gameDuration:SPACE_FIGHTER_DIFFICULTY_CONFIG.medium.gameDuration,asteroidSpawnInterval:SPACE_FIGHTER_DIFFICULTY_CONFIG.medium.asteroidSpawnInterval,asteroidSpeed:SPACE_FIGHTER_DIFFICULTY_CONFIG.medium.asteroidSpeed};export const SPACE_FIGHTER_GAME_CONFIG ={GAME_DURATION:120,SPACECRAFT_SIZE:28,SPACECRAFT_SPEED:3,ASTEROID_WIDTH:80,ASTEROID_GAP:120,ASTEROID_SPAWN_INTERVAL:3000,ASTEROID_SPEED:2,GRAVITY:0.3,BOUNCE_DAMPING:0.7,FRICTION:0.98,MAX_VELOCITY:8,COLLISION_TOLERANCE:2,COLLISION_COOLDOWN:2000};export const SPACE_FIGHTER_COLORS ={BACKGROUND:'#0a0a1a',SPACECRAFT:'#00d4ff',ASTEROID:'#8b4513',ASTEROID_SHADOW:'#654321',SCORE:'#ffd700',UI:'#9370db',STARS:'#ffffff'};export const SPACE_FIGHTER_THEME ={backgroundColor:'rgba(0,0,0,0.7)',headerBackgroundColor:'#9370db',headerTextColor:'#ffffff',sectionBackgroundColor:'rgba(147,112,219,0.15)',sectionTitleColor:'#9370db',buttonSelectedColor:'#9370db',buttonUnselectedColor:'rgba(255,255,255,0.2)',buttonSelectedTextColor:'#ffffff',buttonUnselectedTextColor:'rgba(255,255,255,0.7)',switchTrackColorFalse:'rgba(147,112,219,0.3)',switchTrackColorTrue:'#9370db',switchThumbColor:'#ffffff',infoTextColor:'rgba(255,255,255,0.9)'};export const SPACE_FIGHTER_DIFFICULTY_DESCRIPTIONS ={easy:'Slow asteroids,relaxed gameplay',medium:'Normal asteroid speed,balanced challenge',hard:'Fast asteroids,quick reflexes needed!'};
1
+ "use strict";export const SPACE_FIGHTER_DIFFICULTY_CONFIG={easy:{gameDuration:60,asteroidSpawnInterval:4e3,asteroidSpeed:1.5},medium:{gameDuration:120,asteroidSpawnInterval:3e3,asteroidSpeed:2},hard:{gameDuration:180,asteroidSpawnInterval:2e3,asteroidSpeed:3}};export const getDifficultySettings=e=>SPACE_FIGHTER_DIFFICULTY_CONFIG[e];export const DEFAULT_SPACE_FIGHTER_SETTINGS={difficulty:"medium",soundEnabled:!0,hapticEnabled:!0,gameDuration:SPACE_FIGHTER_DIFFICULTY_CONFIG.medium.gameDuration,asteroidSpawnInterval:SPACE_FIGHTER_DIFFICULTY_CONFIG.medium.asteroidSpawnInterval,asteroidSpeed:SPACE_FIGHTER_DIFFICULTY_CONFIG.medium.asteroidSpeed};export const SPACE_FIGHTER_GAME_CONFIG={GAME_DURATION:120,SPACECRAFT_SIZE:28,SPACECRAFT_SPEED:3,ASTEROID_WIDTH:80,ASTEROID_GAP:120,ASTEROID_SPAWN_INTERVAL:3e3,ASTEROID_SPEED:2,GRAVITY:.3,BOUNCE_DAMPING:.7,FRICTION:.98,MAX_VELOCITY:8,COLLISION_TOLERANCE:2,COLLISION_COOLDOWN:2e3};export const SPACE_FIGHTER_COLORS={BACKGROUND:"#0a0a1a",SPACECRAFT:"#00d4ff",ASTEROID:"#8b4513",ASTEROID_SHADOW:"#654321",SCORE:"#ffd700",UI:"#9370db",STARS:"#ffffff"};export const SPACE_FIGHTER_THEME={backgroundColor:"rgba(0, 0, 0, 0.7)",headerBackgroundColor:"#9370db",headerTextColor:"#ffffff",sectionBackgroundColor:"rgba(147, 112, 219, 0.15)",sectionTitleColor:"#9370db",buttonSelectedColor:"#9370db",buttonUnselectedColor:"rgba(255, 255, 255, 0.2)",buttonSelectedTextColor:"#ffffff",buttonUnselectedTextColor:"rgba(255, 255, 255, 0.7)",switchTrackColorFalse:"rgba(147, 112, 219, 0.3)",switchTrackColorTrue:"#9370db",switchThumbColor:"#ffffff",infoTextColor:"rgba(255, 255, 255, 0.9)"};export const SPACE_FIGHTER_DIFFICULTY_DESCRIPTIONS={easy:"Slow asteroids, relaxed gameplay",medium:"Normal asteroid speed, balanced challenge",hard:"Fast asteroids, quick reflexes needed!"};
@@ -1 +1 @@
1
- {"version":3,"names":["SPACE_FIGHTER_DIFFICULTY_CONFIG","easy","gameDuration","asteroidSpawnInterval","asteroidSpeed","medium","hard","getDifficultySettings","difficulty","DEFAULT_SPACE_FIGHTER_SETTINGS","soundEnabled","hapticEnabled","SPACE_FIGHTER_GAME_CONFIG","GAME_DURATION","SPACECRAFT_SIZE","SPACECRAFT_SPEED","ASTEROID_WIDTH","ASTEROID_GAP","ASTEROID_SPAWN_INTERVAL","ASTEROID_SPEED","GRAVITY","BOUNCE_DAMPING","FRICTION","MAX_VELOCITY","COLLISION_TOLERANCE","COLLISION_COOLDOWN","SPACE_FIGHTER_COLORS","BACKGROUND","SPACECRAFT","ASTEROID","ASTEROID_SHADOW","SCORE","UI","STARS","SPACE_FIGHTER_THEME","backgroundColor","headerBackgroundColor","headerTextColor","sectionBackgroundColor","sectionTitleColor","buttonSelectedColor","buttonUnselectedColor","buttonSelectedTextColor","buttonUnselectedTextColor","switchTrackColorFalse","switchTrackColorTrue","switchThumbColor","infoTextColor","SPACE_FIGHTER_DIFFICULTY_DESCRIPTIONS"],"sourceRoot":"../../../../src","sources":["games/space-fighter/SpaceFighterConstants.ts"],"mappings":";;AAEA;;AAUA;AACA,OAAO,MAAMA,+BAA+B,GAAG;EAC7CC,IAAI,EAAE;IACJC,YAAY,EAAE,EAAE;IAChBC,qBAAqB,EAAE,IAAI;IAAE;IAC7BC,aAAa,EAAE,GAAG,CAAE;EACtB,CAAC;EACDC,MAAM,EAAE;IACNH,YAAY,EAAE,EAAE;IAChBC,qBAAqB,EAAE,IAAI;IAAE;IAC7BC,aAAa,EAAE,CAAC,CAAE;EACpB,CAAC;EACDE,IAAI,EAAE;IACJJ,YAAY,EAAE,EAAE;IAChBC,qBAAqB,EAAE,IAAI;IAAE;IAC7BC,aAAa,EAAE,CAAC,CAAE;EACpB;AACF,CAAU;;AAEV;AACA,OAAO,MAAMG,qBAAqB,GAAIC,UAAsC,IAAK;EAC/E,OAAOR,+BAA+B,CAACQ,UAAU,CAAC;AACpD,CAAC;;AAED;AACA,OAAO,MAAMC,8BAAoD,GAAG;EAClED,UAAU,EAAE,QAAQ;EACpBE,YAAY,EAAE,IAAI;EAClBC,aAAa,EAAE,IAAI;EACnBT,YAAY,EAAEF,+BAA+B,CAACK,MAAM,CAACH,YAAY;EACjEC,qBAAqB,EAAEH,+BAA+B,CAACK,MAAM,CAACF,qBAAqB;EACnFC,aAAa,EAAEJ,+BAA+B,CAACK,MAAM,CAACD;AACxD,CAAC;;AAED;AACA,OAAO,MAAMQ,yBAAyB,GAAG;EACvCC,aAAa,EAAE,GAAG;EAAE;EACpBC,eAAe,EAAE,EAAE;EAAE;EACrBC,gBAAgB,EAAE,CAAC;EACnBC,cAAc,EAAE,EAAE;EAClBC,YAAY,EAAE,GAAG;EAAE;EACnBC,uBAAuB,EAAE,IAAI;EAAE;EAC/BC,cAAc,EAAE,CAAC;EACjBC,OAAO,EAAE,GAAG;EACZC,cAAc,EAAE,GAAG;EACnBC,QAAQ,EAAE,IAAI;EACdC,YAAY,EAAE,CAAC;EACfC,mBAAmB,EAAE,CAAC;EACtBC,kBAAkB,EAAE,IAAI,CAAC;AAC3B,CAAU;AAEV,OAAO,MAAMC,oBAAoB,GAAG;EAClCC,UAAU,EAAE,SAAS;EAAE;EACvBC,UAAU,EAAE,SAAS;EAAE;EACvBC,QAAQ,EAAE,SAAS;EAAE;EACrBC,eAAe,EAAE,SAAS;EAAE;EAC5BC,KAAK,EAAE,SAAS;EAAE;EAClBC,EAAE,EAAE,SAAS;EAAE;EACfC,KAAK,EAAE,SAAS,CAAC;AACnB,CAAU;;AAEV;AACA,OAAO,MAAMC,mBAAsC,GAAG;EACpDC,eAAe,EAAE,oBAAoB;EAAE;EACvCC,qBAAqB,EAAE,SAAS;EAAE;EAClCC,eAAe,EAAE,SAAS;EAC1BC,sBAAsB,EAAE,2BAA2B;EAAE;EACrDC,iBAAiB,EAAE,SAAS;EAAE;EAC9BC,mBAAmB,EAAE,SAAS;EAAE;EAChCC,qBAAqB,EAAE,0BAA0B;EACjDC,uBAAuB,EAAE,SAAS;EAClCC,yBAAyB,EAAE,0BAA0B;EAAE;EACvDC,qBAAqB,EAAE,0BAA0B;EACjDC,oBAAoB,EAAE,SAAS;EAAE;EACjCC,gBAAgB,EAAE,SAAS;EAC3BC,aAAa,EAAE,0BAA0B,CAAE;AAC7C,CAAC;;AAED;AACA,OAAO,MAAMC,qCAAqC,GAAG;EACnD/C,IAAI,EAAE,kCAAkC;EACxCI,MAAM,EAAE,2CAA2C;EACnDC,IAAI,EAAE;AACR,CAAU","ignoreList":[]}
1
+ {"version":3,"names":["SPACE_FIGHTER_DIFFICULTY_CONFIG","easy","gameDuration","asteroidSpawnInterval","asteroidSpeed","medium","hard","getDifficultySettings","difficulty","DEFAULT_SPACE_FIGHTER_SETTINGS","soundEnabled","hapticEnabled","SPACE_FIGHTER_GAME_CONFIG","GAME_DURATION","SPACECRAFT_SIZE","SPACECRAFT_SPEED","ASTEROID_WIDTH","ASTEROID_GAP","ASTEROID_SPAWN_INTERVAL","ASTEROID_SPEED","GRAVITY","BOUNCE_DAMPING","FRICTION","MAX_VELOCITY","COLLISION_TOLERANCE","COLLISION_COOLDOWN","SPACE_FIGHTER_COLORS","BACKGROUND","SPACECRAFT","ASTEROID","ASTEROID_SHADOW","SCORE","UI","STARS","SPACE_FIGHTER_THEME","backgroundColor","headerBackgroundColor","headerTextColor","sectionBackgroundColor","sectionTitleColor","buttonSelectedColor","buttonUnselectedColor","buttonSelectedTextColor","buttonUnselectedTextColor","switchTrackColorFalse","switchTrackColorTrue","switchThumbColor","infoTextColor","SPACE_FIGHTER_DIFFICULTY_DESCRIPTIONS"],"sourceRoot":"../../../../src","sources":["games/space-fighter/SpaceFighterConstants.ts"],"mappings":";;AAEA;;AAUA;AACA,OAAO,MAAMA,+BAA+B,GAAG;EAC7CC,IAAI,EAAE;IACJC,YAAY,EAAE,EAAE;IAAE;IAClBC,qBAAqB,EAAE,IAAI;IAAE;IAC7BC,aAAa,EAAE,GAAG,CAAE;EACtB,CAAC;EACDC,MAAM,EAAE;IACNH,YAAY,EAAE,GAAG;IAAE;IACnBC,qBAAqB,EAAE,IAAI;IAAE;IAC7BC,aAAa,EAAE,CAAC,CAAE;EACpB,CAAC;EACDE,IAAI,EAAE;IACJJ,YAAY,EAAE,GAAG;IAAE;IACnBC,qBAAqB,EAAE,IAAI;IAAE;IAC7BC,aAAa,EAAE,CAAC,CAAE;EACpB;AACF,CAAU;;AAEV;AACA,OAAO,MAAMG,qBAAqB,GAAIC,UAAsC,IAAK;EAC/E,OAAOR,+BAA+B,CAACQ,UAAU,CAAC;AACpD,CAAC;;AAED;AACA,OAAO,MAAMC,8BAAoD,GAAG;EAClED,UAAU,EAAE,QAAQ;EACpBE,YAAY,EAAE,IAAI;EAClBC,aAAa,EAAE,IAAI;EACnBT,YAAY,EAAEF,+BAA+B,CAACK,MAAM,CAACH,YAAY;EACjEC,qBAAqB,EAAEH,+BAA+B,CAACK,MAAM,CAACF,qBAAqB;EACnFC,aAAa,EAAEJ,+BAA+B,CAACK,MAAM,CAACD;AACxD,CAAC;;AAED;AACA,OAAO,MAAMQ,yBAAyB,GAAG;EACvCC,aAAa,EAAE,GAAG;EAAE;EACpBC,eAAe,EAAE,EAAE;EAAE;EACrBC,gBAAgB,EAAE,CAAC;EACnBC,cAAc,EAAE,EAAE;EAClBC,YAAY,EAAE,GAAG;EAAE;EACnBC,uBAAuB,EAAE,IAAI;EAAE;EAC/BC,cAAc,EAAE,CAAC;EACjBC,OAAO,EAAE,GAAG;EACZC,cAAc,EAAE,GAAG;EACnBC,QAAQ,EAAE,IAAI;EACdC,YAAY,EAAE,CAAC;EACfC,mBAAmB,EAAE,CAAC;EACtBC,kBAAkB,EAAE,IAAI,CAAC;AAC3B,CAAU;AAEV,OAAO,MAAMC,oBAAoB,GAAG;EAClCC,UAAU,EAAE,SAAS;EAAE;EACvBC,UAAU,EAAE,SAAS;EAAE;EACvBC,QAAQ,EAAE,SAAS;EAAE;EACrBC,eAAe,EAAE,SAAS;EAAE;EAC5BC,KAAK,EAAE,SAAS;EAAE;EAClBC,EAAE,EAAE,SAAS;EAAE;EACfC,KAAK,EAAE,SAAS,CAAC;AACnB,CAAU;;AAEV;AACA,OAAO,MAAMC,mBAAsC,GAAG;EACpDC,eAAe,EAAE,oBAAoB;EAAE;EACvCC,qBAAqB,EAAE,SAAS;EAAE;EAClCC,eAAe,EAAE,SAAS;EAC1BC,sBAAsB,EAAE,2BAA2B;EAAE;EACrDC,iBAAiB,EAAE,SAAS;EAAE;EAC9BC,mBAAmB,EAAE,SAAS;EAAE;EAChCC,qBAAqB,EAAE,0BAA0B;EACjDC,uBAAuB,EAAE,SAAS;EAClCC,yBAAyB,EAAE,0BAA0B;EAAE;EACvDC,qBAAqB,EAAE,0BAA0B;EACjDC,oBAAoB,EAAE,SAAS;EAAE;EACjCC,gBAAgB,EAAE,SAAS;EAC3BC,aAAa,EAAE,0BAA0B,CAAE;AAC7C,CAAC;;AAED;AACA,OAAO,MAAMC,qCAAqC,GAAG;EACnD/C,IAAI,EAAE,kCAAkC;EACxCI,MAAM,EAAE,2CAA2C;EACnDC,IAAI,EAAE;AACR,CAAU","ignoreList":[]}
@@ -1 +1 @@
1
- "use strict";import{SPACE_FIGHTER_GAME_CONFIG as GAME_CONFIG,SPACE_FIGHTER_COLORS as COLORS}from "./SpaceFighterConstants.js";export{GAME_CONFIG,COLORS};class SpaceFighterGameService{gameTimer = null;asteroidSpawnTimer = null;physicsTimer = null;particles = [];lastCollisionTime = 0;currentAsteroidSpeed = GAME_CONFIG.ASTEROID_SPEED;currentSpawnInterval = GAME_CONFIG.ASTEROID_SPAWN_INTERVAL;constructor(screenWidth,screenHeight){this.width = screenWidth;this.height = screenHeight;}startGame(){this.cleanup();}cleanup(){if(this.gameTimer){clearInterval(this.gameTimer);this.gameTimer = null;}if(this.asteroidSpawnTimer){clearInterval(this.asteroidSpawnTimer);this.asteroidSpawnTimer = null;}if(this.physicsTimer){clearInterval(this.physicsTimer);this.physicsTimer = null;}this.particles = [];this.lastCollisionTime = 0;}startGameTimer(decrementTime){this.gameTimer = setInterval(decrementTime,1000);}updateDifficultySettings(asteroidSpeed,spawnInterval){this.currentAsteroidSpeed = asteroidSpeed;this.currentSpawnInterval = spawnInterval;}startAsteroidSpawning(spawnAsteroid){const initialAsteroids = this.generateAsteroidPair();spawnAsteroid(initialAsteroids);this.asteroidSpawnTimer = setInterval(()=>{const asteroids = this.generateAsteroidPair();spawnAsteroid(asteroids);},this.currentSpawnInterval);}startPhysicsLoop(updateSpacecraft,updateAsteroid,removeAsteroid,getSpacecraft,getAsteroids){this.physicsTimer = setInterval(()=>{this.updatePhysics(updateSpacecraft,updateAsteroid,removeAsteroid,getSpacecraft,getAsteroids);},16);}generateAsteroidPair(){const pairId = `asteroid_pair_${Date.now()}_${Math.random()}`;const minGapX = this.width * 0.1;const maxGapX = this.width * 0.9 - GAME_CONFIG.ASTEROID_GAP;const gapX = Math.random()*(maxGapX - minGapX)+ minGapX;const leftAsteroid ={id:`${pairId}_left`,x:0,y:-250,width:gapX,height:GAME_CONFIG.ASTEROID_WIDTH,type:'left',pairId,passed:false,spawnTime:Date.now()};const rightAsteroid ={id:`${pairId}_right`,x:gapX + GAME_CONFIG.ASTEROID_GAP,y:-250,width:this.width -(gapX + GAME_CONFIG.ASTEROID_GAP),height:GAME_CONFIG.ASTEROID_WIDTH,type:'right',pairId,passed:false,spawnTime:Date.now()};return [leftAsteroid,rightAsteroid];}updatePhysics(updateSpacecraft,updateAsteroid,removeAsteroid,getSpacecraft,getAsteroids){const spacecraft = getSpacecraft();const asteroids = getAsteroids();let newSpacecraft ={...spacecraft};newSpacecraft.y = spacecraft.y;newSpacecraft.velocityY = 0;if(!newSpacecraft.isControlled){newSpacecraft.velocityX = 0;}if(newSpacecraft.x <= newSpacecraft.size / 2){newSpacecraft.x = newSpacecraft.size / 2;newSpacecraft.velocityX = 0;}if(newSpacecraft.x >= this.width - newSpacecraft.size / 2){newSpacecraft.x = this.width - newSpacecraft.size / 2;newSpacecraft.velocityX = 0;}updateSpacecraft(newSpacecraft);for(let i = 0;i < asteroids.length;i++){const asteroid = asteroids[i];if(!asteroid)continue;const newY = asteroid.y + this.currentAsteroidSpeed;if(newY > this.height){removeAsteroid(asteroid.id);}else{updateAsteroid(asteroid.id,{y:newY});}}this.updateParticles();}controlSpacecraft(spacecraft,targetX,_targetY){const minX = spacecraft.size / 2;const maxX = this.width - spacecraft.size / 2;const constrainedX = Math.max(minX,Math.min(maxX,targetX));return{...spacecraft,x:constrainedX,y:spacecraft.y,velocityX:0,velocityY:0,isControlled:true};}releaseSpacecraft(spacecraft){return{...spacecraft,isControlled:false};}checkCollision(spacecraft,asteroids){const currentTime = Date.now();if(currentTime - this.lastCollisionTime < GAME_CONFIG.COLLISION_COOLDOWN){return{collision:false};}for(const asteroid of asteroids){if(this.spacecraftAsteroidCollision(spacecraft,asteroid)){this.lastCollisionTime = currentTime;return{collision:true,asteroidId:asteroid.id};}}return{collision:false};}spacecraftAsteroidCollision(spacecraft,asteroid){const spacecraftLeft = spacecraft.x - spacecraft.size / 2;const spacecraftRight = spacecraft.x + spacecraft.size / 2;const spacecraftTop = spacecraft.y - spacecraft.size / 2;const spacecraftBottom = spacecraft.y + spacecraft.size / 2;const asteroidLeft = asteroid.x;const asteroidRight = asteroid.x + asteroid.width;const asteroidTop = asteroid.y;const asteroidBottom = asteroid.y + asteroid.height;return spacecraftRight > asteroidLeft && spacecraftLeft < asteroidRight && spacecraftBottom > asteroidTop && spacecraftTop < asteroidBottom;}checkAsteroidPass(spacecraft,asteroids){const passedAsteroids = [];for(let i = 0;i < asteroids.length;i++){const asteroid = asteroids[i];if(!asteroid)continue;if(!asteroid.passed && spacecraft.y > asteroid.y + asteroid.height){passedAsteroids.push(asteroid.pairId);}}return passedAsteroids;}createCollisionParticles(x,y){for(let i = 0;i < 15;i++){const particle ={id:`particle_${Date.now()}_${i}`,x,y,velocityX:(Math.random()- 0.5)* 15,velocityY:(Math.random()- 0.5)* 15,color:i < 5 ? '#ff6600':i < 10 ? COLORS.SPACECRAFT:'#ffff00',life:1200,maxLife:1200,size:8 + Math.random()* 12};this.particles.push(particle);}for(let i = 0;i < 5;i++){const bigParticle ={id:`big_particle_${Date.now()}_${i}`,x:x +(Math.random()- 0.5)* 20,y:y +(Math.random()- 0.5)* 20,velocityX:(Math.random()- 0.5)* 8,velocityY:(Math.random()- 0.5)* 8,color:'#ff0000',life:1500,maxLife:1500,size:15 + Math.random()* 10};this.particles.push(bigParticle);}}updateParticles(){const activeParticles = [];for(let i = 0;i < this.particles.length;i++){const particle = this.particles[i];if(!particle)continue;particle.x += particle.velocityX;particle.y += particle.velocityY;particle.velocityY += 0.2;particle.life -= 16;if(particle.life > 0){activeParticles.push(particle);}}this.particles = activeParticles;}getParticles(){return this.particles;}isInCollisionImmunity(){const currentTime = Date.now();return currentTime - this.lastCollisionTime < GAME_CONFIG.COLLISION_COOLDOWN;}getRemainingImmunityTime(){const currentTime = Date.now();const elapsed = currentTime - this.lastCollisionTime;return Math.max(0,GAME_CONFIG.COLLISION_COOLDOWN - elapsed);}getInitialSpacecraft(){return{x:this.width / 2,y:this.height * 0.77,velocityX:0,velocityY:0,size:GAME_CONFIG.SPACECRAFT_SIZE,isControlled:false};}}export const createSpaceFighterService =(width,height)=>{return new SpaceFighterGameService(width,height);};
1
+ "use strict";import{SPACE_FIGHTER_GAME_CONFIG as t,SPACE_FIGHTER_COLORS as i}from"./SpaceFighterConstants.js";export{t as GAME_CONFIG,i as COLORS};class e{gameTimer=null;asteroidSpawnTimer=null;physicsTimer=null;particles=[];lastCollisionTime=0;currentAsteroidSpeed=t.ASTEROID_SPEED;currentSpawnInterval=t.ASTEROID_SPAWN_INTERVAL;constructor(t,i){this.width=t,this.height=i}startGame(){this.cleanup()}cleanup(){this.gameTimer&&(clearInterval(this.gameTimer),this.gameTimer=null),this.asteroidSpawnTimer&&(clearInterval(this.asteroidSpawnTimer),this.asteroidSpawnTimer=null),this.physicsTimer&&(clearInterval(this.physicsTimer),this.physicsTimer=null),this.particles=[],this.lastCollisionTime=0}startGameTimer(t){this.gameTimer=setInterval(t,1e3)}updateDifficultySettings(t,i){this.currentAsteroidSpeed=t,this.currentSpawnInterval=i}startAsteroidSpawning(t){const i=this.generateAsteroidPair();t(i),this.asteroidSpawnTimer=setInterval(()=>{const i=this.generateAsteroidPair();t(i)},this.currentSpawnInterval)}startPhysicsLoop(t,i,e,s,r){this.physicsTimer=setInterval(()=>{this.updatePhysics(t,i,e,s,r)},16)}generateAsteroidPair(){const i=`asteroid_pair_${Date.now()}_${Math.random()}`,e=.1*this.width,s=.9*this.width-t.ASTEROID_GAP,r=Math.random()*(s-e)+e;return[{id:i+"_left",x:0,y:-250,width:r,height:t.ASTEROID_WIDTH,type:"left",pairId:i,passed:!1,spawnTime:Date.now()},{id:i+"_right",x:r+t.ASTEROID_GAP,y:-250,width:this.width-(r+t.ASTEROID_GAP),height:t.ASTEROID_WIDTH,type:"right",pairId:i,passed:!1,spawnTime:Date.now()}]}updatePhysics(t,i,e,s,r){const a=s(),o=r();let n={...a};n.y=a.y,n.velocityY=0,n.isControlled||(n.velocityX=0),n.x>n.size/2||(n.x=n.size/2,n.velocityX=0),n.x<this.width-n.size/2||(n.x=this.width-n.size/2,n.velocityX=0),t(n);for(let t=0;t<o.length;t++){const s=o[t];if(!s)continue;const r=s.y+this.currentAsteroidSpeed;r>this.height?e(s.id):i(s.id,{y:r})}this.updateParticles()}controlSpacecraft(t,i,e){const s=t.size/2,r=this.width-t.size/2,a=Math.max(s,Math.min(r,i));return{...t,x:a,y:t.y,velocityX:0,velocityY:0,isControlled:!0}}releaseSpacecraft(t){return{...t,isControlled:!1}}checkCollision(i,e){const s=Date.now();if(s-this.lastCollisionTime<t.COLLISION_COOLDOWN)return{collision:!1};for(const t of e)if(this.spacecraftAsteroidCollision(i,t))return this.lastCollisionTime=s,{collision:!0,asteroidId:t.id};return{collision:!1}}spacecraftAsteroidCollision(t,i){const e=t.x-t.size/2,s=t.x+t.size/2,r=t.y-t.size/2,a=t.y+t.size/2,o=i.x,n=i.x+i.width,l=i.y,h=i.y+i.height;return s>o&&n>e&&a>l&&h>r}checkAsteroidPass(t,i){const e=[];for(let s=0;s<i.length;s++){const r=i[s];r&&!r.passed&&t.y>r.y+r.height&&e.push(r.pairId)}return e}createCollisionParticles(t,e){for(let s=0;15>s;s++){const r={id:`particle_${Date.now()}_${s}`,x:t,y:e,velocityX:15*(Math.random()-.5),velocityY:15*(Math.random()-.5),color:5>s?"#ff6600":10>s?i.SPACECRAFT:"#ffff00",life:1200,maxLife:1200,size:8+12*Math.random()};this.particles.push(r)}for(let i=0;5>i;i++){const s={id:`big_particle_${Date.now()}_${i}`,x:t+20*(Math.random()-.5),y:e+20*(Math.random()-.5),velocityX:8*(Math.random()-.5),velocityY:8*(Math.random()-.5),color:"#ff0000",life:1500,maxLife:1500,size:15+10*Math.random()};this.particles.push(s)}}updateParticles(){const t=[];for(let i=0;i<this.particles.length;i++){const e=this.particles[i];e&&(e.x+=e.velocityX,e.y+=e.velocityY,e.velocityY+=.2,e.life-=16,e.life>0&&t.push(e))}this.particles=t}getParticles(){return this.particles}isInCollisionImmunity(){return Date.now()-this.lastCollisionTime<t.COLLISION_COOLDOWN}getRemainingImmunityTime(){const i=Date.now()-this.lastCollisionTime;return Math.max(0,t.COLLISION_COOLDOWN-i)}getInitialSpacecraft(){return{x:this.width/2,y:.77*this.height,velocityX:0,velocityY:0,size:t.SPACECRAFT_SIZE,isControlled:!1}}}export const createSpaceFighterService=(t,i)=>new e(t,i);
@@ -1 +1 @@
1
- "use strict";import{create}from 'zustand';import{subscribeWithSelector}from 'zustand/middleware';import{Dimensions}from 'react-native';import{GAME_CONFIG}from "./SpaceFighterService.js";import{immerMiddleware}from "../../services/UtilsService.js";const{width,height}= Dimensions.get('window');const getSpacecraftYPosition =(offset = 0)=>{const yPercent = offset > 0 ? 0.77:0.68;return height * yPercent;};export const useSpaceFighterStore = create()(subscribeWithSelector(immerMiddleware((set,_get)=>({score:0,timeLeft:60,isPlaying:false,gameOver:false,lives:3,asteroids:[],spacecraft:{x:width / 2,y:getSpacecraftYPosition(0),velocityX:0,velocityY:0,size:GAME_CONFIG.SPACECRAFT_SIZE,isControlled:false},spacecraftPath:[],isControllingSpacecraft:false,offset:0,setOffset:offset =>{set(draft =>{draft.offset = offset;draft.spacecraft.y = getSpacecraftYPosition(offset);});},startGame:_gameDuration =>{const duration = 60;set(draft =>{draft.score = 0;draft.timeLeft = duration;draft.isPlaying = true;draft.gameOver = false;draft.lives = 3;draft.asteroids = [];draft.spacecraftPath = [];draft.isControllingSpacecraft = false;draft.spacecraft ={x:width / 2,y:getSpacecraftYPosition(draft.offset),velocityX:0,velocityY:0,size:GAME_CONFIG.SPACECRAFT_SIZE,isControlled:false};});},stopGame:()=>{set(draft =>{draft.score = 0;draft.timeLeft = 60;draft.isPlaying = false;draft.gameOver = false;draft.lives = 3;draft.asteroids = [];draft.spacecraftPath = [];draft.isControllingSpacecraft = false;draft.spacecraft ={x:width / 2,y:getSpacecraftYPosition(draft.offset),velocityX:0,velocityY:0,size:GAME_CONFIG.SPACECRAFT_SIZE,isControlled:false};});},resetGame:()=>{set(draft =>{draft.score = 0;draft.timeLeft = 60;draft.isPlaying = false;draft.gameOver = false;draft.lives = 3;draft.asteroids = [];draft.spacecraftPath = [];draft.isControllingSpacecraft = false;draft.spacecraft ={x:width / 2,y:getSpacecraftYPosition(draft.offset),velocityX:0,velocityY:0,size:GAME_CONFIG.SPACECRAFT_SIZE,isControlled:false};});},updateScore:points =>{set(draft =>{draft.score = draft.score + points;});},decrementTime:()=>{set(draft =>{const newTimeLeft = draft.timeLeft - 1;if(newTimeLeft <= 0){draft.timeLeft = 0;draft.isPlaying = false;draft.gameOver = true;}else{draft.timeLeft = newTimeLeft;}});},addAsteroids:asteroids =>{set(draft =>{draft.asteroids.push(...asteroids);});},removeAsteroid:asteroidId =>{set(draft =>{draft.asteroids = draft.asteroids.filter(a => a.id !== asteroidId);});},updateAsteroid:(asteroidId,updates)=>{set(draft =>{for(let i = 0;i < draft.asteroids.length;i++){if(draft.asteroids[i].id === asteroidId){Object.assign(draft.asteroids[i],updates);break;}}});},updateSpacecraft:spacecraft =>{set(draft =>{draft.spacecraft = spacecraft;});},setSpacecraftPath:path =>{set(draft =>{draft.spacecraftPath = path;});},setIsControllingSpacecraft:isControlling =>{set(draft =>{draft.isControllingSpacecraft = isControlling;});},markAsteroidPassed:pairId =>{set(draft =>{for(let i = 0;i < draft.asteroids.length;i++){if(draft.asteroids[i].pairId === pairId){draft.asteroids[i].passed = true;}}draft.score = draft.score + 10;});},loseLife:()=>{set(draft =>{const newLives = draft.lives - 1;draft.spacecraft ={x:width / 2,y:getSpacecraftYPosition(draft.offset),velocityX:0,velocityY:0,size:GAME_CONFIG.SPACECRAFT_SIZE,isControlled:false};if(newLives <= 0){draft.lives = 0;draft.isPlaying = false;draft.gameOver = true;}else{draft.lives = newLives;}});}}))));
1
+ "use strict";import{create as e}from"zustand";import{subscribeWithSelector as t}from"zustand/middleware";import{Dimensions as o}from"react-native";import{GAME_CONFIG as i}from"./SpaceFighterService.js";import{immerMiddleware as s}from"../../services/UtilsService.js";const{width:r,height:c}=o.get("window"),a=(e=0)=>c*(e>0?.77:.68);export const useSpaceFighterStore=e()(t(s((e,t)=>({score:0,timeLeft:120,isPlaying:!1,gameOver:!1,lives:3,asteroids:[],spacecraft:{x:r/2,y:a(0),velocityX:0,velocityY:0,size:i.SPACECRAFT_SIZE,isControlled:!1},spacecraftPath:[],isControllingSpacecraft:!1,offset:0,setOffset:t=>{e(e=>{e.offset=t,e.spacecraft.y=a(t)})},startGame:t=>{const o=t||120;e(e=>{e.score=0,e.timeLeft=o,e.isPlaying=!0,e.gameOver=!1,e.lives=3,e.asteroids=[],e.spacecraftPath=[],e.isControllingSpacecraft=!1,e.spacecraft={x:r/2,y:a(e.offset),velocityX:0,velocityY:0,size:i.SPACECRAFT_SIZE,isControlled:!1}})},stopGame:()=>{e(e=>{e.score=0,e.timeLeft=120,e.isPlaying=!1,e.gameOver=!1,e.lives=3,e.asteroids=[],e.spacecraftPath=[],e.isControllingSpacecraft=!1,e.spacecraft={x:r/2,y:a(e.offset),velocityX:0,velocityY:0,size:i.SPACECRAFT_SIZE,isControlled:!1}})},resetGame:()=>{e(e=>{e.score=0,e.timeLeft=120,e.isPlaying=!1,e.gameOver=!1,e.lives=3,e.asteroids=[],e.spacecraftPath=[],e.isControllingSpacecraft=!1,e.spacecraft={x:r/2,y:a(e.offset),velocityX:0,velocityY:0,size:i.SPACECRAFT_SIZE,isControlled:!1}})},updateScore:t=>{e(e=>{e.score=e.score+t})},decrementTime:()=>{e(e=>{const t=e.timeLeft-1;t>0?e.timeLeft=t:(e.timeLeft=0,e.isPlaying=!1,e.gameOver=!0)})},addAsteroids:t=>{e(e=>{e.asteroids.push(...t)})},removeAsteroid:t=>{e(e=>{e.asteroids=e.asteroids.filter(e=>e.id!==t)})},updateAsteroid:(t,o)=>{e(e=>{for(let i=0;i<e.asteroids.length;i++)if(e.asteroids[i].id===t){Object.assign(e.asteroids[i],o);break}})},updateSpacecraft:t=>{e(e=>{e.spacecraft=t})},setSpacecraftPath:t=>{e(e=>{e.spacecraftPath=t})},setIsControllingSpacecraft:t=>{e(e=>{e.isControllingSpacecraft=t})},markAsteroidPassed:t=>{e(e=>{for(let o=0;o<e.asteroids.length;o++)e.asteroids[o].pairId===t&&(e.asteroids[o].passed=!0);e.score=e.score+100})},loseLife:()=>{e(e=>{const t=e.lives-1;e.spacecraft={x:r/2,y:a(e.offset),velocityX:0,velocityY:0,size:i.SPACECRAFT_SIZE,isControlled:!1},t>0?e.lives=t:(e.lives=0,e.isPlaying=!1,e.gameOver=!0)})}}))));
@@ -1 +1 @@
1
- {"version":3,"names":["create","subscribeWithSelector","Dimensions","GAME_CONFIG","immerMiddleware","width","height","get","getSpacecraftYPosition","offset","yPercent","useSpaceFighterStore","set","_get","score","timeLeft","isPlaying","gameOver","lives","asteroids","spacecraft","x","y","velocityX","velocityY","size","SPACECRAFT_SIZE","isControlled","spacecraftPath","isControllingSpacecraft","setOffset","draft","startGame","_gameDuration","duration","stopGame","resetGame","updateScore","points","decrementTime","newTimeLeft","addAsteroids","push","removeAsteroid","asteroidId","filter","a","id","updateAsteroid","updates","i","length","Object","assign","updateSpacecraft","setSpacecraftPath","path","setIsControllingSpacecraft","isControlling","markAsteroidPassed","pairId","passed","loseLife","newLives"],"sourceRoot":"../../../../src","sources":["games/space-fighter/SpaceFighterStore.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["create","subscribeWithSelector","Dimensions","GAME_CONFIG","immerMiddleware","width","height","get","getSpacecraftYPosition","offset","yPercent","useSpaceFighterStore","set","_get","score","timeLeft","isPlaying","gameOver","lives","asteroids","spacecraft","x","y","velocityX","velocityY","size","SPACECRAFT_SIZE","isControlled","spacecraftPath","isControllingSpacecraft","setOffset","draft","startGame","gameDuration","duration","stopGame","resetGame","updateScore","points","decrementTime","newTimeLeft","addAsteroids","push","removeAsteroid","asteroidId","filter","a","id","updateAsteroid","updates","i","length","Object","assign","updateSpacecraft","setSpacecraftPath","path","setIsControllingSpacecraft","isControlling","markAsteroidPassed","pairId","passed","loseLife","newLives"],"sourceRoot":"../../../../src","sources":["games/space-fighter/SpaceFighterStore.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- "use strict";import React from 'react';import{View}from 'react-native';import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";export const AsteroidComponent = React.memo(({asteroid})=>{return _jsxs(View,{style:{position:'absolute',left:asteroid.x,top:asteroid.y,width:asteroid.width,height:asteroid.height,backgroundColor:'#6B4423',borderRadius:15,shadowColor:'#2F1B14',shadowOffset:{width:3,height:4},shadowOpacity:0.7,shadowRadius:10,borderWidth:1,borderColor:'rgba(139,69,19,0.8)'},children:[_jsx(View,{style:{position:'absolute',left:2,top:2,width:asteroid.width - 4,height:Math.max(0,asteroid.height - 4),backgroundColor:'rgba(160,82,45,0.4)',borderRadius:12}}),_jsx(View,{style:{position:'absolute',left:asteroid.width * 0.25,top:asteroid.height * 0.3,width:12,height:8,backgroundColor:'rgba(47,27,20,0.8)',borderRadius:6}}),_jsx(View,{style:{position:'absolute',left:asteroid.width * 0.65,top:asteroid.height * 0.6,width:8,height:6,backgroundColor:'rgba(47,27,20,0.9)',borderRadius:4}}),_jsx(View,{style:{position:'absolute',left:asteroid.width * 0.15,top:asteroid.height * 0.7,width:5,height:4,backgroundColor:'rgba(47,27,20,0.7)',borderRadius:2}}),_jsx(View,{style:{position:'absolute',left:asteroid.width * 0.45,top:asteroid.height * 0.2,width:4,height:4,backgroundColor:'rgba(101,67,33,0.8)',borderRadius:2}}),_jsx(View,{style:{position:'absolute',left:asteroid.width * 0.8,top:asteroid.height * 0.4,width:3,height:3,backgroundColor:'rgba(139,69,19,0.9)',borderRadius:1.5}}),_jsx(View,{style:{position:'absolute',left:asteroid.width * 0.1,top:asteroid.height * 0.1,width:asteroid.width * 0.3,height:asteroid.height * 0.2,backgroundColor:'rgba(205,133,63,0.3)',borderRadius:8}})]});},(prevProps,nextProps)=>{const prev = prevProps.asteroid;const next = nextProps.asteroid;return prev.id === next.id && prev.x === next.x && prev.y === next.y && prev.width === next.width && prev.height === next.height;});
1
+ "use strict";import o from"react";import{View as t}from"react-native";import{jsx as r,jsxs as e}from"react/jsx-runtime";export const AsteroidComponent=o.memo(({asteroid:o})=>e(t,{style:{position:"absolute",left:o.x,top:o.y,width:o.width,height:o.height,backgroundColor:"#6B4423",borderRadius:15,shadowColor:"#2F1B14",shadowOffset:{width:3,height:4},shadowOpacity:.7,shadowRadius:10,borderWidth:1,borderColor:"rgba(139, 69, 19, 0.8)"},children:[r(t,{style:{position:"absolute",left:2,top:2,width:o.width-4,height:Math.max(0,o.height-4),backgroundColor:"rgba(160, 82, 45, 0.4)",borderRadius:12}}),r(t,{style:{position:"absolute",left:.25*o.width,top:.3*o.height,width:12,height:8,backgroundColor:"rgba(47, 27, 20, 0.8)",borderRadius:6}}),r(t,{style:{position:"absolute",left:.65*o.width,top:.6*o.height,width:8,height:6,backgroundColor:"rgba(47, 27, 20, 0.9)",borderRadius:4}}),r(t,{style:{position:"absolute",left:.15*o.width,top:.7*o.height,width:5,height:4,backgroundColor:"rgba(47, 27, 20, 0.7)",borderRadius:2}}),r(t,{style:{position:"absolute",left:.45*o.width,top:.2*o.height,width:4,height:4,backgroundColor:"rgba(101, 67, 33, 0.8)",borderRadius:2}}),r(t,{style:{position:"absolute",left:.8*o.width,top:.4*o.height,width:3,height:3,backgroundColor:"rgba(139, 69, 19, 0.9)",borderRadius:1.5}}),r(t,{style:{position:"absolute",left:.1*o.width,top:.1*o.height,width:.3*o.width,height:.2*o.height,backgroundColor:"rgba(205, 133, 63, 0.3)",borderRadius:8}})]}),(o,t)=>{const r=o.asteroid,e=t.asteroid;return r.id===e.id&&r.x===e.x&&r.y===e.y&&r.width===e.width&&r.height===e.height});
@@ -1 +1 @@
1
- "use strict";import React,{useRef,useEffect,useCallback,useState,useMemo}from 'react';import{View,Text,StyleSheet,Dimensions}from 'react-native';import{Gesture,GestureDetector}from 'react-native-gesture-handler';import{useSpaceFighterStore}from "../SpaceFighterStore.js";import{createSpaceFighterService}from "../SpaceFighterService.js";import{playSound,GAME_SOUNDS}from "../../../services/SoundsService.js";import{playHaptic,HapticType}from "../../../services/HapticsService.js";import{ParticleBlast}from "../../../helpers/index.js";import{AsteroidComponent}from "./AsteroidComponent.js";import{Spacecraft3D}from "./Spacecraft3D.js";import{SpacecraftPath}from "./SpacecraftPath.js";import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";const{width,height}= Dimensions.get('window');export const GameArea = React.memo(()=>{const asteroids = useSpaceFighterStore(state => state.asteroids);const spacecraft = useSpaceFighterStore(state => state.spacecraft);const spacecraftPath = useSpaceFighterStore(state => state.spacecraftPath);const isControllingSpacecraft = useSpaceFighterStore(state => state.isControllingSpacecraft);const isPlaying = useSpaceFighterStore(state => state.isPlaying);const updateSpacecraft = useSpaceFighterStore(state => state.updateSpacecraft);const setSpacecraftPath = useSpaceFighterStore(state => state.setSpacecraftPath);const setIsControllingSpacecraft = useSpaceFighterStore(state => state.setIsControllingSpacecraft);const markAsteroidPassed = useSpaceFighterStore(state => state.markAsteroidPassed);const loseLife = useSpaceFighterStore(state => state.loseLife);const gameService = useRef(createSpaceFighterService(width,height)).current;const currentSpacecraftPath = useRef([]);const initialSpacecraftPosition = useRef(null);const initialTouchPosition = useRef(null);const pendingSpacecraftUpdate = useRef(null);const animationFrameId = useRef(null);const lastCollisionTime = useRef(0);const [activeBlasts,setActiveBlasts] = useState([]);const particleColors = useMemo(()=> ['#ff6b6b','#ff8e53','#ff6b35'],[]);const playSuccessSound = useCallback(()=>{playSound(GAME_SOUNDS.SPACE_FIGHTER.SUCCESS,true);playHaptic(HapticType.LIGHT,true);},[]);const playCollisionSound = useCallback(()=>{playSound(GAME_SOUNDS.SPACE_FIGHTER.COLLISION,true);playHaptic(HapticType.HEAVY,true);},[]);const handleSpacecraftControlStart = useCallback((x,y)=>{const currentSpacecraft = useSpaceFighterStore.getState().spacecraft;const controlledSpacecraft = gameService.controlSpacecraft({...currentSpacecraft},x,y);updateSpacecraft(controlledSpacecraft);setIsControllingSpacecraft(true);currentSpacecraftPath.current = [{x,y}];setSpacecraftPath([{x,y}]);},[gameService,updateSpacecraft,setIsControllingSpacecraft,setSpacecraftPath]);const processPendingSpacecraftUpdate = useCallback(()=>{if(pendingSpacecraftUpdate.current){const{x,y}= pendingSpacecraftUpdate.current;const currentSpacecraft = useSpaceFighterStore.getState().spacecraft;const controlledSpacecraft = gameService.controlSpacecraft({...currentSpacecraft},x,y);updateSpacecraft(controlledSpacecraft);currentSpacecraftPath.current.push({x,y});if(currentSpacecraftPath.current.length > 8){currentSpacecraftPath.current.shift();}if(currentSpacecraftPath.current.length % 3 === 0){setSpacecraftPath([...currentSpacecraftPath.current]);}pendingSpacecraftUpdate.current = null;}animationFrameId.current = null;},[gameService,updateSpacecraft,setSpacecraftPath]);const handleSpacecraftControlMove = useCallback((x,y)=>{pendingSpacecraftUpdate.current ={x,y};if(animationFrameId.current === null){animationFrameId.current = requestAnimationFrame(processPendingSpacecraftUpdate);}},[processPendingSpacecraftUpdate]);const handleSpacecraftControlEnd = useCallback(()=>{if(animationFrameId.current !== null){cancelAnimationFrame(animationFrameId.current);animationFrameId.current = null;}if(pendingSpacecraftUpdate.current){processPendingSpacecraftUpdate();}const currentSpacecraft = useSpaceFighterStore.getState().spacecraft;const releasedSpacecraft = gameService.releaseSpacecraft({...currentSpacecraft});updateSpacecraft(releasedSpacecraft);setIsControllingSpacecraft(false);setTimeout(()=>{currentSpacecraftPath.current = [];setSpacecraftPath([]);},300);},[gameService,updateSpacecraft,setIsControllingSpacecraft,setSpacecraftPath,processPendingSpacecraftUpdate]);useEffect(()=>{if(!isPlaying)return;const interval = setInterval(()=>{const state = useSpaceFighterStore.getState();const currentSpacecraft = state.spacecraft;const currentAsteroids = state.asteroids;if(currentAsteroids.length === 0)return;const collision = gameService.checkCollision(currentSpacecraft,currentAsteroids);const now = Date.now();if(collision.collision && now - lastCollisionTime.current > 1000){lastCollisionTime.current = now;playCollisionSound();const blastId = `blast-${now}`;setActiveBlasts(prev => [...prev,{id:blastId,x:currentSpacecraft.x,y:currentSpacecraft.y}]);setTimeout(()=>{setActiveBlasts(prev => prev.filter(blast => blast.id !== blastId));},800);loseLife();return;}const passedAsteroids = gameService.checkAsteroidPass(currentSpacecraft,currentAsteroids);if(passedAsteroids.length > 0){passedAsteroids.forEach(pairId =>{markAsteroidPassed(pairId);playSuccessSound();});}},100);return()=> clearInterval(interval);},[isPlaying,gameService,playCollisionSound,loseLife,updateSpacecraft,markAsteroidPassed,playSuccessSound]);const panGesture = useMemo(()=> Gesture.Pan().onStart(event =>{const currentSpacecraft = useSpaceFighterStore.getState().spacecraft;initialSpacecraftPosition.current ={x:currentSpacecraft.x,y:currentSpacecraft.y};initialTouchPosition.current ={x:event.absoluteX,y:event.absoluteY};handleSpacecraftControlStart(currentSpacecraft.x,currentSpacecraft.y);}).onUpdate(event =>{if(!initialSpacecraftPosition.current || !initialTouchPosition.current){return;}const dx = event.absoluteX - initialTouchPosition.current.x;const newX = initialSpacecraftPosition.current.x + dx;const newY = initialSpacecraftPosition.current.y;handleSpacecraftControlMove(newX,newY);}).onEnd(()=>{initialTouchPosition.current = null;handleSpacecraftControlEnd();}).onFinalize(()=>{initialTouchPosition.current = null;handleSpacecraftControlEnd();}).runOnJS(true),[handleSpacecraftControlStart,handleSpacecraftControlMove,handleSpacecraftControlEnd]);return _jsxs(View,{style:[styles.gameArea],children:[_jsx(SpacecraftPath,{path:spacecraftPath}),asteroids.map(asteroid => _jsx(AsteroidComponent,{asteroid:asteroid},asteroid.id)),activeBlasts.map(blast => _jsx(ParticleBlast,{x:blast.x,y:blast.y,colors:particleColors,particleCount:12,duration:800},blast.id)),_jsx(Spacecraft3D,{spacecraft:spacecraft,isControlled:isControllingSpacecraft}),_jsx(GestureDetector,{gesture:panGesture,children:_jsx(View,{style:styles.gestureOverlay})}),asteroids.length === 0 && _jsxs(View,{style:styles.instructionsContainer,children:[_jsx(Text,{style:styles.instructionsEmoji,children:"\uD83D\uDE80"}),_jsx(Text,{style:styles.instructionsTitle,children:"Navigate your spacecraft through the space!"}),_jsx(Text,{style:styles.instructionsSubtitle,children:"Touch and drag to control your spacecraft"})]})]});});const styles = StyleSheet.create({gameArea:{flex:1,position:'relative'},gestureOverlay:{position:'absolute',top:0,left:0,right:0,bottom:0,backgroundColor:'transparent',zIndex:10},instructionsContainer:{position:'absolute',top:'33%',left:0,right:0,opacity:0.6,alignItems:'center',justifyContent:'center'},instructionsEmoji:{textAlign:'center',fontSize:24,marginBottom:12},instructionsTitle:{color:'#ffffff',textAlign:'center',fontSize:18,fontWeight:'bold',marginBottom:8},instructionsSubtitle:{color:'#ffffff',textAlign:'center',marginTop:8}});
1
+ "use strict";import t,{useRef as e,useEffect as r,useCallback as o,useState as n,useMemo as i}from"react";import{View as s,Text as c,StyleSheet as l,Dimensions as a}from"react-native";import{Gesture as f,GestureDetector as m}from"react-native-gesture-handler";import{useSpaceFighterStore as u}from"../SpaceFighterStore.js";import{createSpaceFighterService as p}from"../SpaceFighterService.js";import{playSound as d,GAME_SOUNDS as h}from"../../../services/SoundsService.js";import{playHaptic as g,HapticType as y}from"../../../services/HapticsService.js";import{ParticleBlast as x}from"../../../helpers/index.js";import{AsteroidComponent as j}from"./AsteroidComponent.js";import{Spacecraft3D as v}from"./Spacecraft3D.js";import{SpacecraftPath as S}from"./SpacecraftPath.js";import{jsx as b,jsxs as A}from"react/jsx-runtime";const{width:C,height:T}=a.get("window");export const GameArea=t.memo(()=>{const t=u(t=>t.asteroids),l=u(t=>t.spacecraft),a=u(t=>t.spacecraftPath),I=u(t=>t.isControllingSpacecraft),w=u(t=>t.isPlaying),z=u(t=>t.updateSpacecraft),B=u(t=>t.setSpacecraftPath),D=u(t=>t.setIsControllingSpacecraft),k=u(t=>t.markAsteroidPassed),q=u(t=>t.loseLife),E=e(p(C,T)).current,G=e([]),H=e(null),N=e(null),O=e(null),P=e(null),W=e(0),[J,K]=n([]),L=i(()=>["#ff6b6b","#ff8e53","#ff6b35"],[]),M=o(()=>{d(h.SPACE_FIGHTER.SUCCESS,!0),g(y.LIGHT,!0)},[]),Q=o(()=>{d(h.SPACE_FIGHTER.COLLISION,!0),g(y.HEAVY,!0)},[]),R=o((t,e)=>{const r=u.getState().spacecraft,o=E.controlSpacecraft({...r},t,e);z(o),D(!0),G.current=[{x:t,y:e}],B([{x:t,y:e}])},[E,z,D,B]),U=o(()=>{if(O.current){const{x:t,y:e}=O.current,r=u.getState().spacecraft,o=E.controlSpacecraft({...r},t,e);z(o),G.current.push({x:t,y:e}),G.current.length>8&&G.current.shift(),G.current.length%3==0&&B([...G.current]),O.current=null}P.current=null},[E,z,B]),V=o((t,e)=>{O.current={x:t,y:e},null===P.current&&(P.current=requestAnimationFrame(U))},[U]),X=o(()=>{null!==P.current&&(cancelAnimationFrame(P.current),P.current=null),O.current&&U();const t=u.getState().spacecraft,e=E.releaseSpacecraft({...t});z(e),D(!1),setTimeout(()=>{G.current=[],B([])},300)},[E,z,D,B,U]);r(()=>{if(!w)return;const t=setInterval(()=>{const t=u.getState(),e=t.spacecraft,r=t.asteroids;if(0===r.length)return;const o=E.checkCollision(e,r),n=Date.now();if(o.collision&&n-W.current>1e3){W.current=n,Q();const t="blast-"+n;return K(r=>[...r,{id:t,x:e.x,y:e.y}]),setTimeout(()=>{K(e=>e.filter(e=>e.id!==t))},800),void q()}const i=E.checkAsteroidPass(e,r);i.length>0&&i.forEach(t=>{k(t),M()})},100);return()=>clearInterval(t)},[w,E,Q,q,z,k,M]);const Y=i(()=>t.map(t=>b(j,{asteroid:t},t.id)),[t]),Z=i(()=>J.map(t=>b(x,{x:t.x,y:t.y,colors:L,particleCount:12,duration:800},t.id)),[J,L]),$=i(()=>f.Pan().onStart(t=>{const e=u.getState().spacecraft;H.current={x:e.x,y:e.y},N.current={x:t.absoluteX,y:t.absoluteY},R(e.x,e.y)}).onUpdate(t=>{if(!H.current||!N.current)return;const e=t.absoluteX-N.current.x,r=H.current.x+e,o=H.current.y;V(r,o)}).onEnd(()=>{N.current=null,X()}).onFinalize(()=>{N.current=null,X()}).runOnJS(!0),[R,V,X]);return A(s,{style:[F.gameArea],children:[b(S,{path:a}),Y,Z,b(v,{spacecraft:l,isControlled:I}),b(m,{gesture:$,children:b(s,{style:F.gestureOverlay})}),0===t.length&&A(s,{style:F.instructionsContainer,children:[b(c,{style:F.instructionsEmoji,children:"\ud83d\ude80"}),b(c,{style:F.instructionsTitle,children:"Navigate your spacecraft through the space!"}),b(c,{style:F.instructionsSubtitle,children:"Touch and drag to control your spacecraft"})]})]})});const F=l.create({gameArea:{flex:1,position:"relative"},gestureOverlay:{position:"absolute",top:0,left:0,right:0,bottom:0,backgroundColor:"transparent",zIndex:10},instructionsContainer:{position:"absolute",top:"33%",left:0,right:0,opacity:.6,alignItems:"center",justifyContent:"center"},instructionsEmoji:{textAlign:"center",fontSize:24,marginBottom:12},instructionsTitle:{color:"#ffffff",textAlign:"center",fontSize:18,fontWeight:"bold",marginBottom:8},instructionsSubtitle:{color:"#ffffff",textAlign:"center",marginTop:8}});
@@ -1 +1 @@
1
- {"version":3,"names":["React","useRef","useEffect","useCallback","useState","useMemo","View","Text","StyleSheet","Dimensions","Gesture","GestureDetector","useSpaceFighterStore","createSpaceFighterService","playSound","GAME_SOUNDS","playHaptic","HapticType","ParticleBlast","AsteroidComponent","Spacecraft3D","SpacecraftPath","jsx","_jsx","jsxs","_jsxs","width","height","get","GameArea","memo","asteroids","state","spacecraft","spacecraftPath","isControllingSpacecraft","isPlaying","updateSpacecraft","setSpacecraftPath","setIsControllingSpacecraft","markAsteroidPassed","loseLife","gameService","current","currentSpacecraftPath","initialSpacecraftPosition","initialTouchPosition","pendingSpacecraftUpdate","animationFrameId","lastCollisionTime","activeBlasts","setActiveBlasts","particleColors","playSuccessSound","SPACE_FIGHTER","SUCCESS","LIGHT","playCollisionSound","COLLISION","HEAVY","handleSpacecraftControlStart","x","y","currentSpacecraft","getState","controlledSpacecraft","controlSpacecraft","processPendingSpacecraftUpdate","push","length","shift","handleSpacecraftControlMove","requestAnimationFrame","handleSpacecraftControlEnd","cancelAnimationFrame","releasedSpacecraft","releaseSpacecraft","setTimeout","interval","setInterval","currentAsteroids","collision","checkCollision","now","Date","blastId","prev","id","filter","blast","passedAsteroids","checkAsteroidPass","forEach","pairId","clearInterval","panGesture","Pan","onStart","event","absoluteX","absoluteY","onUpdate","dx","newX","newY","onEnd","onFinalize","runOnJS","style","styles","gameArea","children","path","map","asteroid","colors","particleCount","duration","isControlled","gesture","gestureOverlay","instructionsContainer","instructionsEmoji","instructionsTitle","instructionsSubtitle","create","flex","position","top","left","right","bottom","backgroundColor","zIndex","opacity","alignItems","justifyContent","textAlign","fontSize","marginBottom","color","fontWeight","marginTop"],"sourceRoot":"../../../../../src","sources":["games/space-fighter/components/GameArea.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useRef","useEffect","useCallback","useState","useMemo","View","Text","StyleSheet","Dimensions","Gesture","GestureDetector","useSpaceFighterStore","createSpaceFighterService","playSound","GAME_SOUNDS","playHaptic","HapticType","ParticleBlast","AsteroidComponent","Spacecraft3D","SpacecraftPath","jsx","_jsx","jsxs","_jsxs","width","height","get","GameArea","memo","asteroids","state","spacecraft","spacecraftPath","isControllingSpacecraft","isPlaying","updateSpacecraft","setSpacecraftPath","setIsControllingSpacecraft","markAsteroidPassed","loseLife","gameService","current","currentSpacecraftPath","initialSpacecraftPosition","initialTouchPosition","pendingSpacecraftUpdate","animationFrameId","lastCollisionTime","activeBlasts","setActiveBlasts","particleColors","playSuccessSound","SPACE_FIGHTER","SUCCESS","LIGHT","playCollisionSound","COLLISION","HEAVY","handleSpacecraftControlStart","x","y","currentSpacecraft","getState","controlledSpacecraft","controlSpacecraft","processPendingSpacecraftUpdate","push","length","shift","handleSpacecraftControlMove","requestAnimationFrame","handleSpacecraftControlEnd","cancelAnimationFrame","releasedSpacecraft","releaseSpacecraft","setTimeout","interval","setInterval","currentAsteroids","collision","checkCollision","now","Date","blastId","prev","id","filter","blast","passedAsteroids","checkAsteroidPass","forEach","pairId","clearInterval","asteroidComponents","map","asteroid","blastComponents","colors","particleCount","duration","panGesture","Pan","onStart","event","absoluteX","absoluteY","onUpdate","dx","newX","newY","onEnd","onFinalize","runOnJS","style","styles","gameArea","children","path","isControlled","gesture","gestureOverlay","instructionsContainer","instructionsEmoji","instructionsTitle","instructionsSubtitle","create","flex","position","top","left","right","bottom","backgroundColor","zIndex","opacity","alignItems","justifyContent","textAlign","fontSize","marginBottom","color","fontWeight","marginTop"],"sourceRoot":"../../../../../src","sources":["games/space-fighter/components/GameArea.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- "use strict";import React from 'react';import{View,Dimensions}from 'react-native';import{Canvas,LinearGradient,Rect,Circle,Group,Shadow,vec}from '@shopify/react-native-skia';import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";const{width,height}= Dimensions.get('window');export const GameBackground = React.memo(({children})=>{return _jsxs(View,{style:{flex:1},children:[_jsxs(Canvas,{style:{position:'absolute',top:0,left:0,right:0,bottom:0,width,height},children:[_jsx(Rect,{x:0,y:0,width:width,height:height,children:_jsx(LinearGradient,{start:vec(0,0),end:vec(0,height),colors:['#0c0a1f','#1a1b3a','#2d1b69','#1e1b4b','#0c0a1f']})}),_jsx(Group,{children:Array.from({length:40},(_,i)=>{const x = width / 8 *(i % 8)+ i % 5 * 25;const y = height / 5 * Math.floor(i / 8)+ i % 3 * 40;const size = 1 + i % 3 * 0.4;return _jsx(Circle,{cx:x,cy:y,r:size,color:"#ffffff",opacity:0.6},`star-${i}`);})}),_jsx(Group,{children:Array.from({length:8},(_,i)=>{const positions = [{x:width * 0.15,y:height * 0.2},{x:width * 0.8,y:height * 0.3},{x:width * 0.3,y:height * 0.5},{x:width * 0.7,y:height * 0.6},{x:width * 0.2,y:height * 0.7},{x:width * 0.85,y:height * 0.8},{x:width * 0.5,y:height * 0.15},{x:width * 0.6,y:height * 0.85}];const pos = positions[i];if(!pos)return null;const size = 2.5 + i % 2 * 0.5;return _jsx(Group,{children:_jsx(Circle,{cx:pos.x,cy:pos.y,r:size,color:"#ffffff",opacity:0.8,children:_jsx(Shadow,{dx:0,dy:0,blur:10,color:"#ffffff"})})},`bright-star-${i}`);})}),_jsxs(Group,{children:[_jsx(Circle,{cx:width * 0.85,cy:height * 0.2,r:32,color:"#4c1d95",opacity:0.8,children:_jsx(Shadow,{dx:-2,dy:2,blur:8,color:"rgba(0,0,0,0.5)"})}),_jsx(Circle,{cx:width * 0.85 - 6,cy:height * 0.2 - 4,r:10,color:"#5b21b6",opacity:0.6}),_jsx(Circle,{cx:width * 0.85 + 4,cy:height * 0.2 + 6,r:6,color:"#6d28d9",opacity:0.5}),_jsx(Circle,{cx:width * 0.85 - 8,cy:height * 0.2 - 8,r:6,color:"#a855f7",opacity:0.3})]}),_jsxs(Group,{children:[_jsxs(Group,{children:[_jsx(Circle,{cx:width * 0.2,cy:height * 0.6,r:40,color:"#7c3aed",opacity:0.12,children:_jsx(Shadow,{dx:0,dy:0,blur:15,color:"#7c3aed"})}),_jsx(Circle,{cx:width * 0.24,cy:height * 0.58,r:28,color:"#a855f7",opacity:0.1})]}),_jsxs(Group,{children:[_jsx(Circle,{cx:width * 0.7,cy:height * 0.4,r:30,color:"#3b82f6",opacity:0.1,children:_jsx(Shadow,{dx:0,dy:0,blur:12,color:"#3b82f6"})}),_jsx(Circle,{cx:width * 0.72,cy:height * 0.38,r:20,color:"#60a5fa",opacity:0.08})]})]}),_jsx(Group,{children:Array.from({length:5},(_,i)=>{const positions = [{x:width * 0.15,y:height * 0.3},{x:width * 0.85,y:height * 0.5},{x:width * 0.3,y:height * 0.75},{x:width * 0.75,y:height * 0.2},{x:width * 0.5,y:height * 0.85}];const pos = positions[i];if(!pos)return null;const size = 3 + i % 3;return _jsxs(Group,{children:[_jsx(Circle,{cx:pos.x,cy:pos.y,r:size,color:"#6b7280",opacity:0.5,children:_jsx(Shadow,{dx:1,dy:1,blur:2,color:"rgba(0,0,0,0.3)"})}),_jsx(Circle,{cx:pos.x - size * 0.25,cy:pos.y - size * 0.25,r:size * 0.3,color:"#9ca3af",opacity:0.3})]},`asteroid-${i}`);})}),_jsx(Group,{children:Array.from({length:15},(_,i)=>{const x = width / 5 *(i % 5)+ i % 3 * 20;const y = height / 3 * Math.floor(i / 5)+ i % 4 * 30;const size = 0.5 + i % 2 * 0.2;return _jsx(Circle,{cx:x,cy:y,r:size,color:"#e5e7eb",opacity:0.25},`dust-${i}`);})})]}),children]});});
1
+ "use strict";import c from"react";import{View as r,Dimensions as o}from"react-native";import{Canvas as t,LinearGradient as i,Rect as y,Circle as e,Group as l,Shadow as a,vec as d}from"@shopify/react-native-skia";import{jsx as x,jsxs as h}from"react/jsx-runtime";const{width:f,height:n}=o.get("window"),s=Array.from({length:40},(c,r)=>({x:f/8*(r%8)+r%5*25,y:n/5*Math.floor(r/8)+r%3*40,size:1+r%3*.4})),p=[{x:.15*f,y:.2*n},{x:.8*f,y:.3*n},{x:.3*f,y:.5*n},{x:.7*f,y:.6*n},{x:.2*f,y:.7*n},{x:.85*f,y:.8*n},{x:.5*f,y:.15*n},{x:.6*f,y:.85*n}],b=[{x:.15*f,y:.3*n},{x:.85*f,y:.5*n},{x:.3*f,y:.75*n},{x:.75*f,y:.2*n},{x:.5*f,y:.85*n}],m=Array.from({length:15},(c,r)=>({x:f/5*(r%5)+r%3*20,y:n/3*Math.floor(r/5)+r%4*30,size:.5+r%2*.2}));export const GameBackground=c.memo(({children:c})=>h(r,{style:{flex:1},children:[h(t,{style:{position:"absolute",top:0,left:0,right:0,bottom:0,width:f,height:n},children:[x(y,{x:0,y:0,width:f,height:n,children:x(i,{start:d(0,0),end:d(0,n),colors:["#0c0a1f","#1a1b3a","#2d1b69","#1e1b4b","#0c0a1f"]})}),x(l,{children:s.map((c,r)=>x(e,{cx:c.x,cy:c.y,r:c.size,color:"#ffffff",opacity:.6},"star-"+r))}),x(l,{children:p.map((c,r)=>x(l,{children:x(e,{cx:c.x,cy:c.y,r:2.5+r%2*.5,color:"#ffffff",opacity:.8,children:x(a,{dx:0,dy:0,blur:10,color:"#ffffff"})})},"bright-star-"+r))}),h(l,{children:[x(e,{cx:.85*f,cy:.2*n,r:32,color:"#4c1d95",opacity:.8,children:x(a,{dx:-2,dy:2,blur:8,color:"rgba(0,0,0,0.5)"})}),x(e,{cx:.85*f-6,cy:.2*n-4,r:10,color:"#5b21b6",opacity:.6}),x(e,{cx:.85*f+4,cy:.2*n+6,r:6,color:"#6d28d9",opacity:.5}),x(e,{cx:.85*f-8,cy:.2*n-8,r:6,color:"#a855f7",opacity:.3})]}),h(l,{children:[h(l,{children:[x(e,{cx:.2*f,cy:.6*n,r:40,color:"#7c3aed",opacity:.12,children:x(a,{dx:0,dy:0,blur:15,color:"#7c3aed"})}),x(e,{cx:.24*f,cy:.58*n,r:28,color:"#a855f7",opacity:.1})]}),h(l,{children:[x(e,{cx:.7*f,cy:.4*n,r:30,color:"#3b82f6",opacity:.1,children:x(a,{dx:0,dy:0,blur:12,color:"#3b82f6"})}),x(e,{cx:.72*f,cy:.38*n,r:20,color:"#60a5fa",opacity:.08})]})]}),x(l,{children:b.map((c,r)=>{const o=3+r%3;return h(l,{children:[x(e,{cx:c.x,cy:c.y,r:o,color:"#6b7280",opacity:.5,children:x(a,{dx:1,dy:1,blur:2,color:"rgba(0,0,0,0.3)"})}),x(e,{cx:c.x-.25*o,cy:c.y-.25*o,r:.3*o,color:"#9ca3af",opacity:.3})]},"asteroid-"+r)})}),x(l,{children:m.map((c,r)=>x(e,{cx:c.x,cy:c.y,r:c.size,color:"#e5e7eb",opacity:.25},"dust-"+r))})]}),c]}));