Neodyys commited on
Commit
2f05236
·
verified ·
1 Parent(s): e6508d4

Add 1 files

Browse files
Files changed (1) hide show
  1. index.html +86 -1
index.html CHANGED
@@ -441,5 +441,90 @@
441
  return events;
442
  }
443
 
444
- function
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
445
  </html>
 
441
  return events;
442
  }
443
 
444
+ function generateCharacter() {
445
+ // Show loader
446
+ loader.style.display = 'block';
447
+ characterCard.style.display = 'none';
448
+
449
+ // Simulate loading time
450
+ setTimeout(() => {
451
+ // Generate character data
452
+ const firstName = getRandomItem(firstNames);
453
+ const lastName = getRandomItem(lastNames);
454
+ const age = getRandomNumber(18, 95);
455
+ const job = getRandomItem(jobs);
456
+ const motto = getRandomItem(mottos);
457
+ const stats = getRandomStats();
458
+ const deathAge = age + getRandomNumber(1, 20);
459
+ const deathCause = getRandomItem(deathDescriptions);
460
+
461
+ // Random tags (2-5)
462
+ const characterTagCount = getRandomNumber(2, 5);
463
+ const selectedTags = [];
464
+ for (let i = 0; i < characterTagCount; i++) {
465
+ let tag;
466
+ do {
467
+ tag = getRandomItem(tags);
468
+ } while (selectedTags.includes(tag));
469
+ selectedTags.push(tag);
470
+ }
471
+
472
+ // Generate life events
473
+ const lifeEvents = generateLifeEvents(age);
474
+
475
+ // Update DOM
476
+ characterName.textContent = `${firstName} ${lastName}`;
477
+ characterJob.textContent = job;
478
+ characterAge.textContent = `${age} ans (décédé à ${deathAge} ans ${deathCause})`;
479
+ characterMotto.textContent = `"${motto}"`;
480
+
481
+ // Character tags
482
+ characterTags.innerHTML = '';
483
+ selectedTags.forEach(tag => {
484
+ const tagElement = document.createElement('span');
485
+ tagElement.className = 'tag';
486
+ tagElement.textContent = tag;
487
+ characterTags.appendChild(tagElement);
488
+ });
489
+
490
+ // Stats
491
+ displayStats(stats);
492
+
493
+ // Life summary
494
+ lifeSummary.innerHTML = `
495
+ <p>${firstName} ${lastName} était ${job.toLowerCase()} qui a marqué son époque par son approche unique de la vie. D'une intelligence ${stats.intelligence < 5 ? '...variable' : stats.intelligence < 8 ? 'remarquable' : 'déconcertante'}, ${stats.strength < 5 ? 'il évitait soigneusement les altercations physiques' : stats.strength < 8 ? 'il était capable de soulever des charges moyennement impressionnantes' : 'sa force légendaire faisait trembler les haltères'}.</p>
496
+ <p>Son charisme ${stats.charisma < 5 ? 'lui faisait souvent oublier les anniversaires' : stats.charisma < 8 ? 'lui permettait d'être le dernier invité aux soirées' : 'était tel que les plantes verdoyaient à son passage'} et sa malchance ${stats.luck < 5 ? 'lui faisait systématiquement tirer le bonnet d\'âne' : stats.luck < 8 ? 'était compensée par une capacité à rebondir' : 'était légendaire, comme en témoignent ses 47 tentatives de gagner à la roulette'}.</p>
497
+ `;
498
+
499
+ // Life events
500
+ lifeEventsContainer.innerHTML = '<h3><i class="fas fa-clock"></i> Événements Marquants</h3>';
501
+ lifeEvents.forEach(event => {
502
+ const eventElement = document.createElement('div');
503
+ eventElement.className = 'event';
504
+ eventElement.innerHTML = `
505
+ <span class="event-age">À ${event.age} ans</span>, ${firstName} ${event.description}.
506
+ `;
507
+ lifeEventsContainer.appendChild(eventElement);
508
+ });
509
+
510
+ // Death signature
511
+ deathSignature.textContent = `"${firstName} ${lastName} (${getRandomNumber(1900, 2023)}-${getRandomNumber(2023, 2100)})"`;
512
+
513
+ // Random avatar (using randomuser.me API)
514
+ const gender = firstName.endsWith('e') || firstName.endsWith('a') ? 'women' : 'men';
515
+ characterAvatar.src = `https://randomuser.me/api/portraits/${gender}/${getRandomNumber(1, 99)}.jpg`;
516
+
517
+ // Hide loader and show character
518
+ loader.style.display = 'none';
519
+ characterCard.style.display = 'block';
520
+ }, 1500);
521
+ }
522
+
523
+ // Event listener
524
+ generateButton.addEventListener('click', generateCharacter);
525
+
526
+ // Generate first character on load
527
+ window.addEventListener('load', generateCharacter);
528
+ </script>
529
+ </body>
530
  </html>