react-native-games 1.1.0 → 1.2.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 (212) hide show
  1. package/README.md +58 -7
  2. package/lib/module/games/balloon-blaster/BalloonBlaster.js +1 -167
  3. package/lib/module/games/balloon-blaster/BalloonBlaster.js.map +1 -1
  4. package/lib/module/games/balloon-blaster/BalloonBlasterConstants.js +1 -182
  5. package/lib/module/games/balloon-blaster/BalloonBlasterConstants.js.map +1 -1
  6. package/lib/module/games/balloon-blaster/BalloonBlasterService.js +1 -318
  7. package/lib/module/games/balloon-blaster/BalloonBlasterStore.js +1 -183
  8. package/lib/module/games/balloon-blaster/components/BalloonComponent.js +1 -237
  9. package/lib/module/games/balloon-blaster/components/GameArea.js +1 -156
  10. package/lib/module/games/balloon-blaster/components/GameBackground.js +1 -476
  11. package/lib/module/games/balloon-blaster/components/ScoreBoard.js +1 -112
  12. package/lib/module/games/balloon-blaster/components/ScoreBoard.js.map +1 -1
  13. package/lib/module/games/balloon-blaster/components/index.js +1 -7
  14. package/lib/module/games/candy-crush/CandyCrush.js +1 -131
  15. package/lib/module/games/candy-crush/CandyCrush.js.map +1 -1
  16. package/lib/module/games/candy-crush/CandyCrushConstants.js +1 -125
  17. package/lib/module/games/candy-crush/CandyCrushConstants.js.map +1 -1
  18. package/lib/module/games/candy-crush/CandyCrushService.js +1 -370
  19. package/lib/module/games/candy-crush/CandyCrushStore.js +1 -303
  20. package/lib/module/games/candy-crush/components/CandyItem.js +1 -191
  21. package/lib/module/games/candy-crush/components/GameBackground.js +1 -85
  22. package/lib/module/games/candy-crush/components/GameGrid.js +1 -314
  23. package/lib/module/games/candy-crush/components/ScoreBoard.js +1 -79
  24. package/lib/module/games/candy-crush/components/index.js +1 -7
  25. package/lib/module/games/candy-crush/index.js +1 -6
  26. package/lib/module/games/colors-sort/ColorsSort.js +1 -143
  27. package/lib/module/games/colors-sort/ColorsSort.js.map +1 -1
  28. package/lib/module/games/colors-sort/ColorsSortConstants.js +1 -72
  29. package/lib/module/games/colors-sort/ColorsSortConstants.js.map +1 -1
  30. package/lib/module/games/colors-sort/ColorsSortService.js +1 -255
  31. package/lib/module/games/colors-sort/ColorsSortStore.js +1 -257
  32. package/lib/module/games/colors-sort/ColorsSortStore.js.map +1 -1
  33. package/lib/module/games/colors-sort/components/ColorContainer.js +1 -140
  34. package/lib/module/games/colors-sort/components/GameBackground.js +1 -135
  35. package/lib/module/games/colors-sort/components/ScoreBoard.js +1 -70
  36. package/lib/module/games/colors-sort/components/index.js +1 -6
  37. package/lib/module/games/dino-jump/DinoJump.js +1 -209
  38. package/lib/module/games/dino-jump/DinoJump.js.map +1 -1
  39. package/lib/module/games/dino-jump/DinoJumpConstants.js +1 -189
  40. package/lib/module/games/dino-jump/DinoJumpConstants.js.map +1 -1
  41. package/lib/module/games/dino-jump/DinoJumpService.js +1 -270
  42. package/lib/module/games/dino-jump/DinoJumpStore.js +1 -381
  43. package/lib/module/games/dino-jump/components/DinoSprite.js +1 -418
  44. package/lib/module/games/dino-jump/components/DinoSprite.js.map +1 -1
  45. package/lib/module/games/dino-jump/components/GameArea.js +1 -68
  46. package/lib/module/games/dino-jump/components/GameBackground.js +1 -444
  47. package/lib/module/games/dino-jump/components/ObstacleSprite.js +1 -306
  48. package/lib/module/games/dino-jump/components/ScoreBoard.js +1 -105
  49. package/lib/module/games/dino-jump/components/ScoreBoard.js.map +1 -1
  50. package/lib/module/games/dino-jump/components/StarSprite.js +1 -45
  51. package/lib/module/games/dino-jump/components/index.js +1 -9
  52. package/lib/module/games/flappy-bird/FlappyBird.js +1 -126
  53. package/lib/module/games/flappy-bird/FlappyBird.js.map +1 -1
  54. package/lib/module/games/flappy-bird/FlappyBirdConstants.js +1 -90
  55. package/lib/module/games/flappy-bird/FlappyBirdConstants.js.map +1 -1
  56. package/lib/module/games/flappy-bird/FlappyBirdStore.js +1 -300
  57. package/lib/module/games/flappy-bird/components/Bird.js +1 -87
  58. package/lib/module/games/flappy-bird/components/GameArea.js +1 -87
  59. package/lib/module/games/flappy-bird/components/GameBackground.js +1 -79
  60. package/lib/module/games/flappy-bird/components/Pipes.js +1 -172
  61. package/lib/module/games/flappy-bird/components/ScoreBoard.js +1 -73
  62. package/lib/module/games/flappy-bird/components/index.js +1 -8
  63. package/lib/module/games/fruit-merger/FruitMerger.js +1 -120
  64. package/lib/module/games/fruit-merger/FruitMerger.js.map +1 -1
  65. package/lib/module/games/fruit-merger/FruitMergerConstants.js +1 -119
  66. package/lib/module/games/fruit-merger/FruitMergerConstants.js.map +1 -1
  67. package/lib/module/games/fruit-merger/FruitMergerService.js +1 -13
  68. package/lib/module/games/fruit-merger/FruitMergerStore.js +1 -315
  69. package/lib/module/games/fruit-merger/components/FruitItem.js +1 -102
  70. package/lib/module/games/fruit-merger/components/GameArea.js +1 -103
  71. package/lib/module/games/fruit-merger/components/GameBackground.js +1 -498
  72. package/lib/module/games/fruit-merger/components/ScoreBoard.js +1 -58
  73. package/lib/module/games/fruit-merger/components/index.js +1 -7
  74. package/lib/module/games/fruit-ninja/FruitNinja.js +1 -134
  75. package/lib/module/games/fruit-ninja/FruitNinja.js.map +1 -1
  76. package/lib/module/games/fruit-ninja/FruitNinjaConstants.js +1 -148
  77. package/lib/module/games/fruit-ninja/FruitNinjaConstants.js.map +1 -1
  78. package/lib/module/games/fruit-ninja/FruitNinjaService.js +1 -311
  79. package/lib/module/games/fruit-ninja/FruitNinjaStore.js +1 -191
  80. package/lib/module/games/fruit-ninja/FruitNinjaStore.js.map +1 -1
  81. package/lib/module/games/fruit-ninja/components/FruitComponent.js +1 -99
  82. package/lib/module/games/fruit-ninja/components/GameArea.js +1 -215
  83. package/lib/module/games/fruit-ninja/components/GameBackground.js +1 -1267
  84. package/lib/module/games/fruit-ninja/components/ScoreBoard.js +1 -92
  85. package/lib/module/games/fruit-ninja/components/ScoreBoard.js.map +1 -1
  86. package/lib/module/games/fruit-ninja/components/index.js +1 -7
  87. package/lib/module/games/game-2048/Game2048.js +1 -149
  88. package/lib/module/games/game-2048/Game2048.js.map +1 -1
  89. package/lib/module/games/game-2048/Game2048Constants.js +1 -263
  90. package/lib/module/games/game-2048/Game2048Constants.js.map +1 -1
  91. package/lib/module/games/game-2048/Game2048Service.js +1 -457
  92. package/lib/module/games/game-2048/Game2048Store.js +1 -236
  93. package/lib/module/games/game-2048/components/GameBackground.js +1 -247
  94. package/lib/module/games/game-2048/components/GameGrid.js +1 -139
  95. package/lib/module/games/game-2048/components/GameTile.js +1 -72
  96. package/lib/module/games/game-2048/components/ScoreBoard.js +1 -52
  97. package/lib/module/games/game-2048/components/index.js +1 -7
  98. package/lib/module/games/maze-runner/MazeRunner.js +1 -267
  99. package/lib/module/games/maze-runner/MazeRunner.js.map +1 -1
  100. package/lib/module/games/maze-runner/MazeRunnerConstants.js +1 -100
  101. package/lib/module/games/maze-runner/MazeRunnerConstants.js.map +1 -1
  102. package/lib/module/games/maze-runner/MazeRunnerService.js +1 -586
  103. package/lib/module/games/maze-runner/components/EnhancedBallComponent.js +1 -150
  104. package/lib/module/games/maze-runner/components/EnhancedGameArea.js +1 -370
  105. package/lib/module/games/maze-runner/components/GameBackground.js +1 -175
  106. package/lib/module/games/maze-runner/components/ScoreBoard.js +1 -61
  107. package/lib/module/games/maze-runner/components/SkiaPipeComponent.js +1 -209
  108. package/lib/module/games/maze-runner/components/StaticGameBackground.js +1 -169
  109. package/lib/module/games/maze-runner/components/WallComponent.js +1 -91
  110. package/lib/module/games/maze-runner/components/index.js +1 -8
  111. package/lib/module/games/popit-fidget/PopitFidget.js +1 -285
  112. package/lib/module/games/popit-fidget/PopitFidget.js.map +1 -1
  113. package/lib/module/games/popit-fidget/PopitFidgetConstants.js +1 -113
  114. package/lib/module/games/popit-fidget/PopitFidgetConstants.js.map +1 -1
  115. package/lib/module/games/popit-fidget/PopitFidgetService.js +1 -132
  116. package/lib/module/games/popit-fidget/PopitFidgetStore.js +1 -125
  117. package/lib/module/games/popit-fidget/components/BubbleComponent.js +1 -198
  118. package/lib/module/games/popit-fidget/components/FidgetGrid.js +1 -165
  119. package/lib/module/games/popit-fidget/components/GameBackground.js +1 -177
  120. package/lib/module/games/popit-fidget/components/ScoreBoard.js +1 -61
  121. package/lib/module/games/popit-fidget/components/index.js +1 -7
  122. package/lib/module/games/sliding-numbers/SlidingNumbers.js +1 -159
  123. package/lib/module/games/sliding-numbers/SlidingNumbers.js.map +1 -1
  124. package/lib/module/games/sliding-numbers/SlidingNumbersConstants.js +1 -207
  125. package/lib/module/games/sliding-numbers/SlidingNumbersConstants.js.map +1 -1
  126. package/lib/module/games/sliding-numbers/SlidingNumbersService.js +1 -248
  127. package/lib/module/games/sliding-numbers/SlidingNumbersStore.js +1 -274
  128. package/lib/module/games/sliding-numbers/components/GameBackground.js +1 -259
  129. package/lib/module/games/sliding-numbers/components/NumbersGrid.js +1 -174
  130. package/lib/module/games/sliding-numbers/components/NumbersTile.js +1 -116
  131. package/lib/module/games/sliding-numbers/components/ScoreBoard.js +1 -64
  132. package/lib/module/games/sliding-numbers/components/index.js +1 -7
  133. package/lib/module/games/snake/Snake.js +1 -189
  134. package/lib/module/games/snake/Snake.js.map +1 -1
  135. package/lib/module/games/snake/SnakeConstants.js +1 -138
  136. package/lib/module/games/snake/SnakeConstants.js.map +1 -1
  137. package/lib/module/games/snake/SnakeService.js +1 -148
  138. package/lib/module/games/snake/SnakeStore.js +1 -182
  139. package/lib/module/games/snake/components/GameBackground.js +1 -221
  140. package/lib/module/games/snake/components/GameGrid.js +1 -153
  141. package/lib/module/games/snake/components/ScoreBoard.js +1 -51
  142. package/lib/module/games/snake/components/index.js +1 -6
  143. package/lib/module/games/snake/index.js +1 -6
  144. package/lib/module/games/space-fighter/SpaceFighter.js +1 -165
  145. package/lib/module/games/space-fighter/SpaceFighter.js.map +1 -1
  146. package/lib/module/games/space-fighter/SpaceFighterConstants.js +1 -108
  147. package/lib/module/games/space-fighter/SpaceFighterConstants.js.map +1 -1
  148. package/lib/module/games/space-fighter/SpaceFighterService.js +1 -326
  149. package/lib/module/games/space-fighter/SpaceFighterStore.js +1 -209
  150. package/lib/module/games/space-fighter/components/AsteroidComponent.js +1 -113
  151. package/lib/module/games/space-fighter/components/GameArea.js +1 -289
  152. package/lib/module/games/space-fighter/components/GameBackground.js +1 -239
  153. package/lib/module/games/space-fighter/components/ScoreBoard.js +1 -136
  154. package/lib/module/games/space-fighter/components/Spacecraft3D.js +1 -202
  155. package/lib/module/games/space-fighter/components/SpacecraftPath.js +1 -52
  156. package/lib/module/games/space-fighter/components/index.js +1 -9
  157. package/lib/module/games/whack-a-mole/WhackAMole.js +1 -270
  158. package/lib/module/games/whack-a-mole/WhackAMole.js.map +1 -1
  159. package/lib/module/games/whack-a-mole/WhackAMoleConstants.js +1 -115
  160. package/lib/module/games/whack-a-mole/WhackAMoleConstants.js.map +1 -1
  161. package/lib/module/games/whack-a-mole/WhackAMoleService.js +1 -120
  162. package/lib/module/games/whack-a-mole/WhackAMoleStore.js +1 -172
  163. package/lib/module/games/whack-a-mole/components/GameBackground.js +1 -477
  164. package/lib/module/games/whack-a-mole/components/GameGrid.js +1 -97
  165. package/lib/module/games/whack-a-mole/components/GameHole.js +1 -196
  166. package/lib/module/games/whack-a-mole/components/MoleCharacter.js +1 -241
  167. package/lib/module/games/whack-a-mole/components/ScoreBoard.js +1 -67
  168. package/lib/module/games/whack-a-mole/components/ScoreBoard.js.map +1 -1
  169. package/lib/module/games/whack-a-mole/components/index.js +1 -8
  170. package/lib/module/helpers/AnimationFrame.js +1 -120
  171. package/lib/module/helpers/AnimationTracker.js +1 -89
  172. package/lib/module/helpers/ErrorHandler.js +1 -269
  173. package/lib/module/helpers/GameControlButton.js +1 -219
  174. package/lib/module/helpers/GameOverModal.js +1 -144
  175. package/lib/module/helpers/GameOverModal.js.map +1 -1
  176. package/lib/module/helpers/GameSettingsModal.js +1 -287
  177. package/lib/module/helpers/ParticleBlast.js +1 -134
  178. package/lib/module/helpers/ScoreBoardContainer.js +1 -34
  179. package/lib/module/helpers/index.js +1 -12
  180. package/lib/module/index.js +1 -22
  181. package/lib/module/services/GamesConstants.js +1 -178
  182. package/lib/module/services/GamesService.js +1 -112
  183. package/lib/module/services/GamesService.js.map +1 -1
  184. package/lib/module/services/HapticsService.js +1 -77
  185. package/lib/module/services/SoundsService.js +1 -302
  186. package/lib/module/services/UtilsService.js +1 -32
  187. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts.map +1 -1
  188. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterConstants.d.ts +1 -1
  189. package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts.map +1 -1
  190. package/lib/typescript/src/games/candy-crush/CandyCrushConstants.d.ts +7 -7
  191. package/lib/typescript/src/games/colors-sort/ColorsSort.d.ts.map +1 -1
  192. package/lib/typescript/src/games/colors-sort/ColorsSortStore.d.ts.map +1 -1
  193. package/lib/typescript/src/games/dino-jump/DinoJump.d.ts.map +1 -1
  194. package/lib/typescript/src/games/dino-jump/components/DinoSprite.d.ts.map +1 -1
  195. package/lib/typescript/src/games/flappy-bird/FlappyBird.d.ts.map +1 -1
  196. package/lib/typescript/src/games/flappy-bird/FlappyBirdConstants.d.ts.map +1 -1
  197. package/lib/typescript/src/games/fruit-merger/FruitMerger.d.ts.map +1 -1
  198. package/lib/typescript/src/games/fruit-merger/FruitMergerConstants.d.ts.map +1 -1
  199. package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts.map +1 -1
  200. package/lib/typescript/src/games/fruit-ninja/components/ScoreBoard.d.ts.map +1 -1
  201. package/lib/typescript/src/games/game-2048/Game2048.d.ts.map +1 -1
  202. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts.map +1 -1
  203. package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts.map +1 -1
  204. package/lib/typescript/src/games/sliding-numbers/SlidingNumbers.d.ts.map +1 -1
  205. package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts.map +1 -1
  206. package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts.map +1 -1
  207. package/lib/typescript/src/games/whack-a-mole/WhackAMoleConstants.d.ts +1 -1
  208. package/lib/typescript/src/games/whack-a-mole/components/ScoreBoard.d.ts.map +1 -1
  209. package/lib/typescript/src/helpers/GameOverModal.d.ts +3 -0
  210. package/lib/typescript/src/helpers/GameOverModal.d.ts.map +1 -1
  211. package/lib/typescript/src/services/GamesConstants.d.ts +7 -7
  212. package/package.json +2 -2
