Davi111 commited on
Commit
c193c4f
·
verified ·
1 Parent(s): c1c4e43

Add 2 files

Browse files
Files changed (2) hide show
  1. index.html +596 -397
  2. prompts.txt +2 -1
index.html CHANGED
@@ -3,7 +3,7 @@
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Free Fire Lite - Battle Royale</title>
7
  <script src="https://cdn.tailwindcss.com"></script>
8
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
9
  <style>
@@ -13,458 +13,657 @@
13
  font-family: 'Poppins', sans-serif;
14
  background-color: #0f172a;
15
  color: white;
16
- overflow-x: hidden;
 
 
17
  }
18
 
19
- .hero-gradient {
20
- background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
 
 
 
 
 
 
 
 
21
  }
22
 
23
- .btn-glow {
24
- box-shadow: 0 0 15px rgba(234, 88, 12, 0.7);
25
- transition: all 0.3s ease;
 
 
 
 
 
26
  }
27
 
28
- .btn-glow:hover {
29
- box-shadow: 0 0 25px rgba(234, 88, 12, 0.9);
30
- transform: translateY(-2px);
 
 
 
 
31
  }
32
 
33
- .character-card {
34
- transition: all 0.3s ease;
35
- transform-style: preserve-3d;
 
 
 
 
36
  }
37
 
38
- .character-card:hover {
39
- transform: translateY(-10px) scale(1.03);
 
 
 
 
40
  }
41
 
42
- .game-mode-card {
43
- background: rgba(30, 41, 59, 0.7);
44
- backdrop-filter: blur(10px);
45
- border: 1px solid rgba(255, 255, 255, 0.1);
46
- transition: all 0.3s ease;
 
 
 
 
 
 
47
  }
48
 
49
- .game-mode-card:hover {
50
- background: rgba(234, 88, 12, 0.2);
51
- border-color: rgba(234, 88, 12, 0.5);
 
 
 
 
 
52
  }
53
 
54
- .nav-link {
55
- position: relative;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
56
  }
57
 
58
- .nav-link::after {
59
- content: '';
60
  position: absolute;
61
- width: 0;
62
- height: 2px;
63
- bottom: -2px;
 
 
 
 
 
 
64
  left: 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
  background-color: #ea580c;
66
- transition: width 0.3s ease;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  }
68
 
69
- .nav-link:hover::after {
 
 
70
  width: 100%;
 
 
 
 
71
  }
72
 
73
- .countdown-timer {
74
- font-family: 'Poppins', sans-serif;
75
- font-weight: 800;
76
- text-shadow: 0 0 10px rgba(234, 88, 12, 0.7);
 
 
 
 
 
 
 
 
 
 
77
  }
78
 
79
- @keyframes pulse {
80
- 0% { transform: scale(1); }
81
- 50% { transform: scale(1.05); }
82
- 100% { transform: scale(1); }
 
 
83
  }
84
 
85
- .pulse-animation {
86
- animation: pulse 2s infinite;
 
 
 
 
 
 
 
 
 
 
87
  }
88
  </style>
89
  </head>
90
  <body>
91
- <!-- Navigation -->
92
- <nav class="bg-gray-900/80 backdrop-blur-md fixed w-full z-50">
93
- <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
94
- <div class="flex items-center justify-between h-16">
95
- <div class="flex items-center">
96
- <div class="flex-shrink-0">
97
- <img class="h-10" src="https://via.placeholder.com/150x60?text=Free+Fire+Lite" alt="Free Fire Lite">
98
- </div>
99
- <div class="hidden md:block">
100
- <div class="ml-10 flex items-baseline space-x-4">
101
- <a href="#" class="nav-link text-white px-3 py-2 rounded-md text-sm font-medium">Home</a>
102
- <a href="#" class="nav-link text-gray-300 hover:text-white px-3 py-2 rounded-md text-sm font-medium">Characters</a>
103
- <a href="#" class="nav-link text-gray-300 hover:text-white px-3 py-2 rounded-md text-sm font-medium">Modes</a>
104
- <a href="#" class="nav-link text-gray-300 hover:text-white px-3 py-2 rounded-md text-sm font-medium">Events</a>
105
- <a href="#" class="nav-link text-gray-300 hover:text-white px-3 py-2 rounded-md text-sm font-medium">Shop</a>
106
- </div>
107
- </div>
108
- </div>
109
- <div class="hidden md:block">
110
- <div class="ml-4 flex items-center md:ml-6">
111
- <button class="bg-orange-600 hover:bg-orange-700 text-white px-4 py-2 rounded-md text-sm font-medium flex items-center">
112
- <i class="fas fa-download mr-2"></i> Download Now
113
- </button>
114
- </div>
115
  </div>
116
- <div class="-mr-2 flex md:hidden">
117
- <button type="button" class="inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-white hover:bg-gray-700 focus:outline-none" aria-controls="mobile-menu" aria-expanded="false">
118
- <span class="sr-only">Open main menu</span>
119
- <i class="fas fa-bars"></i>
120
- </button>
121
  </div>
122
  </div>
123
  </div>
