offerpk3 commited on
Commit
6b1e608
Β·
verified Β·
1 Parent(s): e5e4a4b

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +646 -19
index.html CHANGED
@@ -1,19 +1,646 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Adventure Farming Game</title>
7
+ <style>
8
+ * {
9
+ margin: 0;
10
+ padding: 0;
11
+ box-sizing: border-box;
12
+ }
13
+
14
+ body {
15
+ font-family: 'Arial', sans-serif;
16
+ background: linear-gradient(135deg, #87CEEB 0%, #98FB98 100%);
17
+ overflow: hidden;
18
+ height: 100vh;
19
+ }
20
+
21
+ .game-container {
22
+ position: relative;
23
+ width: 100%;
24
+ height: 100vh;
25
+ overflow: hidden;
26
+ }
27
+
28
+ .game-area {
29
+ display: grid;
30
+ grid-template-columns: 1fr 1fr;
31
+ grid-template-rows: 1fr 1fr;
32
+ width: 100%;
33
+ height: 100%;
34
+ gap: 2px;
35
+ }
36
+
37
+ .zone {
38
+ position: relative;
39
+ border: 3px solid #8B4513;
40
+ border-radius: 15px;
41
+ overflow: hidden;
42
+ }
43
+
44
+ .farm-zone {
45
+ background: linear-gradient(45deg, #90EE90, #98FB98);
46
+ display: grid;
47
+ grid-template-columns: repeat(3, 1fr);
48
+ grid-template-rows: repeat(3, 1fr);
49
+ gap: 5px;
50
+ padding: 10px;
51
+ }
52
+
53
+ .farm-plot {
54
+ background: #8B4513;
55
+ border: 2px solid #654321;
56
+ border-radius: 8px;
57
+ cursor: pointer;
58
+ display: flex;
59
+ align-items: center;
60
+ justify-content: center;
61
+ font-size: 24px;
62
+ transition: all 0.3s ease;
63
+ position: relative;
64
+ }
65
+
66
+ .farm-plot:hover {
67
+ transform: scale(1.05);
68
+ box-shadow: 0 4px 8px rgba(0,0,0,0.3);
69
+ }
70
+
71
+ .farm-plot.planted {
72
+ background: #228B22;
73
+ }
74
+
75
+ .farm-plot.ready {
76
+ background: #FFD700;
77
+ animation: glow 1s infinite alternate;
78
+ }
79
+
80
+ @keyframes glow {
81
+ from { box-shadow: 0 0 5px #FFD700; }
82
+ to { box-shadow: 0 0 15px #FFD700, 0 0 25px #FFD700; }
83
+ }
84
+
85
+ .jungle-zone {
86
+ background: linear-gradient(45deg, #228B22, #006400);
87
+ display: grid;
88
+ grid-template-columns: repeat(4, 1fr);
89
+ grid-template-rows: repeat(3, 1fr);
90
+ gap: 3px;
91
+ padding: 10px;
92
+ }
93
+
94
+ .tree {
95
+ background: #8B4513;
96
+ border: none;
97
+ border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
98
+ cursor: pointer;
99
+ font-size: 20px;
100
+ transition: all 0.3s ease;
101
+ position: relative;
102
+ }
103
+
104
+ .tree:hover {
105
+ transform: scale(1.1);
106
+ }
107
+
108
+ .tree.cut {
109
+ background: #654321;
110
+ opacity: 0.5;
111
+ }
112
+
113
+ .water-zone {
114
+ background: linear-gradient(45deg, #4169E1, #1E90FF);
115
+ position: relative;
116
+ cursor: pointer;
117
+ display: flex;
118
+ align-items: center;
119
+ justify-content: center;
120
+ font-size: 48px;
121
+ }
122
+
123
+ .water-wave {
124
+ position: absolute;
125
+ top: 0;
126
+ left: 0;
127
+ width: 100%;
128
+ height: 100%;
129
+ background: linear-gradient(45deg, transparent, rgba(255,255,255,0.2));
130
+ animation: wave 2s infinite linear;
131
+ }
132
+
133
+ @keyframes wave {
134
+ 0% { transform: translateX(-100%); }
135
+ 100% { transform: translateX(100%); }
136
+ }
137
+
138
+ .shop-zone {
139
+ background: linear-gradient(45deg, #DEB887, #F4A460);
140
+ padding: 20px;
141
+ display: flex;
142
+ flex-direction: column;
143
+ gap: 10px;
144
+ }
145
+
146
+ .shop-item {
147
+ background: #FFE4B5;
148
+ border: 2px solid #DEB887;
149
+ border-radius: 8px;
150
+ padding: 10px;
151
+ cursor: pointer;
152
+ transition: all 0.3s ease;
153
+ text-align: center;
154
+ font-weight: bold;
155
+ }
156
+
157
+ .shop-item:hover {
158
+ background: #FFEFD5;
159
+ transform: translateY(-2px);
160
+ }
161
+
162
+ .ui-panel {
163
+ position: absolute;
164
+ top: 20px;
165
+ left: 20px;
166
+ background: rgba(255,255,255,0.9);
167
+ padding: 15px;
168
+ border-radius: 10px;
169
+ box-shadow: 0 4px 8px rgba(0,0,0,0.3);
170
+ z-index: 100;
171
+ }
172
+
173
+ .resource {
174
+ display: flex;
175
+ align-items: center;
176
+ gap: 5px;
177
+ margin: 5px 0;
178
+ font-weight: bold;
179
+ }
180
+
181
+ .clouds {
182
+ position: absolute;
183
+ top: 0;
184
+ left: 0;
185
+ width: 100%;
186
+ height: 100%;
187
+ pointer-events: none;
188
+ z-index: 50;
189
+ }
190
+
191
+ .cloud {
192
+ position: absolute;
193
+ background: white;
194
+ border-radius: 50px;
195
+ opacity: 0.7;
196
+ animation: float 20s infinite linear;
197
+ }
198
+
199
+ .cloud:before {
200
+ content: '';
201
+ position: absolute;
202
+ background: white;
203
+ border-radius: 50px;
204
+ }
205
+
206
+ .cloud1 {
207
+ width: 80px;
208
+ height: 40px;
209
+ top: 20%;
210
+ animation-duration: 25s;
211
+ }
212
+
213
+ .cloud1:before {
214
+ width: 50px;
215
+ height: 50px;
216
+ top: -25px;
217
+ left: 10px;
218
+ }
219
+
220
+ .cloud2 {
221
+ width: 60px;
222
+ height: 30px;
223
+ top: 40%;
224
+ animation-duration: 30s;
225
+ }
226
+
227
+ .cloud2:before {
228
+ width: 40px;
229
+ height: 40px;
230
+ top: -20px;
231
+ left: 15px;
232
+ }
233
+
234
+ @keyframes float {
235
+ 0% { transform: translateX(-100px); }
236
+ 100% { transform: translateX(calc(100vw + 100px)); }
237
+ }
238
+
239
+ .rain {
240
+ position: absolute;
241
+ top: 0;
242
+ left: 0;
243
+ width: 100%;
244
+ height: 100%;
245
+ pointer-events: none;
246
+ z-index: 40;
247
+ opacity: 0;
248
+ transition: opacity 1s ease;
249
+ }
250
+
251
+ .rain.active {
252
+ opacity: 1;
253
+ }
254
+
255
+ .raindrop {
256
+ position: absolute;
257
+ width: 2px;
258
+ height: 15px;
259
+ background: rgba(173, 216, 230, 0.8);
260
+ animation: fall 1s infinite linear;
261
+ }
262
+
263
+ @keyframes fall {
264
+ 0% { transform: translateY(-100vh); }
265
+ 100% { transform: translateY(100vh); }
266
+ }
267
+
268
+ .wind {
269
+ position: absolute;
270
+ top: 0;
271
+ left: 0;
272
+ width: 100%;
273
+ height: 100%;
274
+ pointer-events: none;
275
+ z-index: 30;
276
+ }
277
+
278
+ .wind-line {
279
+ position: absolute;
280
+ width: 30px;
281
+ height: 2px;
282
+ background: rgba(255, 255, 255, 0.5);
283
+ animation: windMove 3s infinite linear;
284
+ }
285
+
286
+ @keyframes windMove {
287
+ 0% { transform: translateX(-50px) translateY(0px); opacity: 0; }
288
+ 10% { opacity: 1; }
289
+ 90% { opacity: 1; }
290
+ 100% { transform: translateX(calc(100vw + 50px)) translateY(-20px); opacity: 0; }
291
+ }
292
+
293
+ .timer-display {
294
+ position: absolute;
295
+ top: 5px;
296
+ right: 5px;
297
+ background: rgba(255, 255, 255, 0.8);
298
+ padding: 2px 6px;
299
+ border-radius: 3px;
300
+ font-size: 12px;
301
+ font-weight: bold;
302
+ }
303
+
304
+ .notification {
305
+ position: absolute;
306
+ top: 50%;
307
+ left: 50%;
308
+ transform: translate(-50%, -50%);
309
+ background: rgba(0, 0, 0, 0.8);
310
+ color: white;
311
+ padding: 10px 20px;
312
+ border-radius: 5px;
313
+ z-index: 200;
314
+ opacity: 0;
315
+ transition: opacity 0.3s ease;
316
+ }
317
+
318
+ .notification.show {
319
+ opacity: 1;
320
+ }
321
+ </style>
322
+ </head>
323
+ <body>
324
+ <div class="game-container">
325
+ <div class="ui-panel">
326
+ <div class="resource">πŸ’° Gold: <span id="gold">100</span></div>
327
+ <div class="resource">πŸ’§ Water: <span id="water">0</span></div>
328
+ <div class="resource">🌱 Seeds: <span id="seeds">2</span></div>
329
+ <div class="resource">🌾 Crops: <span id="crops">0</span></div>
330
+ </div>
331
+
332
+ <div class="clouds">
333
+ <div class="cloud cloud1"></div>
334
+ <div class="cloud cloud2"></div>
335
+ </div>
336
+
337
+ <div class="rain" id="rain"></div>
338
+ <div class="wind" id="wind"></div>
339
+
340
+ <div class="game-area">
341
+ <div class="zone farm-zone" id="farmZone">
342
+ <!-- Farm plots will be generated here -->
343
+ </div>
344
+
345
+ <div class="zone jungle-zone" id="jungleZone">
346
+ <!-- Trees will be generated here -->
347
+ </div>
348
+
349
+ <div class="zone water-zone" id="waterZone">
350
+ <div class="water-wave"></div>
351
+ πŸ’§
352
+ </div>
353
+
354
+ <div class="zone shop-zone">
355
+ <h3 style="text-align: center; margin-bottom: 10px;">πŸͺ SHOP</h3>
356
+ <div class="shop-item" onclick="buySeeds()">
357
+ 🌱 Buy Seeds (10 Gold)
358
+ </div>
359
+ <div class="shop-item" onclick="buyWaterBucket()">
360
+ πŸͺ£ Buy Water Bucket (15 Gold)
361
+ </div>
362
+ <div class="shop-item" onclick="sellCrops()">
363
+ πŸ’° Sell Crops (20 Gold each)
364
+ </div>
365
+ </div>
366
+ </div>
367
+
368
+ <div class="notification" id="notification"></div>
369
+ </div>
370
+
371
+ <script>
372
+ // Game state
373
+ let gameState = {
374
+ gold: 100,
375
+ water: 0,
376
+ seeds: 2,
377
+ crops: 0,
378
+ farmPlots: [],
379
+ trees: [],
380
+ weather: 'sunny'
381
+ };
382
+
383
+ // Initialize game
384
+ function initGame() {
385
+ createFarmPlots();
386
+ createTrees();
387
+ createWeatherEffects();
388
+ updateUI();
389
+ startWeatherCycle();
390
+ }
391
+
392
+ // Create farm plots
393
+ function createFarmPlots() {
394
+ const farmZone = document.getElementById('farmZone');
395
+ for (let i = 0; i < 9; i++) {
396
+ const plot = document.createElement('div');
397
+ plot.className = 'farm-plot';
398
+ plot.onclick = () => handleFarmPlot(i);
399
+ farmZone.appendChild(plot);
400
+
401
+ gameState.farmPlots.push({
402
+ planted: false,
403
+ ready: false,
404
+ plantTime: null,
405
+ growthTimer: null
406
+ });
407
+ }
408
+ }
409
+
410
+ // Create trees
411
+ function createTrees() {
412
+ const jungleZone = document.getElementById('jungleZone');
413
+ for (let i = 0; i < 12; i++) {
414
+ const tree = document.createElement('div');
415
+ tree.className = 'tree';
416
+ tree.innerHTML = '🌳';
417
+ tree.onclick = () => cutTree(i);
418
+ jungleZone.appendChild(tree);
419
+
420
+ gameState.trees.push({ cut: false, regrowTimer: null });
421
+ }
422
+ }
423
+
424
+ // Handle farm plot interaction
425
+ function handleFarmPlot(index) {
426
+ const plot = gameState.farmPlots[index];
427
+ const plotElement = document.querySelectorAll('.farm-plot')[index];
428
+
429
+ if (plot.ready) {
430
+ // Harvest crop
431
+ gameState.crops++;
432
+ plot.planted = false;
433
+ plot.ready = false;
434
+ plotElement.className = 'farm-plot';
435
+ plotElement.innerHTML = '';
436
+ showNotification('🌾 Crop harvested!');
437
+ updateUI();
438
+ } else if (!plot.planted && gameState.seeds > 0 && gameState.water > 0) {
439
+ // Plant seed
440
+ gameState.seeds--;
441
+ gameState.water--;
442
+ plot.planted = true;
443
+ plot.plantTime = Date.now();
444
+ plotElement.className = 'farm-plot planted';
445
+ plotElement.innerHTML = '🌱';
446
+
447
+ // Add timer display
448
+ const timerDiv = document.createElement('div');
449
+ timerDiv.className = 'timer-display';
450
+ plotElement.appendChild(timerDiv);
451
+
452
+ // Start growth timer (1 minute = 60000ms)
453
+ plot.growthTimer = setTimeout(() => {
454
+ plot.ready = true;
455
+ plotElement.className = 'farm-plot ready';
456
+ plotElement.innerHTML = '🌾';
457
+ showNotification('🌾 Crop is ready to harvest!');
458
+ }, 60000);
459
+
460
+ // Update timer display every second
461
+ const timerInterval = setInterval(() => {
462
+ if (!plot.planted || plot.ready) {
463
+ clearInterval(timerInterval);
464
+ return;
465
+ }
466
+
467
+ const elapsed = Date.now() - plot.plantTime;
468
+ const remaining = Math.max(0, 60000 - elapsed);
469
+ const seconds = Math.ceil(remaining / 1000);
470
+ timerDiv.textContent = `${seconds}s`;
471
+
472
+ if (seconds === 0) {
473
+ clearInterval(timerInterval);
474
+ timerDiv.remove();
475
+ }
476
+ }, 1000);
477
+
478
+ showNotification('🌱 Seed planted!');
479
+ updateUI();
480
+ } else if (!plot.planted && gameState.seeds === 0) {
481
+ showNotification('❌ No seeds! Buy from shop.');
482
+ } else if (!plot.planted && gameState.water === 0) {
483
+ showNotification('❌ No water! Collect from water zone.');
484
+ }
485
+ }
486
+
487
+ // Cut tree
488
+ function cutTree(index) {
489
+ const tree = gameState.trees[index];
490
+ const treeElement = document.querySelectorAll('.tree')[index];
491
+
492
+ if (!tree.cut) {
493
+ tree.cut = true;
494
+ treeElement.className = 'tree cut';
495
+ treeElement.innerHTML = 'πŸͺ΅';
496
+ gameState.gold += 5;
497
+ showNotification('πŸͺ΅ Tree cut! +5 Gold');
498
+ updateUI();
499
+
500
+ // Regrow tree after 30 seconds
501
+ tree.regrowTimer = setTimeout(() => {
502
+ tree.cut = false;
503
+ treeElement.className = 'tree';
504
+ treeElement.innerHTML = '🌳';
505
+ }, 30000);
506
+ }
507
+ }
508
+
509
+ // Collect water
510
+ document.getElementById('waterZone').onclick = function() {
511
+ gameState.water += 3;
512
+ showNotification('πŸ’§ Water collected! +3 Water');
513
+ updateUI();
514
+ };
515
+
516
+ // Shop functions
517
+ function buySeeds() {
518
+ if (gameState.gold >= 10) {
519
+ gameState.gold -= 10;
520
+ gameState.seeds += 3;
521
+ showNotification('🌱 Seeds purchased! +3 Seeds');
522
+ updateUI();
523
+ } else {
524
+ showNotification('❌ Not enough gold!');
525
+ }
526
+ }
527
+
528
+ function buyWaterBucket() {
529
+ if (gameState.gold >= 15) {
530
+ gameState.gold -= 15;
531
+ gameState.water += 10;
532
+ showNotification('πŸͺ£ Water bucket purchased! +10 Water');
533
+ updateUI();
534
+ } else {
535
+ showNotification('❌ Not enough gold!');
536
+ }
537
+ }
538
+
539
+ function sellCrops() {
540
+ if (gameState.crops > 0) {
541
+ const goldEarned = gameState.crops * 20;
542
+ gameState.gold += goldEarned;
543
+ gameState.crops = 0;
544
+ showNotification(`πŸ’° Crops sold! +${goldEarned} Gold`);
545
+ updateUI();
546
+ } else {
547
+ showNotification('❌ No crops to sell!');
548
+ }
549
+ }
550
+
551
+ // Update UI
552
+ function updateUI() {
553
+ document.getElementById('gold').textContent = gameState.gold;
554
+ document.getElementById('water').textContent = gameState.water;
555
+ document.getElementById('seeds').textContent = gameState.seeds;
556
+ document.getElementById('crops').textContent = gameState.crops;
557
+ }
558
+
559
+ // Show notification
560
+ function showNotification(message) {
561
+ const notification = document.getElementById('notification');
562
+ notification.textContent = message;
563
+ notification.classList.add('show');
564
+ setTimeout(() => {
565
+ notification.classList.remove('show');
566
+ }, 2000);
567
+ }
568
+
569
+ // Weather effects
570
+ function createWeatherEffects() {
571
+ createRaindrops();
572
+ createWindLines();
573
+ }
574
+
575
+ function createRaindrops() {
576
+ const rain = document.getElementById('rain');
577
+ for (let i = 0; i < 50; i++) {
578
+ const drop = document.createElement('div');
579
+ drop.className = 'raindrop';
580
+ drop.style.left = Math.random() * 100 + '%';
581
+ drop.style.animationDelay = Math.random() * 2 + 's';
582
+ drop.style.animationDuration = (Math.random() * 0.5 + 0.5) + 's';
583
+ rain.appendChild(drop);
584
+ }
585
+ }
586
+
587
+ function createWindLines() {
588
+ const wind = document.getElementById('wind');
589
+ for (let i = 0; i < 20; i++) {
590
+ const line = document.createElement('div');
591
+ line.className = 'wind-line';
592
+ line.style.top = Math.random() * 100 + '%';
593
+ line.style.animationDelay = Math.random() * 3 + 's';
594
+ wind.appendChild(line);
595
+ }
596
+ }
597
+
598
+ // Weather cycle
599
+ function startWeatherCycle() {
600
+ setInterval(() => {
601
+ const weatherTypes = ['sunny', 'rainy', 'windy'];
602
+ const newWeather = weatherTypes[Math.floor(Math.random() * weatherTypes.length)];
603
+
604
+ if (newWeather !== gameState.weather) {
605
+ gameState.weather = newWeather;
606
+ updateWeather();
607
+ }
608
+ }, 15000); // Change weather every 15 seconds
609
+ }
610
+
611
+ function updateWeather() {
612
+ const rain = document.getElementById('rain');
613
+
614
+ switch (gameState.weather) {
615
+ case 'rainy':
616
+ rain.classList.add('active');
617
+ showNotification('🌧️ It\'s raining! Crops grow faster!');
618
+ // Speed up crop growth during rain
619
+ gameState.farmPlots.forEach((plot, index) => {
620
+ if (plot.planted && !plot.ready && plot.growthTimer) {
621
+ clearTimeout(plot.growthTimer);
622
+ plot.growthTimer = setTimeout(() => {
623
+ plot.ready = true;
624
+ const plotElement = document.querySelectorAll('.farm-plot')[index];
625
+ plotElement.className = 'farm-plot ready';
626
+ plotElement.innerHTML = '🌾';
627
+ showNotification('🌾 Crop is ready to harvest!');
628
+ }, 30000); // Faster growth in rain
629
+ }
630
+ });
631
+ break;
632
+ case 'sunny':
633
+ rain.classList.remove('active');
634
+ break;
635
+ case 'windy':
636
+ rain.classList.remove('active');
637
+ showNotification('πŸ’¨ It\'s windy! Trees sway in the breeze!');
638
+ break;
639
+ }
640
+ }
641
+
642
+ // Start the game
643
+ initGame();
644
+ </script>
645
+ </body>
646
+ </html>