@@ -1,302 +1 @@
1
- "use strict";
2
-
3
- import * as Speech from 'expo-speech';
4
- // Throttle mechanism to prevent excessive speech instances
5
- let lastSpeechTime = 0;
6
- const SPEECH_THROTTLE_MS = 100; // Minimum 100ms between sounds
7
- let isSpeaking = false;
8
- export const playSound = (soundConfig, soundEnabled) => {
9
- if (!soundEnabled) return;
10
-
11
- // Throttle to prevent too many speech instances
12
- const now = Date.now();
13
- if (now - lastSpeechTime < SPEECH_THROTTLE_MS) {
14
- return;
15
- }
16
-
17
- // Don't queue if already speaking
18
- if (isSpeaking) {
19
- return;
20
- }
21
- lastSpeechTime = now;
22
- isSpeaking = true;
23
- Speech.speak(soundConfig.text, {
24
- pitch: soundConfig.pitch || 1.0,
25
- rate: soundConfig.rate || 1.5,
26
- language: soundConfig.language || 'en',
27
- onDone: () => {
28
- isSpeaking = false;
29
- },
30
- onStopped: () => {
31
- isSpeaking = false;
32
- },
33
- onError: () => {
34
- isSpeaking = false;
35
- }
36
- });
37
- };
38
- export const stopAllSounds = () => {
39
- Speech.stop();
40
- isSpeaking = false;
41
- lastSpeechTime = 0;
42
- };
43
- export const isSpeechAvailable = async () => {
44
- try {
45
- return await Speech.isSpeakingAsync();
46
- } catch {
47
- return false;
48
- }
49
- };
50
-
51
- // Predefined sound configurations for common game events
52
- export const GAME_SOUNDS = {
53
- // Generic game sounds
54
- POP: {
55
- text: 'Pop!',
56
- pitch: 1.6,
57
- rate: 2.2
58
- },
59
- SWOOSH: {
60
- text: 'Swoosh!',
61
- pitch: 1.5,
62
- rate: 2.5
63
- },
64
- BOOM: {
65
- text: 'Boom!',
66
- pitch: 0.8,
67
- rate: 1.5
68
- },
69
- WHOOSH: {
70
- text: 'Whoosh',
71
- pitch: 0.7,
72
- rate: 1.8
73
- },
74
- // Game state sounds - slower and more understandable
75
- GAME_START: {
76
- text: 'Game started!',
77
- pitch: 1.1,
78
- rate: 0.9
79
- },
80
- GAME_OVER: {
81
- text: 'Game over!',
82
- pitch: 0.9,
83
- rate: 0.8
84
- },
85
- TIME_UP: {
86
- text: 'Time up! Game over!',
87
- pitch: 0.9,
88
- rate: 0.8
89
- },
90
- WELL_DONE: {
91
- text: 'Well done!',
92
- pitch: 1.2,
93
- rate: 1.0
94
- },
95
- CONGRATULATIONS: {
96
- text: 'Congratulations!',
97
- pitch: 1.1,
98
- rate: 0.9
99
- },
100
- // Specific game sounds
101
- BUBBLE_POPPER: {
102
- START: {
103
- text: 'Bubble Popper started!',
104
- pitch: 1.1,
105
- rate: 0.9
106
- },
107
- COMPLETE: {
108
- text: 'All bubbles popped! Well done!',
109
- pitch: 1.2,
110
- rate: 1.0
111
- },
112
- POP: {
113
- text: 'Pop!',
114
- pitch: 1.6,
115
- rate: 2.2
116
- }
117
- },
118
- WHACK_A_MOLE: {
119
- HIT: {
120
- text: 'Pop!',
121
- pitch: 1.8,
122
- rate: 2.0
123
- },
124
- MISS: {
125
- text: 'Whoosh',
126
- pitch: 0.7,
127
- rate: 1.8
128
- }
129
- },
130
- BALLOON_BLASTER: {
131
- POP: {
132
- text: 'Pop!',
133
- pitch: 1.5,
134
- rate: 2.5
135
- },
136
- BOMB: {
137
- text: 'Boom!',
138
- pitch: 0.8,
139
- rate: 1.5
140
- },
141
- BONUS: {
142
- text: 'bonus life!',
143
- pitch: 1.8,
144
- rate: 2.0
145
- }
146
- },
147
- FRUIT_NINJA: {
148
- SLICE: {
149
- text: 'Swoosh!',
150
- pitch: 1.5,
151
- rate: 2.5
152
- },
153
- BOMB: {
154
- text: 'Boom!',
155
- pitch: 0.8,
156
- rate: 1.5
157
- },
158
- BONUS: {
159
- text: 'bonus life!',
160
- pitch: 1.8,
161
- rate: 2.0
162
- }
163
- },
164
- MAZE_RUNNER: {
165
- START: {
166
- text: 'Maze started! Navigate to the exit!',
167
- pitch: 1.0,
168
- rate: 0.9
169
- },
170
- COMPLETE: {
171
- text: 'Congratulations! Maze completed!',
172
- pitch: 1.1,
173
- rate: 0.9
174
- },
175
- STOP: {
176
- text: 'Maze stopped!',
177
- pitch: 0.9,
178
- rate: 0.8
179
- }
180
- },
181
- SPACE_FIGHTER: {
182
- START: {
183
- text: 'Mission started! Navigate through the asteroid field!',
184
- pitch: 1.0,
185
- rate: 0.9
186
- },
187
- SUCCESS: {
188
- text: 'Nice!',
189
- pitch: 1.8,
190
- rate: 2.0
191
- },
192
- COLLISION: {
193
- text: 'Ouch!',
194
- pitch: 0.8,
195
- rate: 1.5
196
- }
197
- },
198
- DINO_JUMP: {
199
- START: {
200
- text: 'Run!',
201
- pitch: 1.2,
202
- rate: 1.5
203
- },
204
- COLLECT: {
205
- text: 'Yum!',
206
- pitch: 1.8,
207
- rate: 2.2
208
- },
209
- HIT: {
210
- text: 'Ouch!',
211
- pitch: 0.8,
212
- rate: 1.5
213
- },
214
- GAME_OVER: {
215
- text: 'Game over!',
216
- pitch: 0.9,
217
- rate: 0.8
218
- }
219
- },
220
- COLORS_SORT: {
221
- START: {
222
- text: 'Sort colors!',
223
- pitch: 1.1,
224
- rate: 1.2
225
- },
226
- MATCH: {
227
- text: 'Click!',
228
- pitch: 1.6,
229
- rate: 2.0
230
- },
231
- COMPLETE: {
232
- text: 'Perfect!',
233
- pitch: 1.8,
234
- rate: 1.8
235
- },
236
- MISS: {
237
- text: 'Oops!',
238
- pitch: 0.8,
239
- rate: 1.0
240
- },
241
- GAME_OVER: {
242
- text: 'Game over!',
243
- pitch: 0.9,
244
- rate: 0.8
245
- }
246
- },
247
- FRUIT_MERGER: {
248
- START: {
249
- text: 'Merge fruits!',
250
- pitch: 1.2,
251
- rate: 1.3
252
- },
253
- MERGE: {
254
- text: 'Pop!',
255
- pitch: 1.5,
256
- rate: 1.8
257
- },
258
- DROP: {
259
- text: 'Boing!',
260
- pitch: 1.3,
261
- rate: 1.5
262
- },
263
- COMPLETE: {
264
- text: 'Amazing!',
265
- pitch: 1.9,
266
- rate: 1.9
267
- },
268
- GAME_OVER: {
269
- text: 'Game over!',
270
- pitch: 0.9,
271
- rate: 0.8
272
- }
273
- },
274
- FLAPPY_BIRD: {
275
- START: {
276
- text: 'Fly!',
277
- pitch: 1.3,
278
- rate: 1.5
279
- },
280
- FLAP: {
281
- text: 'Flap!',
282
- pitch: 1.8,
283
- rate: 2.5
284
- },
285
- SCORE: {
286
- text: 'Point!',
287
- pitch: 1.6,
288
- rate: 2.0
289
- },
290
- HIT: {
291
- text: 'Ouch!',
292
- pitch: 0.8,
293
- rate: 1.2
294
- },
295
- GAME_OVER: {
296
- text: 'Game over!',
297
- pitch: 0.9,
298
- rate: 0.8
299
- }
300
- }
301
- };
302
- //# sourceMappingURL=SoundsService.js.map
1
+ "use strict";import * as Speech from 'expo-speech';let lastSpeechTime = 0;const SPEECH_THROTTLE_MS = 100;let isSpeaking = false;export const playSound =(soundConfig,soundEnabled)=>{if(!soundEnabled)return;const now = Date.now();if(now - lastSpeechTime < SPEECH_THROTTLE_MS){return;}if(isSpeaking){return;}lastSpeechTime = now;isSpeaking = true;Speech.speak(soundConfig.text,{pitch:soundConfig.pitch || 1.0,rate:soundConfig.rate || 1.5,language:soundConfig.language || 'en',onDone:()=>{isSpeaking = false;},onStopped:()=>{isSpeaking = false;},onError:()=>{isSpeaking = false;}});};export const stopAllSounds =()=>{Speech.stop();isSpeaking = false;lastSpeechTime = 0;};export const isSpeechAvailable = async()=>{try{return await Speech.isSpeakingAsync();}catch{return false;}};export const GAME_SOUNDS ={POP:{text:'Pop!',pitch:1.6,rate:2.2},SWOOSH:{text:'Swoosh!',pitch:1.5,rate:2.5},BOOM:{text:'Boom!',pitch:0.8,rate:1.5},WHOOSH:{text:'Whoosh',pitch:0.7,rate:1.8},GAME_START:{text:'Game started!',pitch:1.1,rate:0.9},GAME_OVER:{text:'Game over!',pitch:0.9,rate:0.8},TIME_UP:{text:'Time up! Game over!',pitch:0.9,rate:0.8},WELL_DONE:{text:'Well done!',pitch:1.2,rate:1.0},CONGRATULATIONS:{text:'Congratulations!',pitch:1.1,rate:0.9},BUBBLE_POPPER:{START:{text:'Bubble Popper started!',pitch:1.1,rate:0.9},COMPLETE:{text:'All bubbles popped! Well done!',pitch:1.2,rate:1.0},POP:{text:'Pop!',pitch:1.6,rate:2.2}},WHACK_A_MOLE:{HIT:{text:'Pop!',pitch:1.8,rate:2.0},MISS:{text:'Whoosh',pitch:0.7,rate:1.8}},BALLOON_BLASTER:{POP:{text:'Pop!',pitch:1.5,rate:2.5},BOMB:{text:'Boom!',pitch:0.8,rate:1.5},BONUS:{text:'bonus life!',pitch:1.8,rate:2.0}},FRUIT_NINJA:{SLICE:{text:'Swoosh!',pitch:1.5,rate:2.5},BOMB:{text:'Boom!',pitch:0.8,rate:1.5},BONUS:{text:'bonus life!',pitch:1.8,rate:2.0}},MAZE_RUNNER:{START:{text:'Maze started! Navigate to the exit!',pitch:1.0,rate:0.9},COMPLETE:{text:'Congratulations! Maze completed!',pitch:1.1,rate:0.9},STOP:{text:'Maze stopped!',pitch:0.9,rate:0.8}},SPACE_FIGHTER:{START:{text:'Mission started! Navigate through the asteroid field!',pitch:1.0,rate:0.9},SUCCESS:{text:'Nice!',pitch:1.8,rate:2.0},COLLISION:{text:'Ouch!',pitch:0.8,rate:1.5}},DINO_JUMP:{START:{text:'Run!',pitch:1.2,rate:1.5},COLLECT:{text:'Yum!',pitch:1.8,rate:2.2},HIT:{text:'Ouch!',pitch:0.8,rate:1.5},GAME_OVER:{text:'Game over!',pitch:0.9,rate:0.8}},COLORS_SORT:{START:{text:'Sort colors!',pitch:1.1,rate:1.2},MATCH:{text:'Click!',pitch:1.6,rate:2.0},COMPLETE:{text:'Perfect!',pitch:1.8,rate:1.8},MISS:{text:'Oops!',pitch:0.8,rate:1.0},GAME_OVER:{text:'Game over!',pitch:0.9,rate:0.8}},FRUIT_MERGER:{START:{text:'Merge fruits!',pitch:1.2,rate:1.3},MERGE:{text:'Pop!',pitch:1.5,rate:1.8},DROP:{text:'Boing!',pitch:1.3,rate:1.5},COMPLETE:{text:'Amazing!',pitch:1.9,rate:1.9},GAME_OVER:{text:'Game over!',pitch:0.9,rate:0.8}},FLAPPY_BIRD:{START:{text:'Fly!',pitch:1.3,rate:1.5},FLAP:{text:'Flap!',pitch:1.8,rate:2.5},SCORE:{text:'Point!',pitch:1.6,rate:2.0},HIT:{text:'Ouch!',pitch:0.8,rate:1.2},GAME_OVER:{text:'Game over!',pitch:0.9,rate:0.8}}};
@@ -1,32 +1 @@
1
- "use strict";
2
-
3
- import { produce } from 'immer';
4
- export const DEFAULT_GAME_SETTINGS = {
5
- isVisible: false,
6
- difficulty: 'medium',
7
- enableSounds: true,
8
- enableHaptics: true,
9
- offset: 0
10
- };
11
- export let GAME_IDS = /*#__PURE__*/function (GAME_IDS) {
12
- GAME_IDS["WHACK_A_MOLE"] = "whack-a-mole";
13
- GAME_IDS["POPIT_FIDGET"] = "popit-fidget";
14
- GAME_IDS["FRUIT_NINJA"] = "fruit-ninja";
15
- GAME_IDS["BALLOON_BLASTER"] = "balloon-blaster";
16
- GAME_IDS["SPACE_FIGHTER"] = "space-fighter";
17
- GAME_IDS["MAZE_RUNNER"] = "maze-runner";
18
- GAME_IDS["SLIDING_NUMBERS"] = "sliding-numbers";
19
- GAME_IDS["GAME_2048"] = "game-2048";
20
- GAME_IDS["DINO_JUMP"] = "dino-jump";
21
- GAME_IDS["COLORS_SORT"] = "colors-sort";
22
- GAME_IDS["FRUIT_MERGER"] = "fruit-merger";
23
- GAME_IDS["FLAPPY_BIRD"] = "flappy-bird";
24
- GAME_IDS["CANDY_CRUSH"] = "candy-crush";
25
- GAME_IDS["SNAKE"] = "snake";
26
- return GAME_IDS;
27
- }({});
28
- export const immerMiddleware = config => (set, get, api) => config((partial, ...args) => {
29
- const nextState = typeof partial === 'function' ? produce(partial) : partial;
30
- return set(nextState, ...args);
31
- }, get, api);
32
- //# sourceMappingURL=UtilsService.js.map
1
+ "use strict";import{produce}from 'immer';export const DEFAULT_GAME_SETTINGS ={isVisible:false,difficulty:'medium',enableSounds:true,enableHaptics:true,offset:0};export let GAME_IDS = function(GAME_IDS){GAME_IDS["WHACK_A_MOLE"] = "whack-a-mole";GAME_IDS["POPIT_FIDGET"] = "popit-fidget";GAME_IDS["FRUIT_NINJA"] = "fruit-ninja";GAME_IDS["BALLOON_BLASTER"] = "balloon-blaster";GAME_IDS["SPACE_FIGHTER"] = "space-fighter";GAME_IDS["MAZE_RUNNER"] = "maze-runner";GAME_IDS["SLIDING_NUMBERS"] = "sliding-numbers";GAME_IDS["GAME_2048"] = "game-2048";GAME_IDS["DINO_JUMP"] = "dino-jump";GAME_IDS["COLORS_SORT"] = "colors-sort";GAME_IDS["FRUIT_MERGER"] = "fruit-merger";GAME_IDS["FLAPPY_BIRD"] = "flappy-bird";GAME_IDS["CANDY_CRUSH"] = "candy-crush";GAME_IDS["SNAKE"] = "snake";return GAME_IDS;}({});export const immerMiddleware = config =>(set,get,api)=> config((partial,...args)=>{const nextState = typeof partial === 'function' ? produce(partial):partial;return set(nextState,...args);},get,api);
@@ -1 +1 @@
1
- {"version":3,"file":"BalloonBlaster.d.ts","sourceRoot":"","sources":["../../../../../src/games/balloon-blaster/BalloonBlaster.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAQ/D,OAAO,EAAY,KAAK,SAAS,EAAyB,MAAM,6BAA6B,CAAC;AAE9F,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAsJ7C,CAAC"}
1
+ {"version":3,"file":"BalloonBlaster.d.ts","sourceRoot":"","sources":["../../../../../src/games/balloon-blaster/BalloonBlaster.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAQ/D,OAAO,EAAY,KAAK,SAAS,EAAyB,MAAM,6BAA6B,CAAC;AAE9F,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAuJ7C,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { GameSettingsTheme } from '../../services/GamesConstants';
2
2
  export declare const BALLOON_BLASTER_GAME_CONFIG: {
3
- readonly GAME_DURATION: 60;
3
+ readonly GAME_DURATION: 120;
4
4
  readonly MAX_LIVES: 3;
5
5
  readonly BALLOON_SPAWN_INTERVAL: 800;
6
6
  readonly BALLOON_RISE_SPEED: 0.08;
@@ -1 +1 @@
1
- {"version":3,"file":"ScoreBoard.d.ts","sourceRoot":"","sources":["../../../../../../src/games/balloon-blaster/components/ScoreBoard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,UAAU,eAAe;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAoC/C,CAAC"}
1
+ {"version":3,"file":"ScoreBoard.d.ts","sourceRoot":"","sources":["../../../../../../src/games/balloon-blaster/components/ScoreBoard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,UAAU,eAAe;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA4C/C,CAAC"}
@@ -82,19 +82,19 @@ export declare const CANDY_CRUSH_SOUNDS: {
82
82
  };
83
83
  };
84
84
  export declare const CANDY_CRUSH_THEME: {
85
- readonly backgroundColor: "#2C3E50";
85
+ readonly backgroundColor: "rgba(0, 0, 0, 0.7)";
86
86
  readonly headerBackgroundColor: "#FF9500";
87
- readonly headerTextColor: "#FFFFFF";
87
+ readonly headerTextColor: "#ffffff";
88
88
  readonly sectionBackgroundColor: "rgba(255, 149, 0, 0.15)";
89
89
  readonly sectionTitleColor: "#FF9500";
90
90
  readonly buttonSelectedColor: "#FF9500";
91
- readonly buttonUnselectedColor: "rgba(255, 149, 0, 0.2)";
92
- readonly buttonSelectedTextColor: "#FFFFFF";
93
- readonly buttonUnselectedTextColor: "#FF9500";
91
+ readonly buttonUnselectedColor: "rgba(255, 255, 255, 0.2)";
92
+ readonly buttonSelectedTextColor: "#ffffff";
93
+ readonly buttonUnselectedTextColor: "rgba(255, 255, 255, 0.7)";
94
94
  readonly switchTrackColorFalse: "rgba(255, 149, 0, 0.3)";
95
95
  readonly switchTrackColorTrue: "#FF9500";
96
- readonly switchThumbColor: "#FFFFFF";
97
- readonly infoTextColor: "rgba(255, 255, 255, 0.7)";
96
+ readonly switchThumbColor: "#ffffff";
97
+ readonly infoTextColor: "rgba(255, 255, 255, 0.9)";
98
98
  };
99
99
  export declare const CANDY_CRUSH_DIFFICULTY_DESCRIPTIONS: {
100
100
  readonly easy: "1 minute • 4 candy types";
@@ -1 +1 @@
1
- {"version":3,"file":"ColorsSort.d.ts","sourceRoot":"","sources":["../../../../../src/games/colors-sort/ColorsSort.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAO/D,OAAO,EAAY,KAAK,SAAS,EAAyB,MAAM,6BAA6B,CAAC;AAK9F,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAoHzC,CAAC"}
1
+ {"version":3,"file":"ColorsSort.d.ts","sourceRoot":"","sources":["../../../../../src/games/colors-sort/ColorsSort.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAO/D,OAAO,EAAY,KAAK,SAAS,EAAyB,MAAM,6BAA6B,CAAC;AAK9F,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAqHzC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ColorsSortStore.d.ts","sourceRoot":"","sources":["../../../../../src/games/colors-sort/ColorsSortStore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAKhE,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IAErC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,KAAK,IAAI,CAAC;IACjE,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IACvE,YAAY,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1E,SAAS,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IAC5F,iBAAiB,EAAE,MAAM,OAAO,CAAC;IACjC,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AAcD,eAAO,MAAM,kBAAkB;;;;;;;;EAsQ9B,CAAC;AAGF,eAAO,MAAM,YAAY,eAAuD,CAAC;AACjF,eAAO,MAAM,aAAa,eAAwD,CAAC;AACnF,eAAO,MAAM,WAAW,eAAsD,CAAC;AAC/E,eAAO,MAAM,OAAO,cAAkD,CAAC;AACvE,eAAO,MAAM,aAAa,mBAAwD,CAAC;AACnF,eAAO,MAAM,sBAAsB,qBAAiE,CAAC"}
1
+ {"version":3,"file":"ColorsSortStore.d.ts","sourceRoot":"","sources":["../../../../../src/games/colors-sort/ColorsSortStore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAKhE,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IAErC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,KAAK,IAAI,CAAC;IACjE,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IACvE,YAAY,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1E,SAAS,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IAC5F,iBAAiB,EAAE,MAAM,OAAO,CAAC;IACjC,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AAcD,eAAO,MAAM,kBAAkB;;;;;;;;EAmS9B,CAAC;AAGF,eAAO,MAAM,YAAY,eAAuD,CAAC;AACjF,eAAO,MAAM,aAAa,eAAwD,CAAC;AACnF,eAAO,MAAM,WAAW,eAAsD,CAAC;AAC/E,eAAO,MAAM,OAAO,cAAkD,CAAC;AACvE,eAAO,MAAM,aAAa,mBAAwD,CAAC;AACnF,eAAO,MAAM,sBAAsB,qBAAiE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DinoJump.d.ts","sourceRoot":"","sources":["../../../../../src/games/dino-jump/DinoJump.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAQvE,OAAO,EAAY,KAAK,SAAS,EAAyB,MAAM,6BAA6B,CAAC;AAI9F,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAqOvC,CAAC"}
1
+ {"version":3,"file":"DinoJump.d.ts","sourceRoot":"","sources":["../../../../../src/games/dino-jump/DinoJump.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAQvE,OAAO,EAAY,KAAK,SAAS,EAAyB,MAAM,6BAA6B,CAAC;AAI9F,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAsOvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DinoSprite.d.ts","sourceRoot":"","sources":["../../../../../../src/games/dino-jump/components/DinoSprite.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAqB1B,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAqS7B,CAAC"}
1
+ {"version":3,"file":"DinoSprite.d.ts","sourceRoot":"","sources":["../../../../../../src/games/dino-jump/components/DinoSprite.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAoB1B,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAsR7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FlappyBird.d.ts","sourceRoot":"","sources":["../../../../../src/games/flappy-bird/FlappyBird.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAQvE,OAAO,EAAY,KAAK,SAAS,EAAyB,MAAM,6BAA6B,CAAC;AAU9F,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAsGzC,CAAC"}
1
+ {"version":3,"file":"FlappyBird.d.ts","sourceRoot":"","sources":["../../../../../src/games/flappy-bird/FlappyBird.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAQvE,OAAO,EAAY,KAAK,SAAS,EAAyB,MAAM,6BAA6B,CAAC;AAU9F,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAuGzC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FlappyBirdConstants.d.ts","sourceRoot":"","sources":["../../../../../src/games/flappy-bird/FlappyBirdConstants.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;CAmBnC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;CAe9B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;CAc7B,CAAC;AAEF,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;CAgB/C,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;CAa7B,CAAC"}
1
+ {"version":3,"file":"FlappyBirdConstants.d.ts","sourceRoot":"","sources":["../../../../../src/games/flappy-bird/FlappyBirdConstants.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;CAmBnC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;CAe9B,CAAC;AAGF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;CAc7B,CAAC;AAEF,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;CAgB/C,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;CAa7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FruitMerger.d.ts","sourceRoot":"","sources":["../../../../../src/games/fruit-merger/FruitMerger.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAQvE,OAAO,EAAY,KAAK,SAAS,EAAyB,MAAM,6BAA6B,CAAC;AAK9F,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAiG1C,CAAC"}
1
+ {"version":3,"file":"FruitMerger.d.ts","sourceRoot":"","sources":["../../../../../src/games/fruit-merger/FruitMerger.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAQvE,OAAO,EAAY,KAAK,SAAS,EAAyB,MAAM,6BAA6B,CAAC;AAK9F,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAkG1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FruitMergerConstants.d.ts","sourceRoot":"","sources":["../../../../../src/games/fruit-merger/FruitMergerConstants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;CAQ/B,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWd,CAAC;AAEX,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;CAapC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;CAc9B,CAAC;AAEF,eAAO,MAAM,oCAAoC;;;;CAIhD,CAAC"}
1
+ {"version":3,"file":"FruitMergerConstants.d.ts","sourceRoot":"","sources":["../../../../../src/games/fruit-merger/FruitMergerConstants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;CAQ/B,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWd,CAAC;AAEX,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;CAapC,CAAC;AAGF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;CAc9B,CAAC;AAEF,eAAO,MAAM,oCAAoC;;;;CAIhD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FruitNinja.d.ts","sourceRoot":"","sources":["../../../../../src/games/fruit-ninja/FruitNinja.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAQjD,OAAO,EAAY,KAAK,SAAS,EAAyB,MAAM,6BAA6B,CAAC;AAE9F,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CA8H1C,CAAC"}
1
+ {"version":3,"file":"FruitNinja.d.ts","sourceRoot":"","sources":["../../../../../src/games/fruit-ninja/FruitNinja.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAQjD,OAAO,EAAY,KAAK,SAAS,EAAyB,MAAM,6BAA6B,CAAC;AAE9F,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CA+H1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScoreBoard.d.ts","sourceRoot":"","sources":["../../../../../../src/games/fruit-ninja/components/ScoreBoard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,UAAU,eAAe;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAmC/C,CAAC"}
1
+ {"version":3,"file":"ScoreBoard.d.ts","sourceRoot":"","sources":["../../../../../../src/games/fruit-ninja/components/ScoreBoard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,UAAU,eAAe;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA2C/C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Game2048.d.ts","sourceRoot":"","sources":["../../../../../src/games/game-2048/Game2048.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAY,KAAK,SAAS,EAAyB,MAAM,6BAA6B,CAAC;AAY9F,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CA+HvC,CAAC"}
1
+ {"version":3,"file":"Game2048.d.ts","sourceRoot":"","sources":["../../../../../src/games/game-2048/Game2048.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAY,KAAK,SAAS,EAAyB,MAAM,6BAA6B,CAAC;AAY9F,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAgIvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MazeRunner.d.ts","sourceRoot":"","sources":["../../../../../src/games/maze-runner/MazeRunner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAiBjF,OAAO,EAAY,KAAK,SAAS,EAAyB,MAAM,6BAA6B,CAAC;AA2B9F,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CA2N1C,CAAC"}
1
+ {"version":3,"file":"MazeRunner.d.ts","sourceRoot":"","sources":["../../../../../src/games/maze-runner/MazeRunner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAiBjF,OAAO,EAAY,KAAK,SAAS,EAAyB,MAAM,6BAA6B,CAAC;AA2B9F,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CA4N1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PopitFidget.d.ts","sourceRoot":"","sources":["../../../../../src/games/popit-fidget/PopitFidget.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAKvE,OAAO,EAAY,KAAK,SAAS,EAAyB,MAAM,6BAA6B,CAAC;AAa9F,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAyQpC,CAAC;AAkBF,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"PopitFidget.d.ts","sourceRoot":"","sources":["../../../../../src/games/popit-fidget/PopitFidget.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAKvE,OAAO,EAAY,KAAK,SAAS,EAAyB,MAAM,6BAA6B,CAAC;AAa9F,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CA0QpC,CAAC;AAkBF,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SlidingNumbers.d.ts","sourceRoot":"","sources":["../../../../../src/games/sliding-numbers/SlidingNumbers.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAS/D,OAAO,EAAY,KAAK,SAAS,EAAyB,MAAM,6BAA6B,CAAC;AAE9F,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CA4I7C,CAAC"}
1
+ {"version":3,"file":"SlidingNumbers.d.ts","sourceRoot":"","sources":["../../../../../src/games/sliding-numbers/SlidingNumbers.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAS/D,OAAO,EAAY,KAAK,SAAS,EAAyB,MAAM,6BAA6B,CAAC;AAE9F,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CA6I7C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SpaceFighter.d.ts","sourceRoot":"","sources":["../../../../../src/games/space-fighter/SpaceFighter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAS/D,OAAO,EAAY,KAAK,SAAS,EAAyB,MAAM,6BAA6B,CAAC;AAI9F,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAgK5C,CAAC"}
1
+ {"version":3,"file":"SpaceFighter.d.ts","sourceRoot":"","sources":["../../../../../src/games/space-fighter/SpaceFighter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAS/D,OAAO,EAAY,KAAK,SAAS,EAAyB,MAAM,6BAA6B,CAAC;AAI9F,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAiK5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"WhackAMole.d.ts","sourceRoot":"","sources":["../../../../../src/games/whack-a-mole/WhackAMole.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAUvE,OAAO,EAAY,KAAK,SAAS,EAAyB,MAAM,6BAA6B,CAAC;AAE9F,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CA6P1C,CAAC"}
1
+ {"version":3,"file":"WhackAMole.d.ts","sourceRoot":"","sources":["../../../../../src/games/whack-a-mole/WhackAMole.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAUvE,OAAO,EAAY,KAAK,SAAS,EAAyB,MAAM,6BAA6B,CAAC;AAE9F,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CA8P1C,CAAC"}
@@ -31,7 +31,7 @@ export declare const WHACK_A_MOLE_GAME_CONFIG: {
31
31
  readonly HOLE_SIZE: number;
32
32
  readonly MOLE_APPEAR_DURATION: 1500;
33
33
  readonly MOLE_DISAPPEAR_DURATION: 500;
34
- readonly GAME_DURATION: 60;
34
+ readonly GAME_DURATION: 120;
35
35
  readonly INITIAL_SPAWN_DELAY: 1000;
36
36
  readonly MAX_SPAWN_INTERVAL: 2000;
37
37
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ScoreBoard.d.ts","sourceRoot":"","sources":["../../../../../../src/games/whack-a-mole/components/ScoreBoard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,eAAe;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAmB/C,CAAC"}
1
+ {"version":3,"file":"ScoreBoard.d.ts","sourceRoot":"","sources":["../../../../../../src/games/whack-a-mole/components/ScoreBoard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,eAAe;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA0B/C,CAAC"}
@@ -8,8 +8,11 @@ interface GameOverModalProps {
8
8
  borderColor?: string;
9
9
  buttonColor?: string;
10
10
  buttonBorderColor?: string;
11
+ buttonTextColor?: string;
11
12
  scoreLabel?: string;
12
13
  scoreFormatter?: (score: number) => string;
14
+ scoreBackgroundColor?: string;
15
+ hideBorder?: boolean;
13
16
  }
14
17
  export declare const GameOverModal: React.FC<GameOverModalProps>;
15
18
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"GameOverModal.d.ts","sourceRoot":"","sources":["../../../../src/helpers/GameOverModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,kBAAkB;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CAC5C;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAmDrD,CAAC"}
1
+ {"version":3,"file":"GameOverModal.d.ts","sourceRoot":"","sources":["../../../../src/helpers/GameOverModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,kBAAkB;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAqDrD,CAAC"}
@@ -75,19 +75,19 @@ export declare const GAME_THEMES: {
75
75
  infoTextColor: string;
76
76
  };
77
77
  readonly candyCrush: {
78
- readonly backgroundColor: "#2C3E50";
78
+ readonly backgroundColor: "rgba(0, 0, 0, 0.7)";
79
79
  readonly headerBackgroundColor: "#FF9500";
80
- readonly headerTextColor: "#FFFFFF";
80
+ readonly headerTextColor: "#ffffff";
81
81
  readonly sectionBackgroundColor: "rgba(255, 149, 0, 0.15)";
82
82
  readonly sectionTitleColor: "#FF9500";
83
83
  readonly buttonSelectedColor: "#FF9500";
84
- readonly buttonUnselectedColor: "rgba(255, 149, 0, 0.2)";
85
- readonly buttonSelectedTextColor: "#FFFFFF";
86
- readonly buttonUnselectedTextColor: "#FF9500";
84
+ readonly buttonUnselectedColor: "rgba(255, 255, 255, 0.2)";
85
+ readonly buttonSelectedTextColor: "#ffffff";
86
+ readonly buttonUnselectedTextColor: "rgba(255, 255, 255, 0.7)";
87
87
  readonly switchTrackColorFalse: "rgba(255, 149, 0, 0.3)";
88
88
  readonly switchTrackColorTrue: "#FF9500";
89
- readonly switchThumbColor: "#FFFFFF";
90
- readonly infoTextColor: "rgba(255, 255, 255, 0.7)";
89
+ readonly switchThumbColor: "#ffffff";
90
+ readonly infoTextColor: "rgba(255, 255, 255, 0.9)";
91
91
  };
92
92
  readonly snake: GameSettingsTheme;
93
93
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-games",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "Free games for your react native projects.",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -34,7 +34,7 @@
34
34
  "example": "yarn workspace playtura",
35
35
  "typecheck": "tsc",
36
36
  "clean": "del-cli lib",
37
- "build": "bob build"
37
+ "build": "bob build && node scripts/minify.js"
38
38
  },
39
39
  "keywords": [
40
40
  "react-native",