124
- </nav>
125
-
126
- <!-- Hero Section -->
127
- <section class="hero-gradient pt-24 pb-16 md:pt-32 md:pb-24">
128
- <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
129
- <div class="md:flex md:items-center md:justify-between">
130
- <div class="md:w-1/2 mb-10 md:mb-0">
131
- <h1 class="text-4xl md:text-6xl font-bold leading-tight mb-4">
132
- <span class="text-orange-500">FREE FIRE</span> LITE
133
- </h1>
134
- <p class="text-lg md:text-xl text-gray-300 mb-8">
135
- The ultimate battle royale experience optimized for all devices. Join 50 players in a 10-minute survival match!
136
- </p>
137
- <div class="flex flex-col sm:flex-row space-y-4 sm:space-y-0 sm:space-x-4">
138
- <button class="btn-glow bg-orange-600 hover:bg-orange-700 text-white px-6 py-3 rounded-lg font-bold flex items-center justify-center">
139
- <i class="fas fa-play mr-2"></i> Play Now
140
- </button>
141
- <button class="bg-gray-800 hover:bg-gray-700 text-white px-6 py-3 rounded-lg font-bold flex items-center justify-center">
142
- <i class="fas fa-info-circle mr-2"></i> Learn More
143
- </button>
144
- </div>
145
- <div class="mt-8 flex items-center space-x-4">
146
- <div class="flex -space-x-2">
147
- <img class="w-10 h-10 rounded-full border-2 border-gray-800" src="https://randomuser.me/api/portraits/women/12.jpg" alt="">
148
- <img class="w-10 h-10 rounded-full border-2 border-gray-800" src="https://randomuser.me/api/portraits/men/32.jpg" alt="">
149
- <img class="w-10 h-10 rounded-full border-2 border-gray-800" src="https://randomuser.me/api/portraits/women/45.jpg" alt="">
150
- </div>
151
- <div>
152
- <p class="text-sm text-gray-300">Join <span class="font-bold text-white">10M+</span> players worldwide</p>
153
- <div class="flex items-center text-yellow-400 text-xs">
154
- <i class="fas fa-star"></i>
155
- <i class="fas fa-star"></i>
156
- <i class="fas fa-star"></i>
157
- <i class="fas fa-star"></i>
158
- <i class="fas fa-star-half-alt"></i>
159
- <span class="ml-1 text-gray-300">4.7 (2.3M reviews)</span>
160
- </div>
161
- </div>
162
- </div>
163
- </div>
164
- <div class="md:w-1/2 relative">
165
- <img src="https://via.placeholder.com/600x400?text=Game+Screenshot" alt="Free Fire Lite Gameplay" class="rounded-lg shadow-2xl border border-gray-700 w-full">
166
- <div class="absolute -bottom-6 -right-6 bg-orange-600 text-white px-4 py-2 rounded-lg font-bold flex items-center">
167
- <i class="fas fa-trophy mr-2"></i>
168
- <span>Season 12</span>
169
- </div>
170
- </div>
171
  </div>
172
  </div>
173
- </section>
174
 
175
- <!-- Characters Section -->
176
- <section class="py-16 bg-gray-900">
177
- <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
178
- <div class="text-center mb-12">
179
- <h2 class="text-3xl font-bold text-white mb-2">Choose Your Character</h2>
180
- <p class="text-gray-400 max-w-2xl mx-auto">Each character has unique abilities to help you survive in the battlefield</p>
181
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
182
 
183
- <div class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6">
184
- <!-- Character 1 -->
185
- <div class="character-card bg-gray-800 rounded-lg overflow-hidden shadow-lg">
186
- <div class="relative">
187
- <img src="https://via.placeholder.com/300x400?text=Character+1" alt="Character" class="w-full h-64 object-cover">
188
- <div class="absolute top-2 right-2 bg-orange-600 text-white text-xs px-2 py-1 rounded">NEW</div>
189
- </div>
190
- <div class="p-4">
191
- <h3 class="text-xl font-bold text-white mb-1">Alok</h3>
192
- <p class="text-gray-400 text-sm mb-3">Drop the Beat</p>
193
- <div class="flex justify-between items-center">
194
- <span class="text-orange-500 font-bold">Active Skill</span>
195
- <button class="text-white bg-gray-700 hover:bg-gray-600 px-3 py-1 rounded text-sm">
196
- <i class="fas fa-info-circle"></i>
197
- </button>
198
- </div>
199
- </div>
200
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
201
 
202
- <!-- Character 2 -->
203
- <div class="character-card bg-gray-800 rounded-lg overflow-hidden shadow-lg">
204
- <div class="relative">
205
- <img src="https://via.placeholder.com/300x400?text=Character+2" alt="Character" class="w-full h-64 object-cover">
206
- </div>
207
- <div class="p-4">
208
- <h3 class="text-xl font-bold text-white mb-1">K</h3>
209
- <p class="text-gray-400 text-sm mb-3">Master of All</p>
210
- <div class="flex justify-between items-center">
211
- <span class="text-orange-500 font-bold">Active Skill</span>
212
- <button class="text-white bg-gray-700 hover:bg-gray-600 px-3 py-1 rounded text-sm">
213
- <i class="fas fa-info-circle"></i>
214
- </button>
215
- </div>
216
- </div>
217
- </div>
218
 
219
- <!-- Character 3 -->
220
- <div class="character-card bg-gray-800 rounded-lg overflow-hidden shadow-lg">
221
- <div class="relative">
222
- <img src="https://via.placeholder.com/300x400?text=Character+3" alt="Character" class="w-full h-64 object-cover">
223
- </div>
224
- <div class="p-4">
225
- <h3 class="text-xl font-bold text-white mb-1">Chrono</h3>
226
- <p class="text-gray-400 text-sm mb-3">Time Turner</p>
227
- <div class="flex justify-between items-center">
228
- <span class="text-orange-500 font-bold">Active Skill</span>
229
- <button class="text-white bg-gray-700 hover:bg-gray-600 px-3 py-1 rounded text-sm">
230
- <i class="fas fa-info-circle"></i>
231
- </button>
232
- </div>
233
- </div>
234
- </div>
235
 
