react-native-games 1.2.0 → 1.3.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 (262) hide show
  1. package/README.md +43 -23
  2. package/lib/module/games/balloon-blaster/BalloonBlaster.js +1 -1
  3. package/lib/module/games/balloon-blaster/BalloonBlaster.js.map +1 -1
  4. package/lib/module/games/bike-racing/BikeRacing.js +1 -0
  5. package/lib/module/games/bike-racing/BikeRacing.js.map +1 -0
  6. package/lib/module/games/bike-racing/BikeRacingConstants.js +1 -0
  7. package/lib/module/games/bike-racing/BikeRacingConstants.js.map +1 -0
  8. package/lib/module/games/bike-racing/BikeRacingService.js +1 -0
  9. package/lib/module/games/bike-racing/BikeRacingService.js.map +1 -0
  10. package/lib/module/games/bike-racing/BikeRacingStore.js +1 -0
  11. package/lib/module/games/bike-racing/BikeRacingStore.js.map +1 -0
  12. package/lib/module/games/bike-racing/components/BikeComponent.js +1 -0
  13. package/lib/module/games/bike-racing/components/BikeComponent.js.map +1 -0
  14. package/lib/module/games/bike-racing/components/GameBackground.js +1 -0
  15. package/lib/module/games/bike-racing/components/GameBackground.js.map +1 -0
  16. package/lib/module/games/bike-racing/components/ScoreBoard.js +1 -0
  17. package/lib/module/games/bike-racing/components/ScoreBoard.js.map +1 -0
  18. package/lib/module/games/bike-racing/components/index.js +1 -0
  19. package/lib/module/games/bike-racing/components/index.js.map +1 -0
  20. package/lib/module/games/bike-racing/index.js +1 -0
  21. package/lib/module/games/bike-racing/index.js.map +1 -0
  22. package/lib/module/games/block-blast/BlockBlast.js +1 -0
  23. package/lib/module/games/block-blast/BlockBlast.js.map +1 -0
  24. package/lib/module/games/block-blast/BlockBlastConstants.js +1 -0
  25. package/lib/module/games/block-blast/BlockBlastConstants.js.map +1 -0
  26. package/lib/module/games/block-blast/BlockBlastService.js +1 -0
  27. package/lib/module/games/block-blast/BlockBlastService.js.map +1 -0
  28. package/lib/module/games/block-blast/BlockBlastStore.js +1 -0
  29. package/lib/module/games/block-blast/BlockBlastStore.js.map +1 -0
  30. package/lib/module/games/block-blast/components/BlockPieceComponent.js +1 -0
  31. package/lib/module/games/block-blast/components/BlockPieceComponent.js.map +1 -0
  32. package/lib/module/games/block-blast/components/GameArea.js +1 -0
  33. package/lib/module/games/block-blast/components/GameArea.js.map +1 -0
  34. package/lib/module/games/block-blast/components/GameBackground.js +1 -0
  35. package/lib/module/games/block-blast/components/GameBackground.js.map +1 -0
  36. package/lib/module/games/block-blast/components/GridComponent.js +1 -0
  37. package/lib/module/games/block-blast/components/GridComponent.js.map +1 -0
  38. package/lib/module/games/block-blast/components/ScoreBoard.js +1 -0
  39. package/lib/module/games/block-blast/components/ScoreBoard.js.map +1 -0
  40. package/lib/module/games/block-blast/components/index.js +1 -0
  41. package/lib/module/games/block-blast/components/index.js.map +1 -0
  42. package/lib/module/games/block-blast/index.js +1 -0
  43. package/lib/module/games/block-blast/index.js.map +1 -0
  44. package/lib/module/games/bubble-shooter/BubbleShooter.js +1 -0
  45. package/lib/module/games/bubble-shooter/BubbleShooter.js.map +1 -0
  46. package/lib/module/games/bubble-shooter/BubbleShooterConstants.js +1 -0
  47. package/lib/module/games/bubble-shooter/BubbleShooterConstants.js.map +1 -0
  48. package/lib/module/games/bubble-shooter/BubbleShooterService.js +1 -0
  49. package/lib/module/games/bubble-shooter/BubbleShooterService.js.map +1 -0
  50. package/lib/module/games/bubble-shooter/BubbleShooterStore.js +1 -0
  51. package/lib/module/games/bubble-shooter/BubbleShooterStore.js.map +1 -0
  52. package/lib/module/games/bubble-shooter/components/GameArea.js +1 -0
  53. package/lib/module/games/bubble-shooter/components/GameArea.js.map +1 -0
  54. package/lib/module/games/bubble-shooter/components/GameBackground.js +1 -0
  55. package/lib/module/games/bubble-shooter/components/GameBackground.js.map +1 -0
  56. package/lib/module/games/bubble-shooter/components/ScoreBoard.js +1 -0
  57. package/lib/module/games/bubble-shooter/components/ScoreBoard.js.map +1 -0
  58. package/lib/module/games/bubble-shooter/components/index.js +1 -0
  59. package/lib/module/games/bubble-shooter/components/index.js.map +1 -0
  60. package/lib/module/games/bubble-shooter/index.js +1 -0
  61. package/lib/module/games/bubble-shooter/index.js.map +1 -0
  62. package/lib/module/games/candy-crush/CandyCrush.js +1 -1
  63. package/lib/module/games/candy-crush/CandyCrush.js.map +1 -1
  64. package/lib/module/games/car-racing/CarRacing.js +1 -0
  65. package/lib/module/games/car-racing/CarRacing.js.map +1 -0
  66. package/lib/module/games/car-racing/CarRacingConstants.js +1 -0
  67. package/lib/module/games/car-racing/CarRacingConstants.js.map +1 -0
  68. package/lib/module/games/car-racing/CarRacingService.js +1 -0
  69. package/lib/module/games/car-racing/CarRacingService.js.map +1 -0
  70. package/lib/module/games/car-racing/CarRacingStore.js +1 -0
  71. package/lib/module/games/car-racing/CarRacingStore.js.map +1 -0
  72. package/lib/module/games/car-racing/components/CarComponent.js +1 -0
  73. package/lib/module/games/car-racing/components/CarComponent.js.map +1 -0
  74. package/lib/module/games/car-racing/components/GameBackground.js +1 -0
  75. package/lib/module/games/car-racing/components/GameBackground.js.map +1 -0
  76. package/lib/module/games/car-racing/components/ScoreBoard.js +1 -0
  77. package/lib/module/games/car-racing/components/ScoreBoard.js.map +1 -0
  78. package/lib/module/games/car-racing/components/index.js +1 -0
  79. package/lib/module/games/car-racing/components/index.js.map +1 -0
  80. package/lib/module/games/colors-sort/ColorsSort.js +1 -1
  81. package/lib/module/games/colors-sort/ColorsSort.js.map +1 -1
  82. package/lib/module/games/dino-jump/DinoJump.js +1 -1
  83. package/lib/module/games/dino-jump/DinoJump.js.map +1 -1
  84. package/lib/module/games/flappy-bird/FlappyBird.js +1 -1
  85. package/lib/module/games/flappy-bird/FlappyBird.js.map +1 -1
  86. package/lib/module/games/fruit-merger/FruitMerger.js +1 -1
  87. package/lib/module/games/fruit-merger/FruitMerger.js.map +1 -1
  88. package/lib/module/games/fruit-ninja/FruitNinja.js +1 -1
  89. package/lib/module/games/fruit-ninja/FruitNinja.js.map +1 -1
  90. package/lib/module/games/game-2048/Game2048.js +1 -1
  91. package/lib/module/games/game-2048/Game2048.js.map +1 -1
  92. package/lib/module/games/maze-runner/MazeRunner.js +1 -1
  93. package/lib/module/games/maze-runner/MazeRunner.js.map +1 -1
  94. package/lib/module/games/perfect-circle/PerfectCircle.js +1 -0
  95. package/lib/module/games/perfect-circle/PerfectCircle.js.map +1 -0
  96. package/lib/module/games/perfect-circle/PerfectCircleConstants.js +1 -0
  97. package/lib/module/games/perfect-circle/PerfectCircleConstants.js.map +1 -0
  98. package/lib/module/games/perfect-circle/PerfectCircleService.js +1 -0
  99. package/lib/module/games/perfect-circle/PerfectCircleService.js.map +1 -0
  100. package/lib/module/games/perfect-circle/PerfectCircleStore.js +1 -0
  101. package/lib/module/games/perfect-circle/PerfectCircleStore.js.map +1 -0
  102. package/lib/module/games/perfect-circle/components/DrawingCanvas.js +1 -0
  103. package/lib/module/games/perfect-circle/components/DrawingCanvas.js.map +1 -0
  104. package/lib/module/games/perfect-circle/components/GameBackground.js +1 -0
  105. package/lib/module/games/perfect-circle/components/GameBackground.js.map +1 -0
  106. package/lib/module/games/perfect-circle/components/ScoreBoard.js +1 -0
  107. package/lib/module/games/perfect-circle/components/ScoreBoard.js.map +1 -0
  108. package/lib/module/games/perfect-circle/index.js +1 -0
  109. package/lib/module/games/perfect-circle/index.js.map +1 -0
  110. package/lib/module/games/popit-fidget/PopitFidget.js +1 -1
  111. package/lib/module/games/popit-fidget/PopitFidget.js.map +1 -1
  112. package/lib/module/games/sliding-numbers/SlidingNumbers.js +1 -1
  113. package/lib/module/games/sliding-numbers/SlidingNumbers.js.map +1 -1
  114. package/lib/module/games/snake/Snake.js +1 -1
  115. package/lib/module/games/snake/Snake.js.map +1 -1
  116. package/lib/module/games/snake/SnakeStore.js +1 -1
  117. package/lib/module/games/snake/SnakeStore.js.map +1 -1
  118. package/lib/module/games/snake/components/ScoreBoard.js +1 -1
  119. package/lib/module/games/snake/components/ScoreBoard.js.map +1 -1
  120. package/lib/module/games/space-fighter/SpaceFighter.js +1 -1
  121. package/lib/module/games/space-fighter/SpaceFighter.js.map +1 -1
  122. package/lib/module/games/whack-a-mole/WhackAMole.js +1 -1
  123. package/lib/module/games/whack-a-mole/WhackAMole.js.map +1 -1
  124. package/lib/module/helpers/GameOverModal.js +1 -1
  125. package/lib/module/helpers/GameOverModal.js.map +1 -1
  126. package/lib/module/helpers/GameSettingsModal.js +1 -1
  127. package/lib/module/helpers/GameSettingsModal.js.map +1 -1
  128. package/lib/module/helpers/ScoreBoardContainer.js +1 -1
  129. package/lib/module/helpers/ScoreBoardContainer.js.map +1 -1
  130. package/lib/module/index.js +1 -1
  131. package/lib/module/index.js.map +1 -1
  132. package/lib/module/services/GamesConstants.js +1 -1
  133. package/lib/module/services/GamesConstants.js.map +1 -1
  134. package/lib/module/services/GamesService.js +1 -1
  135. package/lib/module/services/GamesService.js.map +1 -1
  136. package/lib/module/services/ScoringService.js +1 -0
  137. package/lib/module/services/ScoringService.js.map +1 -0
  138. package/lib/module/services/SoundsService.js +1 -1
  139. package/lib/module/services/SoundsService.js.map +1 -1
  140. package/lib/module/services/UtilsService.js +1 -1
  141. package/lib/module/services/UtilsService.js.map +1 -1
  142. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts.map +1 -1
  143. package/lib/typescript/src/games/bike-racing/BikeRacing.d.ts +4 -0
  144. package/lib/typescript/src/games/bike-racing/BikeRacing.d.ts.map +1 -0
  145. package/lib/typescript/src/games/bike-racing/BikeRacingConstants.d.ts +76 -0
  146. package/lib/typescript/src/games/bike-racing/BikeRacingConstants.d.ts.map +1 -0
  147. package/lib/typescript/src/games/bike-racing/BikeRacingService.d.ts +22 -0
  148. package/lib/typescript/src/games/bike-racing/BikeRacingService.d.ts.map +1 -0
  149. package/lib/typescript/src/games/bike-racing/BikeRacingStore.d.ts +72 -0
  150. package/lib/typescript/src/games/bike-racing/BikeRacingStore.d.ts.map +1 -0
  151. package/lib/typescript/src/games/bike-racing/components/BikeComponent.d.ts +12 -0
  152. package/lib/typescript/src/games/bike-racing/components/BikeComponent.d.ts.map +1 -0
  153. package/lib/typescript/src/games/bike-racing/components/GameBackground.d.ts +9 -0
  154. package/lib/typescript/src/games/bike-racing/components/GameBackground.d.ts.map +1 -0
  155. package/lib/typescript/src/games/bike-racing/components/ScoreBoard.d.ts +7 -0
  156. package/lib/typescript/src/games/bike-racing/components/ScoreBoard.d.ts.map +1 -0
  157. package/lib/typescript/src/games/bike-racing/components/index.d.ts +4 -0
  158. package/lib/typescript/src/games/bike-racing/components/index.d.ts.map +1 -0
  159. package/lib/typescript/src/games/bike-racing/index.d.ts +5 -0
  160. package/lib/typescript/src/games/bike-racing/index.d.ts.map +1 -0
  161. package/lib/typescript/src/games/block-blast/BlockBlast.d.ts +4 -0
  162. package/lib/typescript/src/games/block-blast/BlockBlast.d.ts.map +1 -0
  163. package/lib/typescript/src/games/block-blast/BlockBlastConstants.d.ts +82 -0
  164. package/lib/typescript/src/games/block-blast/BlockBlastConstants.d.ts.map +1 -0
  165. package/lib/typescript/src/games/block-blast/BlockBlastService.d.ts +17 -0
  166. package/lib/typescript/src/games/block-blast/BlockBlastService.d.ts.map +1 -0
  167. package/lib/typescript/src/games/block-blast/BlockBlastStore.d.ts +62 -0
  168. package/lib/typescript/src/games/block-blast/BlockBlastStore.d.ts.map +1 -0
  169. package/lib/typescript/src/games/block-blast/components/BlockPieceComponent.d.ts +14 -0
  170. package/lib/typescript/src/games/block-blast/components/BlockPieceComponent.d.ts.map +1 -0
  171. package/lib/typescript/src/games/block-blast/components/GameArea.d.ts +12 -0
  172. package/lib/typescript/src/games/block-blast/components/GameArea.d.ts.map +1 -0
  173. package/lib/typescript/src/games/block-blast/components/GameBackground.d.ts +7 -0
  174. package/lib/typescript/src/games/block-blast/components/GameBackground.d.ts.map +1 -0
  175. package/lib/typescript/src/games/block-blast/components/GridComponent.d.ts +17 -0
  176. package/lib/typescript/src/games/block-blast/components/GridComponent.d.ts.map +1 -0
  177. package/lib/typescript/src/games/block-blast/components/ScoreBoard.d.ts +7 -0
  178. package/lib/typescript/src/games/block-blast/components/ScoreBoard.d.ts.map +1 -0
  179. package/lib/typescript/src/games/block-blast/components/index.d.ts +6 -0
  180. package/lib/typescript/src/games/block-blast/components/index.d.ts.map +1 -0
  181. package/lib/typescript/src/games/block-blast/index.d.ts +5 -0
  182. package/lib/typescript/src/games/block-blast/index.d.ts.map +1 -0
  183. package/lib/typescript/src/games/bubble-shooter/BubbleShooter.d.ts +4 -0
  184. package/lib/typescript/src/games/bubble-shooter/BubbleShooter.d.ts.map +1 -0
  185. package/lib/typescript/src/games/bubble-shooter/BubbleShooterConstants.d.ts +61 -0
  186. package/lib/typescript/src/games/bubble-shooter/BubbleShooterConstants.d.ts.map +1 -0
  187. package/lib/typescript/src/games/bubble-shooter/BubbleShooterService.d.ts +26 -0
  188. package/lib/typescript/src/games/bubble-shooter/BubbleShooterService.d.ts.map +1 -0
  189. package/lib/typescript/src/games/bubble-shooter/BubbleShooterStore.d.ts +62 -0
  190. package/lib/typescript/src/games/bubble-shooter/BubbleShooterStore.d.ts.map +1 -0
  191. package/lib/typescript/src/games/bubble-shooter/components/GameArea.d.ts +9 -0
  192. package/lib/typescript/src/games/bubble-shooter/components/GameArea.d.ts.map +1 -0
  193. package/lib/typescript/src/games/bubble-shooter/components/GameBackground.d.ts +8 -0
  194. package/lib/typescript/src/games/bubble-shooter/components/GameBackground.d.ts.map +1 -0
  195. package/lib/typescript/src/games/bubble-shooter/components/ScoreBoard.d.ts +7 -0
  196. package/lib/typescript/src/games/bubble-shooter/components/ScoreBoard.d.ts.map +1 -0
  197. package/lib/typescript/src/games/bubble-shooter/components/index.d.ts +4 -0
  198. package/lib/typescript/src/games/bubble-shooter/components/index.d.ts.map +1 -0
  199. package/lib/typescript/src/games/bubble-shooter/index.d.ts +3 -0
  200. package/lib/typescript/src/games/bubble-shooter/index.d.ts.map +1 -0
  201. package/lib/typescript/src/games/candy-crush/CandyCrush.d.ts.map +1 -1
  202. package/lib/typescript/src/games/car-racing/CarRacing.d.ts +4 -0
  203. package/lib/typescript/src/games/car-racing/CarRacing.d.ts.map +1 -0
  204. package/lib/typescript/src/games/car-racing/CarRacingConstants.d.ts +76 -0
  205. package/lib/typescript/src/games/car-racing/CarRacingConstants.d.ts.map +1 -0
  206. package/lib/typescript/src/games/car-racing/CarRacingService.d.ts +22 -0
  207. package/lib/typescript/src/games/car-racing/CarRacingService.d.ts.map +1 -0
  208. package/lib/typescript/src/games/car-racing/CarRacingStore.d.ts +72 -0
  209. package/lib/typescript/src/games/car-racing/CarRacingStore.d.ts.map +1 -0
  210. package/lib/typescript/src/games/car-racing/components/CarComponent.d.ts +13 -0
  211. package/lib/typescript/src/games/car-racing/components/CarComponent.d.ts.map +1 -0
  212. package/lib/typescript/src/games/car-racing/components/GameBackground.d.ts +9 -0
  213. package/lib/typescript/src/games/car-racing/components/GameBackground.d.ts.map +1 -0
  214. package/lib/typescript/src/games/car-racing/components/ScoreBoard.d.ts +7 -0
  215. package/lib/typescript/src/games/car-racing/components/ScoreBoard.d.ts.map +1 -0
  216. package/lib/typescript/src/games/car-racing/components/index.d.ts +4 -0
  217. package/lib/typescript/src/games/car-racing/components/index.d.ts.map +1 -0
  218. package/lib/typescript/src/games/colors-sort/ColorsSort.d.ts.map +1 -1
  219. package/lib/typescript/src/games/dino-jump/DinoJump.d.ts.map +1 -1
  220. package/lib/typescript/src/games/flappy-bird/FlappyBird.d.ts.map +1 -1
  221. package/lib/typescript/src/games/fruit-merger/FruitMerger.d.ts.map +1 -1
  222. package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts.map +1 -1
  223. package/lib/typescript/src/games/game-2048/Game2048.d.ts.map +1 -1
  224. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts.map +1 -1
  225. package/lib/typescript/src/games/perfect-circle/PerfectCircle.d.ts +4 -0
  226. package/lib/typescript/src/games/perfect-circle/PerfectCircle.d.ts.map +1 -0
  227. package/lib/typescript/src/games/perfect-circle/PerfectCircleConstants.d.ts +81 -0
  228. package/lib/typescript/src/games/perfect-circle/PerfectCircleConstants.d.ts.map +1 -0
  229. package/lib/typescript/src/games/perfect-circle/PerfectCircleService.d.ts +14 -0
  230. package/lib/typescript/src/games/perfect-circle/PerfectCircleService.d.ts.map +1 -0
  231. package/lib/typescript/src/games/perfect-circle/PerfectCircleStore.d.ts +40 -0
  232. package/lib/typescript/src/games/perfect-circle/PerfectCircleStore.d.ts.map +1 -0
  233. package/lib/typescript/src/games/perfect-circle/components/DrawingCanvas.d.ts +9 -0
  234. package/lib/typescript/src/games/perfect-circle/components/DrawingCanvas.d.ts.map +1 -0
  235. package/lib/typescript/src/games/perfect-circle/components/GameBackground.d.ts +8 -0
  236. package/lib/typescript/src/games/perfect-circle/components/GameBackground.d.ts.map +1 -0
  237. package/lib/typescript/src/games/perfect-circle/components/ScoreBoard.d.ts +7 -0
  238. package/lib/typescript/src/games/perfect-circle/components/ScoreBoard.d.ts.map +1 -0
  239. package/lib/typescript/src/games/perfect-circle/index.d.ts +3 -0
  240. package/lib/typescript/src/games/perfect-circle/index.d.ts.map +1 -0
  241. package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts.map +1 -1
  242. package/lib/typescript/src/games/sliding-numbers/SlidingNumbers.d.ts.map +1 -1
  243. package/lib/typescript/src/games/snake/Snake.d.ts.map +1 -1
  244. package/lib/typescript/src/games/snake/SnakeStore.d.ts +4 -0
  245. package/lib/typescript/src/games/snake/SnakeStore.d.ts.map +1 -1
  246. package/lib/typescript/src/games/snake/components/ScoreBoard.d.ts.map +1 -1
  247. package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts.map +1 -1
  248. package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts.map +1 -1
  249. package/lib/typescript/src/helpers/ScoreBoardContainer.d.ts.map +1 -1
  250. package/lib/typescript/src/index.d.ts +6 -1
  251. package/lib/typescript/src/index.d.ts.map +1 -1
  252. package/lib/typescript/src/services/GamesConstants.d.ts +50 -0
  253. package/lib/typescript/src/services/GamesConstants.d.ts.map +1 -1
  254. package/lib/typescript/src/services/GamesService.d.ts +2 -1
  255. package/lib/typescript/src/services/GamesService.d.ts.map +1 -1
  256. package/lib/typescript/src/services/ScoringService.d.ts +2 -0
  257. package/lib/typescript/src/services/ScoringService.d.ts.map +1 -0
  258. package/lib/typescript/src/services/SoundsService.d.ts +88 -0
  259. package/lib/typescript/src/services/SoundsService.d.ts.map +1 -1
  260. package/lib/typescript/src/services/UtilsService.d.ts +12 -1
  261. package/lib/typescript/src/services/UtilsService.d.ts.map +1 -1
  262. package/package.json +1 -1