236
- <!-- Character 4 -->
237
- <div class="character-card bg-gray-800 rounded-lg overflow-hidden shadow-lg">
238
- <div class="relative">
239
- <img src="https://via.placeholder.com/300x400?text=Character+4" alt="Character" class="w-full h-64 object-cover">
240
- <div class="absolute top-2 right-2 bg-blue-600 text-white text-xs px-2 py-1 rounded">ELITE</div>
241
- </div>
242
- <div class="p-4">
243
- <h3 class="text-xl font-bold text-white mb-1">Skyler</h3>
244
- <p class="text-gray-400 text-sm mb-3">Riptide Rhythm</p>
245
- <div class="flex justify-between items-center">
246
- <span class="text-orange-500 font-bold">Active Skill</span>
247
- <button class="text-white bg-gray-700 hover:bg-gray-600 px-3 py-1 rounded text-sm">
248
- <i class="fas fa-info-circle"></i>
249
- </button>
250
- </div>
251
- </div>
252
- </div>
253
- </div>
254
 
255
- <div class="text-center mt-10">
256
- <button class="border-2 border-orange-600 text-orange-600 hover:bg-orange-600 hover:text-white px-6 py-2 rounded-lg font-bold">
257
- View All Characters
258
- </button>
259
- </div>
260
- </div>
261
- </section>
262
-
263
- <!-- Game Modes Section -->
264
- <section class="py-16 bg-gray-800">
265
- <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
266
- <div class="text-center mb-12">
267
- <h2 class="text-3xl font-bold text-white mb-2">Game Modes</h2>
268
- <p class="text-gray-400 max-w-2xl mx-auto">Different ways to experience the battle royale</p>
269
- </div>
 
 
 
 
 
 
270
 
271
- <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
272
- <!-- Mode 1 -->
273
- <div class="game-mode-card rounded-lg p-6">
274
- <div class="flex items-center mb-4">
275
- <div class="bg-orange-600 p-3 rounded-lg mr-4">
276
- <i class="fas fa-skull text-white text-xl"></i>
277
- </div>
278
- <h3 class="text-xl font-bold text-white">Battle Royale</h3>
279
- </div>
280
- <p class="text-gray-300 mb-4">The classic 50-player survival match. Be the last one standing to claim victory!</p>
281
- <div class="flex justify-between items-center">
282
- <span class="text-sm text-gray-400">10 min matches</span>
283
- <span class="text-sm font-bold text-orange-500">50 Players</span>
284
- </div>
285
- </div>
286
 
287
- <!-- Mode 2 -->
288
- <div class="game-mode-card rounded-lg p-6">
289
- <div class="flex items-center mb-4">
290
- <div class="bg-blue-600 p-3 rounded-lg mr-4">
291
- <i class="fas fa-users text-white text-xl"></i>
292
- </div>
293
- <h3 class="text-xl font-bold text-white">Clash Squad</h3>
294
- </div>
295
- <p class="text-gray-300 mb-4">Fast-paced 4v4 matches with economy rounds. First to win 7 rounds wins!</p>
296
- <div class="flex justify-between items-center">
297
- <span class="text-sm text-gray-400">5 min matches</span>
298
- <span class="text-sm font-bold text-blue-500">4v4</span>
299
- </div>
300
- </div>
301
 
302
- <!-- Mode 3 -->
303
- <div class="game-mode-card rounded-lg p-6">
304
- <div class="flex items-center mb-4">
305
- <div class="bg-purple-600 p-3 rounded-lg mr-4">
306
- <i class="fas fa-ghost text-white text-xl"></i>
307
- </div>
308
- <h3 class="text-xl font-bold text-white">Lone Wolf</h3>
309
- </div>
310
- <p class="text-gray-300 mb-4">Solo survival against 49 other players. No teams, just pure survival skills.</p>
311
- <div class="flex justify-between items-center">
312
- <span class="text-sm text-gray-400">10 min matches</span>
313
- <span class="text-sm font-bold text-purple-500">Solo</span>
314
- </div>
315
- </div>
316
- </div>
317
- </div>
318
- </section>
319
-
320
- <!-- Event Countdown -->
321
- <section class="py-16 bg-gradient-to-r from-orange-900/50 to-orange-800/50">
322
- <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
323
- <div class="bg-gray-900/70 rounded-xl p-8 backdrop-blur-md border border-gray-700">
324
- <div class="md:flex items-center justify-between">
325
- <div class="md:w-1/2 mb-8 md:mb-0">
326
- <h2 class="text-2xl md:text-3xl font-bold text-white mb-2">Season 12: Cyber Revolution</h2>
327
- <p class="text-gray-300 mb-4">New characters, weapons, and a futuristic map await in the latest season!</p>
328
- <div class="flex items-center space-x-2">
329
- <span class="text-sm text-gray-400">Starts in:</span>
330
- <div id="countdown" class="countdown-timer text-xl font-bold text-orange-500"></div>
331
- </div>
332
- </div>
333
- <div class="md:w-1/2">
334
- <div class="bg-gray-800 rounded-lg overflow-hidden">
335
- <img src="https://via.placeholder.com/600x300?text=Season+12+Event" alt="Season 12 Event" class="w-full h-full object-cover">
336
- </div>
337
- </div>
338
- </div>
339
- </div>
340
- </div>
341
- </section>
342
-
343
- <!-- Download Section -->
344
- <section class="py-16 bg-gray-900">
345
- <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
346
- <div class="bg-gradient-to-r from-orange-600 to-orange-800 rounded-2xl p-8 md:p-12 shadow-2xl">
347
- <div class="md:flex items-center justify-between">
348
- <div class="md:w-2/3 mb-8 md:mb-0">
349
- <h2 class="text-3xl md:text-4xl font-bold text-white mb-4">Ready to Join the Battle?</h2>
350
- <p class="text-orange-100 mb-6">Download Free Fire Lite now and experience the optimized battle royale on any device!</p>
351
- <div class="flex flex-col sm:flex-row space-y-4 sm:space-y-0 sm:space-x-4">
352
- <button class="pulse-animation bg-white hover:bg-gray-100 text-orange-600 px-6 py-3 rounded-lg font-bold flex items-center justify-center">
353
- <i class="fab fa-google-play mr-2 text-xl"></i>
354
- <div class="text-left">
355
- <div class="text-xs">GET IT ON</div>
356
- <div class="text-lg">Google Play</div>
357
- </div>
358
- </button>
359
- <button class="pulse-animation bg-white hover:bg-gray-100 text-orange-600 px-6 py-3 rounded-lg font-bold flex items-center justify-center">
360
- <i class="fab fa-apple mr-2 text-xl"></i>
361
- <div class="text-left">
362
- <div class="text-xs">Download on the</div>
363
- <div class="text-lg">App Store</div>
364
- </div>
365
- </button>
366
- </div>
367
- </div>
368
- <div class="md:w-1/3 flex justify-center">
369
- <img src="https://via.placeholder.com/200x200?text=App+Icon" alt="Free Fire Lite" class="w-40 h-40 rounded-xl border-4 border-white shadow-lg">
370
- </div>
371
- </div>
372
- </div>
373
- </div>
374
- </section>
375
-
376
- <!-- Footer -->
377
- <footer class="bg-gray-900 border-t border-gray-800">
378
- <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12">
379
- <div class="grid grid-cols-1 md:grid-cols-4 gap-8">
380
- <div>
381
- <img src="https://via.placeholder.com/150x60?text=Free+Fire+Lite" alt="Free Fire Lite" class="h-10 mb-4">
382
- <p class="text-gray-400 text-sm">The ultimate battle royale experience optimized for all devices.</p>
383
- <div class="flex space-x-4 mt-4">
384
- <a href="#" class="text-gray-400 hover:text-white"><i class="fab fa-facebook-f"></i></a>
385
- <a href="#" class="text-gray-400 hover:text-white"><i class="fab fa-twitter"></i></a>
386
- <a href="#" class="text-gray-400 hover:text-white"><i class="fab fa-instagram"></i></a>
387
- <a href="#" class="text-gray-400 hover:text-white"><i class="fab fa-youtube"></i></a>
388
- </div>
389
- </div>
390
- <div>
391
- <h3 class="text-white font-bold mb-4">Game</h3>
392
- <ul class="space-y-2">
393
- <li><a href="#" class="text-gray-400 hover:text-white text-sm">Modes</a></li>
394
- <li><a href="#" class="text-gray-400 hover:text-white text-sm">Characters</a></li>
395
- <li><a href="#" class="text-gray-400 hover:text-white text-sm">Maps</a></li>
396
- <li><a href="#" class="text-gray-400 hover:text-white text-sm">Weapons</a></li>
397
- <li><a href="#" class="text-gray-400 hover:text-white text-sm">Rankings</a></li>
398
- </ul>
399
- </div>
400
- <div>
401
- <h3 class="text-white font-bold mb-4">Support</h3>
402
- <ul class="space-y-2">
403
- <li><a href="#" class="text-gray-400 hover:text-white text-sm">Help Center</a></li>
404
- <li><a href="#" class="text-gray-400 hover:text-white text-sm">Community</a></li>
405
- <li><a href="#" class="text-gray-400 hover:text-white text-sm">Feedback</a></li>
406
- <li><a href="#" class="text-gray-400 hover:text-white text-sm">Terms of Service</a></li>
407
- <li><a href="#" class="text-gray-400 hover:text-white text-sm">Privacy Policy</a></li>
408
- </ul>
409
- </div>
410
- <div>
411
- <h3 class="text-white font-bold mb-4">Contact</h3>
412
- <ul class="space-y-2">
413
- <li class="text-gray-400 text-sm">Email: support@freefirelite.com</li>
414
- <li class="text-gray-400 text-sm">Phone: +1 (555) 123-4567</li>
415
- <li class="text-gray-400 text-sm">Address: 123 Game Street, CA</li>
416
- </ul>
417
- </div>
418
- </div>
419
- <div class="border-t border-gray-800 mt-12 pt-8 flex flex-col md:flex-row justify-between items-center">
420
- <p class="text-gray-500 text-sm mb-4 md:mb-0">© 2023 Free Fire Lite. All rights reserved.</p>
421
- <div class="flex space-x-6">
422
- <a href="#" class="text-gray-500 hover:text-white text-sm">Privacy</a>
423
- <a href="#" class="text-gray-500 hover:text-white text-sm">Terms</a>
424
- <a href="#" class="text-gray-500 hover:text-white text-sm">Cookies</a>
425
- </div>
426
- </div>
427
- </div>
428
- </footer>
429
-
430
- <script>
431
- // Countdown timer
432
- function updateCountdown() {
433
- const now = new Date();
434
- const eventDate = new Date();
435
- eventDate.setDate(now.getDate() + 3); // 3 days from now
436
- eventDate.setHours(12, 0, 0, 0); // Set to noon
437
 
438
- const diff = eventDate - now;
 
 
 
 
 
 
 
 
 
 
439
 
440
- const days = Math.floor(diff / (1000 * 60 * 60 * 24));
441
- const hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
442
- const minutes = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));
443
- const seconds = Math.floor((diff % (1000 * 60)) / 1000);
 
 
 
 
 
 
 
444
 
445
- document.getElementById('countdown').innerHTML =
446
- `${days}d ${hours}h ${minutes}m ${seconds}s`;
447
  }
448
 
449
- setInterval(updateCountdown, 1000);
450
- updateCountdown();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
451
 
452
- // Mobile menu toggle
453
- const mobileMenuButton = document.querySelector('[aria-controls="mobile-menu"]');
454
- mobileMenuButton.addEventListener('click', function() {
455
- // This would toggle a mobile menu in a real implementation
456
- console.log('Mobile menu toggled');
457
- });
 
 
 
458
 