@@ -0,0 +1,62 @@
1
+ export interface BlockPiece {
2
+ id: string;
3
+ shape: number[][];
4
+ color: string;
5
+ }
6
+ export interface GameState {
7
+ score: number;
8
+ isPlaying: boolean;
9
+ gameOver: boolean;
10
+ gameWon: boolean;
11
+ timeRemaining: number;
12
+ gameDuration: number;
13
+ }
14
+ export interface BlockBlastStore extends GameState {
15
+ grid: (string | null)[][];
16
+ gridSize: number;
17
+ nextPieces: BlockPiece[];
18
+ selectedPieceId: string | null;
19
+ dragPosition: {
20
+ x: number;
21
+ y: number;
22
+ } | null;
23
+ previewPosition: {
24
+ row: number;
25
+ col: number;
26
+ } | null;
27
+ canPlace: boolean;
28
+ startGame: (gridSize?: number, gameDuration?: number) => void;
29
+ stopGame: () => void;
30
+ resetGame: () => void;
31
+ updateScore: (points: number) => void;
32
+ selectPiece: (pieceId: string) => void;
33
+ deselectPiece: () => void;
34
+ updateDragPosition: (x: number, y: number) => void;
35
+ updatePreviewPosition: (row: number, col: number, canPlace: boolean) => void;
36
+ clearPreview: () => void;
37
+ placePiece: (pieceId: string, row: number, col: number) => boolean;
38
+ generateNextPieces: () => void;
39
+ addNewPiece: () => void;
40
+ clearLines: () => number;
41
+ checkGameOver: () => boolean;
42
+ decrementTime: () => void;
43
+ checkWinCondition: () => void;
44
+ }
45
+ export declare const useBlockBlastStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<BlockBlastStore>, "subscribe"> & {
46
+ subscribe: {
47
+ (listener: (selectedState: BlockBlastStore, previousSelectedState: BlockBlastStore) => void): () => void;
48
+ <U>(selector: (state: BlockBlastStore) => U, listener: (selectedState: U, previousSelectedState: U) => void, options?: {
49
+ equalityFn?: ((a: U, b: U) => boolean) | undefined;
50
+ fireImmediately?: boolean;
51
+ } | undefined): () => void;
52
+ };
53
+ }>;
54
+ export declare const useScore: () => number;
55
+ export declare const useIsPlaying: () => boolean;
56
+ export declare const useGameOver: () => boolean;
57
+ export declare const useGameWon: () => boolean;
58
+ export declare const useTimeRemaining: () => number;
59
+ export declare const useGrid: () => (string | null)[][];
60
+ export declare const useNextPieces: () => BlockPiece[];
61
+ export declare const useSelectedPieceId: () => string | null;
62
+ //# sourceMappingURL=BlockBlastStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockBlastStore.d.ts","sourceRoot":"","sources":["../../../../../src/games/block-blast/BlockBlastStore.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,IAAI,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9C,eAAe,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACrD,QAAQ,EAAE,OAAO,CAAC;IAGlB,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,kBAAkB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,qBAAqB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7E,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACnE,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,OAAO,CAAC;IAC7B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B;AAyBD,eAAO,MAAM,kBAAkB;;;;;;;;EAmT9B,CAAC;AAGF,eAAO,MAAM,QAAQ,cAAmD,CAAC;AACzE,eAAO,MAAM,YAAY,eAAuD,CAAC;AACjF,eAAO,MAAM,WAAW,eAAsD,CAAC;AAC/E,eAAO,MAAM,UAAU,eAAqD,CAAC;AAC7E,eAAO,MAAM,gBAAgB,cAA2D,CAAC;AACzF,eAAO,MAAM,OAAO,2BAAkD,CAAC;AACvE,eAAO,MAAM,aAAa,oBAAwD,CAAC;AACnF,eAAO,MAAM,kBAAkB,qBAA6D,CAAC"}
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ interface BlockPieceComponentProps {
3
+ shape: number[][];
4
+ color: string;
5
+ cellSize: number;
6
+ cellGap: number;
7
+ scale?: number;
8
+ x?: number;
9
+ y?: number;
10
+ isDragging?: boolean;
11
+ }
12
+ export declare const BlockPieceComponent: React.MemoExoticComponent<({ shape, color, cellSize, cellGap, scale, x, y, isDragging, }: BlockPieceComponentProps) => import("react/jsx-runtime").JSX.Element>;
13
+ export {};
14
+ //# sourceMappingURL=BlockPieceComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockPieceComponent.d.ts","sourceRoot":"","sources":["../../../../../../src/games/block-blast/components/BlockPieceComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,wBAAwB;IAChC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAgHD,eAAO,MAAM,mBAAmB,4FArG7B,wBAAwB,6CAqG0D,CAAC"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import type { BlockBlastService } from '../BlockBlastService';
3
+ interface GameAreaProps {
4
+ gridSize: number;
5
+ cellSize: number;
6
+ cellGap: number;
7
+ gameService: BlockBlastService;
8
+ offset: number;
9
+ }
10
+ export declare const GameArea: React.NamedExoticComponent<GameAreaProps>;
11
+ export {};
12
+ //# sourceMappingURL=GameArea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GameArea.d.ts","sourceRoot":"","sources":["../../../../../../src/games/block-blast/components/GameArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAI9D,UAAU,aAAa;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB;AA2ZD,eAAO,MAAM,QAAQ,2CAAuD,CAAC"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ interface GameBackgroundProps {
3
+ children: React.ReactNode;
4
+ }
5
+ export declare const GameBackground: React.NamedExoticComponent<GameBackgroundProps>;
6
+ export {};
7
+ //# sourceMappingURL=GameBackground.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GameBackground.d.ts","sourceRoot":"","sources":["../../../../../../src/games/block-blast/components/GameBackground.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AA6B1B,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AA0QD,eAAO,MAAM,cAAc,iDAAiC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ interface GridComponentProps {
3
+ grid: (string | null)[][];
4
+ gridSize: number;
5
+ cellSize: number;
6
+ cellGap: number;
7
+ previewPiece?: {
8
+ shape: number[][];
9
+ color: string;
10
+ row: number;
11
+ col: number;
12
+ canPlace: boolean;
13
+ } | null;
14
+ }
15
+ export declare const GridComponent: React.MemoExoticComponent<({ grid, gridSize, cellSize, cellGap, previewPiece }: GridComponentProps) => import("react/jsx-runtime").JSX.Element>;
16
+ export {};
17
+ //# sourceMappingURL=GridComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridComponent.d.ts","sourceRoot":"","sources":["../../../../../../src/games/block-blast/components/GridComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,kBAAkB;IAC1B,IAAI,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE;QACb,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,OAAO,CAAC;KACnB,GAAG,IAAI,CAAC;CACV;AAmID,eAAO,MAAM,aAAa,kFA3HvB,kBAAkB,6CA2HwD,CAAC"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ interface ScoreBoardProps {
3
+ offset?: number;
4
+ }
5
+ export declare const ScoreBoard: React.MemoExoticComponent<({ offset }: ScoreBoardProps) => import("react/jsx-runtime").JSX.Element>;
6
+ export {};
7
+ //# sourceMappingURL=ScoreBoard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScoreBoard.d.ts","sourceRoot":"","sources":["../../../../../../src/games/block-blast/components/ScoreBoard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,UAAU,eAAe;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,UAAU,yCAA+B,eAAe,6CAsCnE,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { ScoreBoard } from './ScoreBoard';
2
+ export { GridComponent } from './GridComponent';
3
+ export { BlockPieceComponent } from './BlockPieceComponent';
4
+ export { GameArea } from './GameArea';
5
+ export { GameBackground } from './GameBackground';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/games/block-blast/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { BlockBlast } from './BlockBlast';
2
+ export { BlockBlastService } from './BlockBlastService';
3
+ export { useBlockBlastStore } from './BlockBlastStore';
4
+ export * from './BlockBlastConstants';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/games/block-blast/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { type GameProps } from '../../services/UtilsService';
3
+ export declare const BubbleShooter: React.NamedExoticComponent<GameProps>;
4
+ //# sourceMappingURL=BubbleShooter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BubbleShooter.d.ts","sourceRoot":"","sources":["../../../../../src/games/bubble-shooter/BubbleShooter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAyB,KAAK,SAAS,EAAY,MAAM,6BAA6B,CAAC;AAuN9F,eAAO,MAAM,aAAa,uCAAqC,CAAC"}
@@ -0,0 +1,61 @@
1
+ import type { GameSettingsTheme } from '../../services/GamesConstants';
2
+ export interface BubbleShooterSettings {
3
+ difficulty: 'easy' | 'medium' | 'hard';
4
+ soundEnabled: boolean;
5
+ hapticEnabled: boolean;
6
+ rowCount: number;
7
+ colorCount: number;
8
+ }
9
+ export declare const BUBBLE_SHOOTER_DIFFICULTY_CONFIG: {
10
+ readonly easy: {
11
+ readonly rowCount: 6;
12
+ readonly colorCount: 4;
13
+ };
14
+ readonly medium: {
15
+ readonly rowCount: 8;
16
+ readonly colorCount: 5;
17
+ };
18
+ readonly hard: {
19
+ readonly rowCount: 10;
20
+ readonly colorCount: 6;
21
+ };
22
+ };
23
+ export declare const getDifficultySettings: (difficulty: "easy" | "medium" | "hard") => {
24
+ readonly rowCount: 6;
25
+ readonly colorCount: 4;
26
+ } | {
27
+ readonly rowCount: 8;
28
+ readonly colorCount: 5;
29
+ } | {
30
+ readonly rowCount: 10;
31
+ readonly colorCount: 6;
32
+ };
33
+ export declare const DEFAULT_BUBBLE_SHOOTER_SETTINGS: BubbleShooterSettings;
34
+ export declare const BUBBLE_SHOOTER_GAME_CONFIG: {
35
+ readonly BUBBLE_RADIUS: 18;
36
+ readonly BUBBLE_SPACING: 2;
37
+ readonly SHOOTER_SIZE: 50;
38
+ readonly SHOOTER_Y_OFFSET: 40;
39
+ readonly BUBBLE_SPEED: 12;
40
+ readonly POINTS_PER_BUBBLE: 10;
41
+ readonly POINTS_PER_DROP: 20;
42
+ readonly MIN_MATCH_COUNT: 3;
43
+ readonly COLS_PER_ROW: 9;
44
+ readonly ROW_OFFSET: 0.5;
45
+ };
46
+ export declare const BUBBLE_COLORS: readonly ["#FF3B30", "#FF9500", "#FFCC00", "#34C759", "#007AFF", "#5856D6", "#FF2D55", "#00C7BE"];
47
+ export declare const BUBBLE_SHOOTER_COLORS: {
48
+ readonly BACKGROUND: "#87CEEB";
49
+ readonly SHOOTER: "#ffffff";
50
+ readonly SHOOTER_ARROW: "#ff6b9d";
51
+ readonly SCORE: "#ffffff";
52
+ readonly UI: "#ff6b9d";
53
+ readonly CEILING: "#e0e0e0";
54
+ };
55
+ export declare const BUBBLE_SHOOTER_THEME: GameSettingsTheme;
56
+ export declare const BUBBLE_SHOOTER_DIFFICULTY_DESCRIPTIONS: {
57
+ readonly easy: "Fewer rows and colors, easier matches";
58
+ readonly medium: "Balanced challenge with more bubbles";
59
+ readonly hard: "Many rows and colors, strategic play!";
60
+ };
61
+ //# sourceMappingURL=BubbleShooterConstants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BubbleShooterConstants.d.ts","sourceRoot":"","sources":["../../../../../src/games/bubble-shooter/BubbleShooterConstants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGvE,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IACvC,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;CAanC,CAAC;AAGX,eAAO,MAAM,qBAAqB,GAAI,YAAY,MAAM,GAAG,QAAQ,GAAG,MAAM;;;;;;;;;CAE3E,CAAC;AAGF,eAAO,MAAM,+BAA+B,EAAE,qBAM7C,CAAC;AAGF,eAAO,MAAM,0BAA0B;;;;;;;;;;;CAW7B,CAAC;AAGX,eAAO,MAAM,aAAa,mGAShB,CAAC;AAEX,eAAO,MAAM,qBAAqB;;;;;;;CAOxB,CAAC;AAGX,eAAO,MAAM,oBAAoB,EAAE,iBAclC,CAAC;AAGF,eAAO,MAAM,sCAAsC;;;;CAIzC,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { type Bubble } from './BubbleShooterStore';
2
+ export declare class BubbleShooterService {
3
+ private rowCount;
4
+ private colorCount;
5
+ private shooterX;
6
+ private shooterY;
7
+ private offset;
8
+ private onShoot?;
9
+ private onBubbleMatch?;
10
+ private onGameWon?;
11
+ constructor();
12
+ setCallbacks(onShoot?: () => void, onBubbleMatch?: () => void, onGameWon?: () => void): void;
13
+ setDifficulty(rowCount: number, colorCount: number): void;
14
+ setShooterPosition(x: number, y: number, offset?: number): void;
15
+ startGame(): void;
16
+ stopGame(): void;
17
+ resetGame(): void;
18
+ cleanup(): void;
19
+ initializeBubbles(): void;
20
+ updateShootingBubble(_offset: number): void;
21
+ checkBubbleCollision(x: number, y: number): Bubble | null;
22
+ snapBubbleToGrid(x: number, y: number, color: string): void;
23
+ findConnectedBubbles(startBubble: Bubble, allBubbles: Bubble[]): Bubble[];
24
+ shoot(): void;
25
+ }
26
+ //# sourceMappingURL=BubbleShooterService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BubbleShooterService.d.ts","sourceRoot":"","sources":["../../../../../src/games/bubble-shooter/BubbleShooterService.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAK1E,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,MAAM,CAAa;IAG3B,OAAO,CAAC,OAAO,CAAC,CAAa;IAC7B,OAAO,CAAC,aAAa,CAAC,CAAa;IACnC,OAAO,CAAC,SAAS,CAAC,CAAa;;IAI/B,YAAY,CACV,OAAO,CAAC,EAAE,MAAM,IAAI,EACpB,aAAa,CAAC,EAAE,MAAM,IAAI,EAC1B,SAAS,CAAC,EAAE,MAAM,IAAI;IAOxB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAKlD,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,MAAU;IAM3D,SAAS;IAIT,QAAQ;IAIR,SAAS;IAIT,OAAO;IAKP,iBAAiB;IAmDjB,oBAAoB,CAAC,OAAO,EAAE,MAAM;IA4CpC,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAmBzD,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IA+IpD,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAqCzE,KAAK;CAwBN"}
@@ -0,0 +1,62 @@
1
+ export interface Bubble {
2
+ id: string;
3
+ row: number;
4
+ col: number;
5
+ color: string;
6
+ x: number;
7
+ y: number;
8
+ }
9
+ export interface ShootingBubble {
10
+ id: string;
11
+ x: number;
12
+ y: number;
13
+ vx: number;
14
+ vy: number;
15
+ color: string;
16
+ }
17
+ export interface GameState {
18
+ score: number;
19
+ isPlaying: boolean;
20
+ gameOver: boolean;
21
+ gameWon: boolean;
22
+ }
23
+ export interface BubbleShooterStore extends GameState {
24
+ shooterAngle: number;
25
+ bubbles: Bubble[];
26
+ shootingBubble: ShootingBubble | null;
27
+ nextBubbleColor: string;
28
+ currentBubbleColor: string;
29
+ startGame: (rowCount: number, colorCount: number) => void;
30
+ stopGame: () => void;
31
+ resetGame: () => void;
32
+ updateScore: (points: number) => void;
33
+ setShooterAngle: (angle: number) => void;
34
+ shootBubble: () => void;
35
+ updateShootingBubble: (bubble: ShootingBubble) => void;
36
+ clearShootingBubble: () => void;
37
+ addBubble: (bubble: Bubble) => void;
38
+ removeBubbles: (bubbleIds: string[]) => void;
39
+ updateBubbles: (bubbles: Bubble[]) => void;
40
+ setGameOver: () => void;
41
+ setGameWon: () => void;
42
+ generateNextBubble: () => void;
43
+ }
44
+ export declare const useBubbleShooterStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<BubbleShooterStore>, "subscribe"> & {
45
+ subscribe: {
46
+ (listener: (selectedState: BubbleShooterStore, previousSelectedState: BubbleShooterStore) => void): () => void;
47
+ <U>(selector: (state: BubbleShooterStore) => U, listener: (selectedState: U, previousSelectedState: U) => void, options?: {
48
+ equalityFn?: ((a: U, b: U) => boolean) | undefined;
49
+ fireImmediately?: boolean;
50
+ } | undefined): () => void;
51
+ };
52
+ }>;
53
+ export declare const useScore: () => number;
54
+ export declare const useIsPlaying: () => boolean;
55
+ export declare const useGameOver: () => boolean;
56
+ export declare const useGameWon: () => boolean;
57
+ export declare const useShooterAngle: () => number;
58
+ export declare const useBubbles: () => Bubble[];
59
+ export declare const useShootingBubble: () => ShootingBubble | null;
60
+ export declare const useCurrentBubbleColor: () => string;
61
+ export declare const useNextBubbleColor: () => string;
62
+ //# sourceMappingURL=BubbleShooterStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BubbleShooterStore.d.ts","sourceRoot":"","sources":["../../../../../src/games/bubble-shooter/BubbleShooterStore.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAG3B,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,oBAAoB,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IACvD,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC7C,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC3C,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,kBAAkB,EAAE,MAAM,IAAI,CAAC;CAChC;AAGD,eAAO,MAAM,qBAAqB;;;;;;;;EAwKjC,CAAC;AAGF,eAAO,MAAM,QAAQ,cAAsD,CAAC;AAC5E,eAAO,MAAM,YAAY,eAA0D,CAAC;AACpF,eAAO,MAAM,WAAW,eAAyD,CAAC;AAClF,eAAO,MAAM,UAAU,eAAwD,CAAC;AAChF,eAAO,MAAM,eAAe,cAA6D,CAAC;AAC1F,eAAO,MAAM,UAAU,gBAAwD,CAAC;AAChF,eAAO,MAAM,iBAAiB,6BAA+D,CAAC;AAC9F,eAAO,MAAM,qBAAqB,cAAmE,CAAC;AACtG,eAAO,MAAM,kBAAkB,cAAgE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { BubbleShooterService } from '../BubbleShooterService';
3
+ interface GameAreaProps {
4
+ gameService: BubbleShooterService;
5
+ offset: number;
6
+ }
7
+ export declare const GameArea: React.NamedExoticComponent<GameAreaProps>;
8
+ export {};
9
+ //# sourceMappingURL=GameArea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GameArea.d.ts","sourceRoot":"","sources":["../../../../../../src/games/bubble-shooter/components/GameArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAKpE,UAAU,aAAa;IACrB,WAAW,EAAE,oBAAoB,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB;AAuRD,eAAO,MAAM,QAAQ,2CAAuD,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface GameBackgroundProps {
3
+ children: React.ReactNode;
4
+ offset?: number;
5
+ }
6
+ export declare const GameBackground: React.FC<GameBackgroundProps>;
7
+ export {};
8
+ //# sourceMappingURL=GameBackground.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GameBackground.d.ts","sourceRoot":"","sources":["../../../../../../src/games/bubble-shooter/components/GameBackground.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AA4B1B,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAgNvD,CAAC"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ interface ScoreBoardProps {
3
+ offset?: number;
4
+ }
5
+ export declare const ScoreBoard: React.MemoExoticComponent<({ offset }: ScoreBoardProps) => import("react/jsx-runtime").JSX.Element>;
6
+ export {};
7
+ //# sourceMappingURL=ScoreBoard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScoreBoard.d.ts","sourceRoot":"","sources":["../../../../../../src/games/bubble-shooter/components/ScoreBoard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,UAAU,eAAe;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,UAAU,yCAA+B,eAAe,6CAanE,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { GameBackground } from './GameBackground';
2
+ export { ScoreBoard } from './ScoreBoard';
3
+ export { GameArea } from './GameArea';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/games/bubble-shooter/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { BubbleShooter } from './BubbleShooter';
2
+ export { BUBBLE_SHOOTER_THEME } from './BubbleShooterConstants';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/games/bubble-shooter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CandyCrush.d.ts","sourceRoot":"","sources":["../../../../../src/games/candy-crush/CandyCrush.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAY,KAAK,SAAS,EAAyB,MAAM,6BAA6B,CAAC;AAU9F,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CA0GzC,CAAC"}
1
+ {"version":3,"file":"CandyCrush.d.ts","sourceRoot":"","sources":["../../../../../src/games/candy-crush/CandyCrush.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAY,KAAK,SAAS,EAAyB,MAAM,6BAA6B,CAAC;AAU9F,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAuIzC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { GameProps } from '../../services/UtilsService';
3
+ export declare const CarRacing: React.FC<GameProps>;
4
+ //# sourceMappingURL=CarRacing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CarRacing.d.ts","sourceRoot":"","sources":["../../../../../src/games/car-racing/CarRacing.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAmB1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAM7D,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CA8QzC,CAAC"}
@@ -0,0 +1,76 @@
1
+ import type { GameSettingsTheme } from '../../services/GamesConstants';
2
+ export interface CarRacingSettings {
3
+ difficulty: 'easy' | 'medium' | 'hard';
4
+ soundEnabled: boolean;
5
+ hapticEnabled: boolean;
6
+ gameDuration: number;
7
+ obstacleSpawnInterval: number;
8
+ roadSpeed: number;
9
+ }
10
+ export declare const CAR_RACING_DIFFICULTY_CONFIG: {
11
+ readonly easy: {
12
+ readonly gameDuration: 60;
13
+ readonly obstacleSpawnInterval: 2500;
14
+ readonly roadSpeed: 4;
15
+ };
16
+ readonly medium: {
17
+ readonly gameDuration: 120;
18
+ readonly obstacleSpawnInterval: 2000;
19
+ readonly roadSpeed: 6;
20
+ };
21
+ readonly hard: {
22
+ readonly gameDuration: 180;
23
+ readonly obstacleSpawnInterval: 1500;
24
+ readonly roadSpeed: 8;
25
+ };
26
+ };
27
+ export declare const getDifficultySettings: (difficulty: "easy" | "medium" | "hard") => {
28
+ readonly gameDuration: 60;
29
+ readonly obstacleSpawnInterval: 2500;
30
+ readonly roadSpeed: 4;
31
+ } | {
32
+ readonly gameDuration: 120;
33
+ readonly obstacleSpawnInterval: 2000;
34
+ readonly roadSpeed: 6;
35
+ } | {
36
+ readonly gameDuration: 180;
37
+ readonly obstacleSpawnInterval: 1500;
38
+ readonly roadSpeed: 8;
39
+ };
40
+ export declare const DEFAULT_CAR_RACING_SETTINGS: CarRacingSettings;
41
+ export declare const CAR_RACING_GAME_CONFIG: {
42
+ readonly GAME_DURATION: 120;
43
+ readonly CAR_WIDTH: 50;
44
+ readonly CAR_HEIGHT: 80;
45
+ readonly OBSTACLE_WIDTH: 50;
46
+ readonly OBSTACLE_HEIGHT: 80;
47
+ readonly ROAD_LANES: 3;
48
+ readonly LANE_WIDTH: 100;
49
+ readonly ROAD_SPEED: 6;
50
+ readonly OBSTACLE_SPAWN_INTERVAL: 2000;
51
+ readonly COLLISION_TOLERANCE: 5;
52
+ readonly POINTS_PER_OBSTACLE_PASSED: 10;
53
+ readonly LANE_SWITCH_DURATION: 200;
54
+ };
55
+ export declare const CAR_RACING_COLORS: {
56
+ readonly ROAD_DARK: "#2a2a2a";
57
+ readonly ROAD_LIGHT: "#3a3a3a";
58
+ readonly ROAD_LINE: "#ffffff";
59
+ readonly GRASS_GREEN: "#2d5016";
60
+ readonly GRASS_DARK: "#1a3009";
61
+ readonly SKY_BLUE: "#87ceeb";
62
+ readonly PLAYER_CAR: "#ff4444";
63
+ readonly OBSTACLE_CAR_1: "#4444ff";
64
+ readonly OBSTACLE_CAR_2: "#44ff44";
65
+ readonly OBSTACLE_CAR_3: "#ffff44";
66
+ readonly SCORE: "#ffd700";
67
+ readonly UI: "#ff4444";
68
+ };
69
+ export declare const CAR_RACING_THEME: GameSettingsTheme;
70
+ export declare const CAR_RACING_DIFFICULTY_DESCRIPTIONS: {
71
+ readonly easy: "1 min, slower traffic, relaxed driving";
72
+ readonly medium: "2 mins, normal traffic speed, balanced challenge";
73
+ readonly hard: "3 mins, fast traffic, quick reflexes needed!";
74
+ };
75
+ export declare const getLanePosition: (laneIndex: number, screenWidth: number) => number;
76
+ //# sourceMappingURL=CarRacingConstants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CarRacingConstants.d.ts","sourceRoot":"","sources":["../../../../../src/games/car-racing/CarRacingConstants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGvE,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IACvC,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;CAgB/B,CAAC;AAGX,eAAO,MAAM,qBAAqB,GAAI,YAAY,MAAM,GAAG,QAAQ,GAAG,MAAM;;;;;;;;;;;;CAE3E,CAAC;AAGF,eAAO,MAAM,2BAA2B,EAAE,iBAOzC,CAAC;AAGF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;CAazB,CAAC;AAGX,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;CAapB,CAAC;AAGX,eAAO,MAAM,gBAAgB,EAAE,iBAc9B,CAAC;AAGF,eAAO,MAAM,kCAAkC;;;;CAIrC,CAAC;AAKX,eAAO,MAAM,eAAe,GAAI,WAAW,MAAM,EAAE,aAAa,MAAM,KAAG,MAQxE,CAAC"}
@@ -0,0 +1,22 @@
1
+ export declare class CarRacingService {
2
+ private obstacleSpawnTimer;
3
+ private gameLoopTimer;
4
+ private obstacleIdCounter;
5
+ private roadSpeed;
6
+ private obstacleSpawnInterval;
7
+ private collisionCooldown;
8
+ private onCollision?;
9
+ private onPass?;
10
+ constructor(roadSpeed?: number, obstacleSpawnInterval?: number);
11
+ setCallbacks(onCollision?: () => void, onPass?: () => void): void;
12
+ startGame(): void;
13
+ stopGame(): void;
14
+ private updateGameState;
15
+ private checkCollision;
16
+ private startObstacleSpawning;
17
+ private spawnObstacle;
18
+ private fastRandom;
19
+ movePlayerToLane(lane: number): void;
20
+ cleanup(): void;
21
+ }
22
+ //# sourceMappingURL=CarRacingService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CarRacingService.d.ts","sourceRoot":"","sources":["../../../../../src/games/car-racing/CarRacingService.ts"],"names":[],"mappings":"AAOA,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,kBAAkB,CAA+B;IACzD,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,SAAS,CAA6C;IAC9D,OAAO,CAAC,qBAAqB,CAA0D;IACvF,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC,OAAO,CAAC,MAAM,CAAC,CAAa;gBAEhB,SAAS,CAAC,EAAE,MAAM,EAAE,qBAAqB,CAAC,EAAE,MAAM;IAM9D,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAMjE,SAAS,IAAI,IAAI;IAejB,QAAQ,IAAI,IAAI;IAKhB,OAAO,CAAC,eAAe;IAyCvB,OAAO,CAAC,cAAc;IAwCtB,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,aAAa;IAgCrB,OAAO,CAAC,UAAU;IAKlB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQpC,OAAO,IAAI,IAAI;CAahB"}
@@ -0,0 +1,72 @@
1
+ export interface Obstacle {
2
+ id: string;
3
+ x: number;
4
+ y: number;
5
+ lane: number;
6
+ width: number;
7
+ height: number;
8
+ color: string;
9
+ passed: boolean;
10
+ }
11
+ export interface PlayerCar {
12
+ x: number;
13
+ y: number;
14
+ lane: number;
15
+ width: number;
16
+ height: number;
17
+ }
18
+ export interface ParticleEffect {
19
+ id: string;
20
+ x: number;
21
+ y: number;
22
+ }
23
+ export interface GameState {
24
+ score: number;
25
+ timeLeft: number;
26
+ isPlaying: boolean;
27
+ gameOver: boolean;
28
+ lives: number;
29
+ }
30
+ export interface CarRacingStore extends GameState {
31
+ obstacles: Obstacle[];
32
+ playerCar: PlayerCar;
33
+ roadOffset: number;
34
+ particleEffects: ParticleEffect[];
35
+ offset: number;
36
+ gameDuration: number;
37
+ startGame: (gameDuration?: number, offset?: number) => void;
38
+ setOffset: (offset: number) => void;
39
+ stopGame: () => void;
40
+ resetGame: () => void;
41
+ updateScore: (points: number) => void;
42
+ decrementTime: () => void;
43
+ addObstacle: (obstacle: Obstacle) => void;
44
+ removeObstacle: (obstacleId: string) => void;
45
+ updateObstacle: (obstacleId: string, updates: Partial<Obstacle>) => void;
46
+ movePlayerCar: (lane: number) => void;
47
+ updateRoadOffset: (offset: number) => void;
48
+ markObstaclePassed: (obstacleId: string) => void;
49
+ loseLife: () => void;
50
+ clearObstacles: () => void;
51
+ addParticleEffect: (x: number, y: number) => void;
52
+ removeParticleEffect: (effectId: string) => void;
53
+ }
54
+ export declare const useCarRacingStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<CarRacingStore>, "subscribe"> & {
55
+ subscribe: {
56
+ (listener: (selectedState: CarRacingStore, previousSelectedState: CarRacingStore) => void): () => void;
57
+ <U>(selector: (state: CarRacingStore) => U, listener: (selectedState: U, previousSelectedState: U) => void, options?: {
58
+ equalityFn?: ((a: U, b: U) => boolean) | undefined;
59
+ fireImmediately?: boolean;
60
+ } | undefined): () => void;
61
+ };
62
+ }>;
63
+ export declare const useScore: () => number;
64
+ export declare const useTimeLeft: () => number;
65
+ export declare const useLives: () => number;
66
+ export declare const useIsPlaying: () => boolean;
67
+ export declare const useGameOver: () => boolean;
68
+ export declare const useObstacles: () => Obstacle[];
69
+ export declare const usePlayerCar: () => PlayerCar;
70
+ export declare const useRoadOffset: () => number;
71
+ export declare const useParticleEffects: () => ParticleEffect[];
72
+ //# sourceMappingURL=CarRacingStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CarRacingStore.d.ts","sourceRoot":"","sources":["../../../../../src/games/car-racing/CarRacingStore.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IAGrB,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,WAAW,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC1C,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;IACzE,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,kBAAkB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,iBAAiB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,oBAAoB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAClD;AAGD,eAAO,MAAM,iBAAiB;;;;;;;;EAiN7B,CAAC;AAGF,eAAO,MAAM,QAAQ,cAAkD,CAAC;AACxE,eAAO,MAAM,WAAW,cAAqD,CAAC;AAC9E,eAAO,MAAM,QAAQ,cAAkD,CAAC;AACxE,eAAO,MAAM,YAAY,eAAsD,CAAC;AAChF,eAAO,MAAM,WAAW,eAAqD,CAAC;AAC9E,eAAO,MAAM,YAAY,kBAAsD,CAAC;AAChF,eAAO,MAAM,YAAY,iBAAsD,CAAC;AAChF,eAAO,MAAM,aAAa,cAAuD,CAAC;AAClF,eAAO,MAAM,kBAAkB,wBAA4D,CAAC"}
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ interface CarComponentProps {
3
+ x: number;
4
+ y: number;
5
+ width: number;
6
+ height: number;
7
+ color: string;
8
+ isPlayer?: boolean;
9
+ }
10
+ export declare const CarComponent: React.MemoExoticComponent<({ x, y, width, height, color, isPlayer }: CarComponentProps) => import("react/jsx-runtime").JSX.Element>;
11
+ export declare const MemoizedCarComponent: React.MemoExoticComponent<React.MemoExoticComponent<({ x, y, width, height, color, isPlayer }: CarComponentProps) => import("react/jsx-runtime").JSX.Element>>;
12
+ export {};
13
+ //# sourceMappingURL=CarComponent.d.ts.map