459
- // Character card hover effects
460
- const characterCards = document.querySelectorAll('.character-card');
461
- characterCards.forEach(card => {
462
- card.addEventListener('mouseenter', function() {
463
- this.style.transform = 'translateY(-10px) scale(1.03)';
464
- });
465
- card.addEventListener('mouseleave', function() {
466
- this.style.transform = '';
467
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
468
  });
469
  </script>
470
  <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=Davi111/games" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
 
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Free Fire 2D</title>
7
  <script src="https://cdn.tailwindcss.com"></script>
8
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
9
  <style>
 
13
  font-family: 'Poppins', sans-serif;
14
  background-color: #0f172a;
15
  color: white;
16
+ overflow: hidden;
17
+ margin: 0;
18
+ padding: 0;
19
  }
20
 
21
+ #gameContainer {
22
+ position: relative;
23
+ width: 100vw;
24
+ height: 100vh;
25
+ overflow: hidden;
26
+ background-color: #1e293b;
27
+ background-image:
28
+ linear-gradient(#1e293b 1px, transparent 1px),
29
+ linear-gradient(90deg, #1e293b 1px, transparent 1px);
30
+ background-size: 40px 40px;
31
  }
32
 
33
+ #player {
34
+ position: absolute;
35
+ width: 40px;
36
+ height: 40px;
37
+ background-color: #ea580c;
38
+ border-radius: 50%;
39
+ z-index: 10;
40
+ box-shadow: 0 0 10px rgba(234, 88, 12, 0.7);
41
  }
42
 
43
+ .enemy {
44
+ position: absolute;
45
+ width: 30px;
46
+ height: 30px;
47
+ background-color: #dc2626;
48
+ border-radius: 50%;
49
+ z-index: 5;
50
  }
51
 
52
+ .bullet {
53
+ position: absolute;
54
+ width: 8px;
55
+ height: 8px;
56
+ background-color: #f59e0b;
57
+ border-radius: 50%;
58
+ z-index: 8;
59
  }
60
 
61
+ .weapon {
62
+ position: absolute;
63
+ width: 20px;
64
+ height: 10px;
65
+ background-color: #64748b;
66
+ border-radius: 3px;
67
  }
68
 
69
+ .health-pack {
70
+ position: absolute;
71
+ width: 20px;
72
+ height: 20px;
73
+ background-color: #10b981;
74
+ border-radius: 50%;
75
+ display: flex;
76
+ align-items: center;
77
+ justify-content: center;
78
+ color: white;
79
+ font-size: 10px;
80
  }
81
 
82
+ #uiContainer {
83
+ position: absolute;
84
+ top: 0;
85
+ left: 0;
86
+ width: 100%;
87
+ height: 100%;
88
+ pointer-events: none;
89
+ z-index: 20;
90
  }
91
 
92
+ #healthBar {
93
+ position: absolute;
94
+ top: 20px;
95
+ left: 20px;
96
+ width: 200px;
97
+ height: 20px;
98
+ background-color: #334155;
99
+ border-radius: 10px;
100
+ overflow: hidden;
101
+ }
102
+
103
+ #healthFill {
104
+ height: 100%;
105
+ width: 100%;
106
+ background-color: #10b981;
107
+ transition: width 0.3s;
108
+ }
109
+
110
+ #ammoCount {
111
+ position: absolute;
112
+ top: 50px;
113
+ left: 20px;
114
+ font-size: 16px;
115
+ color: white;
116
  }
117
 
118
+ #scoreDisplay {
 
119
  position: absolute;
120
+ top: 20px;
121
+ right: 20px;
122
+ font-size: 24px;
123
+ color: white;
124
+ }
125
+
126
+ #gameOverScreen {
127
+ position: absolute;
128
+ top: 0;
129
  left: 0;
130
+ width: 100%;
131
+ height: 100%;
132
+ background-color: rgba(0, 0, 0, 0.8);
133
+ display: none;
134
+ flex-direction: column;
135
+ justify-content: center;
136
+ align-items: center;
137
+ z-index: 30;
138
+ }
139
+
140
+ #startScreen {
141
+ position: absolute;
142
+ top: 0;
143
+ left: 0;
144
+ width: 100%;
145
+ height: 100%;
146
+ background-color: rgba(15, 23, 42, 0.9);
147
+ display: flex;
148
+ flex-direction: column;
149
+ justify-content: center;
150
+ align-items: center;
151
+ z-index: 40;
152
+ }
153
+
154
+ .btn {
155
  background-color: #ea580c;
156
+ color: white;
157
+ border: none;
158
+ padding: 12px 24px;
159
+ font-size: 18px;
160
+ border-radius: 8px;
161
+ cursor: pointer;
162
+ margin-top: 20px;
163
+ font-weight: bold;
164
+ box-shadow: 0 0 15px rgba(234, 88, 12, 0.5);
165
+ transition: all 0.3s;
166
+ }
167
+
168
+ .btn:hover {
169
+ background-color: #c2410c;
170
+ transform: translateY(-2px);
171
+ box-shadow: 0 0 20px rgba(234, 88, 12, 0.8);
172
  }
173
 
174
+ .controls {
175
+ position: absolute;
176
+ bottom: 20px;
177
  width: 100%;
178
+ display: flex;
179
+ justify-content: space-between;
180
+ padding: 0 20px;
181
+ box-sizing: border-box;
182
  }
183
 
184
+ .control-btn {
185
+ width: 60px;
186
+ height: 60px;
187
+ background-color: rgba(30, 41, 59, 0.7);
188
+ border-radius: 50%;
189
+ display: flex;
190
+ align-items: center;
191
+ justify-content: center;
192
+ color: white;
193
+ font-size: 24px;
194
+ cursor: pointer;
195
+ pointer-events: auto;
196
+ user-select: none;
197
+ touch-action: manipulation;
198
  }
199
 
200
+ #joystick {
201
+ position: relative;
202
+ width: 80px;
203
+ height: 80px;
204
+ background-color: rgba(30, 41, 59, 0.5);
205
+ border-radius: 50%;
206
  }
207
 
208
+ #joystickKnob {
209
+ position: absolute;
210
+ width: 40px;
211
+ height: 40px;
212
+ background-color: rgba(234, 88, 12, 0.7);
213
+ border-radius: 50%;
214
+ top: 20px;
215
+ left: 20px;
216
+ }
217
+
218
+ #shootBtn {
219
+ background-color: rgba(220, 38, 38, 0.7);
220
  }
221
  </style>
222
  </head>
223
  <body>
224
+ <div id="gameContainer">
225
+ <div id="player"></div>
226
+ <!-- Enemies, bullets, and items will be added dynamically -->
227
+
228
+ <div id="uiContainer">
229
+ <div id="healthBar">
230
+ <div id="healthFill"></div>
231
+ </div>
232
+ <div id="ammoCount">Ammo: 30/30</div>
233
+ <div id="scoreDisplay">Score: 0</div>
234
+
235
+ <div class="controls">
236
+ <div id="joystick">
237
+ <div id="joystickKnob"></div>
 
 
 
 
 
 
 
 
 
 
238
  </div>
239
+ <div id="shootBtn" class="control-btn">
240
+ <i class="fas fa-fire"></i>
 
 
 
241
  </div>
242
  </div>
243
  </div>
244
+
245
+ <div id="gameOverScreen">
246
+ <h1 class="text-4xl font-bold text-red-500 mb-4">GAME OVER</h1>
247
+ <p class="text-xl text-white mb-8">Your score: <span id="finalScore">0</span></p>
248
+ <button id="restartBtn" class="btn">Play Again</button>
249
+ </div>
250
+
251
+ <div id="startScreen">
252
+ <h1 class="text-5xl font-bold text-orange-500 mb-4">FREE FIRE 2D</h1>
253
+ <p class="text-xl text-gray-300 mb-8">Survive as long as you can!</p>
254
+ <button id="startBtn" class="btn">Start Game</button>
255
+ <div class="mt-8 text-gray-400 text-center">
256
+ <p class="mb-2">Controls:</p>
257
+ <p>Move: Drag the joystick</p>
258
+ <p>Shoot: Tap the fire button</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
259
  </div>
260
  </div>
261
+ </div>
262
 
263
+ <script>
264
+ // Game variables
265
+ const player = document.getElementById('player');
266
+ const gameContainer = document.getElementById('gameContainer');
267
+ const healthFill = document.getElementById('healthFill');
268
+ const ammoCount = document.getElementById('ammoCount');
269
+ const scoreDisplay = document.getElementById('scoreDisplay');
270
+ const gameOverScreen = document.getElementById('gameOverScreen');
271
+ const finalScore = document.getElementById('finalScore');
272
+ const startScreen = document.getElementById('startScreen');
273
+ const startBtn = document.getElementById('startBtn');
274
+ const restartBtn = document.getElementById('restartBtn');
275
+ const joystick = document.getElementById('joystick');
276
+ const joystickKnob = document.getElementById('joystickKnob');
277
+ const shootBtn = document.getElementById('shootBtn');
278
+
279
+ let gameWidth = gameContainer.clientWidth;
280
+ let gameHeight = gameContainer.clientHeight;
281
+ let playerX = gameWidth / 2;
282
+ let playerY = gameHeight / 2;
283
+ let playerSpeed = 5;
284
+ let health = 100;
285
+ let ammo = 30;
286
+ let maxAmmo = 30;
287
+ let score = 0;
288
+ let gameRunning = false;
289
+ let enemies = [];
290
+ let bullets = [];
291
+ let weapons = [];
292
+ let healthPacks = [];
293
+ let lastShotTime = 0;
294
+ let shootCooldown = 300; // ms
295
+ let enemySpawnRate = 2000; // ms
296
+ let lastEnemySpawn = 0;
297
+ let joystickActive = false;
298
+ let joystickAngle = 0;
299
+ let joystickDistance = 0;
300
+
301
+ // Initialize player position
302
+ player.style.left = playerX + 'px';
303
+ player.style.top = playerY + 'px';
304
+
305
+ // Start screen
306
+ startBtn.addEventListener('click', startGame);
307
+
308
+ // Restart game
309
+ restartBtn.addEventListener('click', startGame);
310
+
311
+ // Touch controls for mobile
312
+ joystick.addEventListener('touchstart', handleJoystickStart);
313
+ joystick.addEventListener('touchmove', handleJoystickMove);
314
+ joystick.addEventListener('touchend', handleJoystickEnd);
315
+
316
+ // Mouse controls for desktop
317
+ joystick.addEventListener('mousedown', handleJoystickStart);
318
+ document.addEventListener('mousemove', handleJoystickMove);
319
+ document.addEventListener('mouseup', handleJoystickEnd);
320
+
321
+ // Shoot button
322
+ shootBtn.addEventListener('touchstart', shoot);
323
+ shootBtn.addEventListener('mousedown', shoot);
324
+
325
+ function startGame() {
326
+ // Reset game state
327
+ health = 100;
328
+ ammo = maxAmmo;
329
+ score = 0;
330
+ enemies = [];
331
+ bullets = [];
332
+ weapons = [];
333
+ healthPacks = [];
334
 
335
+ // Update UI
336
+ updateHealth();
337
+ updateAmmo();
338
+ updateScore();
339
+
340
+ // Clear all existing game elements
341
+ document.querySelectorAll('.enemy, .bullet, .weapon, .health-pack').forEach(el => el.remove());
342
+
343
+ // Hide screens
344
+ gameOverScreen.style.display = 'none';
345
+ startScreen.style.display = 'none';
346
+
347
+ // Reset player position
348
+ playerX = gameWidth / 2;
349
+ playerY = gameHeight / 2;
350
+ player.style.left = playerX + 'px';
351
+ player.style.top = playerY + 'px';
352
+
353
+ // Start game loop
354
+ gameRunning = true;
355
+ lastEnemySpawn = Date.now();
356
+ requestAnimationFrame(gameLoop);
357
+ }
358
+
359
+ function gameLoop() {
360
+ if (!gameRunning) return;
361
+
362
+ const now = Date.now();
363
+
364
+ // Spawn enemies
365
+ if (now - lastEnemySpawn > enemySpawnRate) {
366
+ spawnEnemy();
367
+ lastEnemySpawn = now;
368
 
369
+ // Increase difficulty
370
+ if (score > 0 && score % 5 === 0) {
371
+ enemySpawnRate = Math.max(500, enemySpawnRate - 100);
372
+ }
373
+ }
374
+
375
+ // Move player if joystick is active
376
+ if (joystickActive) {
377
+ const moveX = Math.cos(joystickAngle) * playerSpeed * (joystickDistance / 40);
378
+ const moveY = Math.sin(joystickAngle) * playerSpeed * (joystickDistance / 40);
 
 
 
 
 
 
379
 
380
+ playerX = Math.max(20, Math.min(gameWidth - 20, playerX + moveX));
381
+ playerY = Math.max(20, Math.min(gameHeight - 20, playerY + moveY));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
382
 
383
+ player.style.left = playerX + 'px';
384
+ player.style.top = playerY + 'px';
385
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
386
 
387
+ // Move enemies
388
+ enemies.forEach(enemy => {
389
+ const enemyX = parseFloat(enemy.style.left) + enemy.dataset.speedX;
390
+ const enemyY = parseFloat(enemy.style.top) + enemy.dataset.speedY;
391
+
392
+ // Keep enemy in bounds
393
+ if (enemyX < 15 || enemyX > gameWidth - 15) {
394
+ enemy.dataset.speedX *= -1;
395
+ }
396
+ if (enemyY < 15 || enemyY > gameHeight - 15) {
397
+ enemy.dataset.speedY *= -1;
398
+ }
399
+
400
+ enemy.style.left = enemyX + 'px';
401
+ enemy.style.top = enemyY + 'px';
402
+
403
+ // Check collision with player
404
+ if (checkCollision(player, enemy)) {
405
+ takeDamage(10);
406
+ }
407
+ });
408
 
409
+ // Move bullets
410
+ bullets.forEach((bullet, index) => {
411
+ const bulletX = parseFloat(bullet.style.left) + bullet.dataset.speedX;
412
+ const bulletY = parseFloat(bullet.style.top) + bullet.dataset.speedY;
 
 
 
 
 
 
 
 
 
 
 
413
 
414
+ bullet.style.left = bulletX + 'px';
415
+ bullet.style.top = bulletY + 'px';
 
 
 
 
 
 
 
 
 
 
 
 
416
 
417
+ // Remove bullet if out of bounds
418
+ if (bulletX < 0 || bulletX > gameWidth || bulletY < 0 || bulletY > gameHeight) {
419
+ bullet.remove();
420
+ bullets.splice(index, 1);
421
+ return;
422
+ }
423
+
424
+ // Check bullet collision with enemies
425
+ enemies.forEach((enemy, enemyIndex) => {
426
+ if (checkCollision(bullet, enemy)) {
427
+ // Remove both bullet and enemy
428
+ bullet.remove();
429
+ bullets.splice(index, 1);
430
+
431
+ enemy.remove();
432
+ enemies.splice(enemyIndex, 1);
433
+
434
+ // Increase score
435
+ score += 1;
436
+ updateScore();
437
+
438
+ // Random chance to drop weapon or health pack
439
+ if (Math.random() < 0.2) {
440
+ if (Math.random() < 0.5) {
441
+ spawnWeapon(parseFloat(enemy.style.left), parseFloat(enemy.style.top));
442
+ } else {
443
+ spawnHealthPack(parseFloat(enemy.style.left), parseFloat(enemy.style.top));
444
+ }
445
+ }
446
+ }
447
+ });
448
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
449
 
450
+ // Check weapon pickups
451
+ weapons.forEach((weapon, index) => {
452
+ if (checkCollision(player, weapon)) {
453
+ // Increase ammo
454
+ ammo = maxAmmo;
455
+ updateAmmo();
456
+
457
+ weapon.remove();
458
+ weapons.splice(index, 1);
459
+ }
460
+ });
461
 
462
+ // Check health pack pickups
463
+ healthPacks.forEach((healthPack, index) => {
464
+ if (checkCollision(player, healthPack)) {
465
+ // Increase health
466
+ health = Math.min(100, health + 25);
467
+ updateHealth();
468
+
469
+ healthPack.remove();
470
+ healthPacks.splice(index, 1);
471
+ }
472
+ });
473
 
474
+ // Continue game loop
475
+ requestAnimationFrame(gameLoop);
476
  }
477
 
478
+ function spawnEnemy() {
479
+ const enemy = document.createElement('div');
480
+ enemy.className = 'enemy';
481
+
482
+ // Random position at edges
483
+ let x, y;
484
+ if (Math.random() < 0.5) {
485
+ x = Math.random() < 0.5 ? 0 : gameWidth;
486
+ y = Math.random() * gameHeight;
487
+ } else {
488
+ x = Math.random() * gameWidth;
489
+ y = Math.random() < 0.5 ? 0 : gameHeight;
490
+ }
491
+
492
+ enemy.style.left = x + 'px';
493
+ enemy.style.top = y + 'px';
494
+
495
+ // Random speed (toward player)
496
+ const angle = Math.atan2(playerY - y, playerX - x);
497
+ const speed = 1 + Math.random() * 2;
498
+
499
+ enemy.dataset.speedX = Math.cos(angle) * speed;
500
+ enemy.dataset.speedY = Math.sin(angle) * speed;
501
+
502
+ gameContainer.appendChild(enemy);
503
+ enemies.push(enemy);
504
+ }
505
 
506
+ function spawnWeapon(x, y) {
507
+ const weapon = document.createElement('div');
508
+ weapon.className = 'weapon';
509
+ weapon.style.left = x + 'px';
510
+ weapon.style.top = y + 'px';
511
+
512
+ gameContainer.appendChild(weapon);
513
+ weapons.push(weapon);
514
+ }
515
 
516
+ function spawnHealthPack(x, y) {
517
+ const healthPack = document.createElement('div');
518
+ healthPack.className = 'health-pack';
519
+ healthPack.style.left = x + 'px';
520
+ healthPack.style.top = y + 'px';
521
+ healthPack.innerHTML = '<i class="fas fa-heart"></i>';
522
+
523
+ gameContainer.appendChild(healthPack);
524
+ healthPacks.push(healthPack);
525
+ }
526
+
527
+ function shoot() {
528
+ const now = Date.now();
529
+ if (now - lastShotTime < shootCooldown || ammo <= 0) return;
530
+
531
+ lastShotTime = now;
532
+ ammo--;
533
+ updateAmmo();
534
+
535
+ const bullet = document.createElement('div');
536
+ bullet.className = 'bullet';
537
+
538
+ // Start bullet at player position
539
+ bullet.style.left = playerX + 'px';
540
+ bullet.style.top = playerY + 'px';
541
+
542
+ // Shoot toward mouse/touch position
543
+ const angle = joystickActive ? joystickAngle : Math.random() * Math.PI * 2;
544
+ const speed = 10;
545
+
546
+ bullet.dataset.speedX = Math.cos(angle) * speed;
547
+ bullet.dataset.speedY = Math.sin(angle) * speed;
548
+
549
+ gameContainer.appendChild(bullet);
550
+ bullets.push(bullet);
551
+
552
+ // Reload if out of ammo
553
+ if (ammo <= 0) {
554
+ setTimeout(() => {
555
+ ammo = maxAmmo;
556
+ updateAmmo();
557
+ }, 1000);
558
+ }
559
+ }
560
+
561
+ function takeDamage(amount) {
562
+ health -= amount;
563
+ updateHealth();
564
+
565
+ // Flash player when hit
566
+ player.style.backgroundColor = 'white';
567
+ setTimeout(() => {
568
+ player.style.backgroundColor = '#ea580c';
569
+ }, 100);
570
+
571
+ // Check if player died
572
+ if (health <= 0) {
573
+ health = 0;
574
+ updateHealth();
575
+ gameOver();
576
+ }
577
+ }
578
+
579
+ function updateHealth() {
580
+ healthFill.style.width = health + '%';
581
+
582
+ // Change color based on health
583
+ if (health > 50) {
584
+ healthFill.style.backgroundColor = '#10b981';
585
+ } else if (health > 20) {
586
+ healthFill.style.backgroundColor = '#f59e0b';
587
+ } else {
588
+ healthFill.style.backgroundColor = '#dc2626';
589
+ }
590
+ }
591
+
592
+ function updateAmmo() {
593
+ ammoCount.textContent = `Ammo: ${ammo}/${maxAmmo}`;
594
+ }
595
+
596
+ function updateScore() {
597
+ scoreDisplay.textContent = `Score: ${score}`;
598
+ }
599
+
600
+ function gameOver() {
601
+ gameRunning = false;
602
+ finalScore.textContent = score;
603
+ gameOverScreen.style.display = 'flex';
604
+ }
605
+
606
+ function checkCollision(element1, element2) {
607
+ const rect1 = element1.getBoundingClientRect();
608
+ const rect2 = element2.getBoundingClientRect();
609
+
610
+ return !(
611
+ rect1.right < rect2.left ||
612
+ rect1.left > rect2.right ||
613
+ rect1.bottom < rect2.top ||
614
+ rect1.top > rect2.bottom
615
+ );
616
+ }
617
+
618
+ function handleJoystickStart(e) {
619
+ e.preventDefault();
620
+ joystickActive = true;
621
+ handleJoystickMove(e);
622
+ }
623
+
624
+ function handleJoystickMove(e) {
625
+ if (!joystickActive) return;
626
+
627
+ e.preventDefault();
628
+
629
+ // Get joystick position
630
+ const joystickRect = joystick.getBoundingClientRect();
631
+ const joystickCenterX = joystickRect.left + joystickRect.width / 2;
632
+ const joystickCenterY = joystickRect.top + joystickRect.height / 2;
633
+
634
+ // Get touch/mouse position
635
+ let clientX, clientY;
636
+ if (e.touches) {
637
+ clientX = e.touches[0].clientX;
638
+ clientY = e.touches[0].clientY;
639
+ } else {
640
+ clientX = e.clientX;
641
+ clientY = e.clientY;
642
+ }
643
+
644
+ // Calculate angle and distance
645
+ const dx = clientX - joystickCenterX;
646
+ const dy = clientY - joystickCenterY;
647
+ joystickAngle = Math.atan2(dy, dx);
648
+ joystickDistance = Math.min(40, Math.sqrt(dx * dx + dy * dy));
649
+
650
+ // Move joystick knob
651
+ const knobX = Math.cos(joystickAngle) * joystickDistance;
652
+ const knobY = Math.sin(joystickAngle) * joystickDistance;
653
+
654
+ joystickKnob.style.transform = `translate(${knobX}px, ${knobY}px)`;
655
+ }
656
+
657
+ function handleJoystickEnd(e) {
658
+ e.preventDefault();
659
+ joystickActive = false;
660
+ joystickKnob.style.transform = 'translate(0, 0)';
661
+ }
662
+
663
+ // Handle window resize
664
+ window.addEventListener('resize', () => {
665
+ gameWidth = gameContainer.clientWidth;
666
+ gameHeight = gameContainer.clientHeight;
667
  });
668
  </script>
669
  <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=Davi111/games" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
prompts.txt CHANGED
@@ -1 +1,2 @@
1
- Criar o free fire lite
 
 
1
+ Criar o free fire lite
2
+ Crie free fire 2d