Bonjour, amis développeurs ! Aujourd'hui, je suis ravi de partager un projet que j'ai récemment terminé : un Dice Roll Simulator. Ce projet est une manière amusante et interactive de simuler le lancer d'un dé, ce qui en fait un excellent moyen de pratiquer JavaScript, en particulier dans les domaines de la manipulation DOM et de la gestion des événements. Que vous cherchiez à créer quelque chose de ludique ou que vous ayez besoin d'une simple fonction de lancer de dés pour un jeu, ce projet est un début parfait.
Le Dice Roll Simulator permet aux utilisateurs de simuler le lancer d'un dé à six faces d'un simple clic sur un bouton. Le résultat est affiché de manière visuellement attrayante, imitant l'apparence d'un vrai dé. Ce projet est parfait pour les développeurs qui souhaitent améliorer leurs compétences dans la création d'applications Web interactives tout en travaillant avec des animations et des écouteurs d'événements.
Voici un aperçu rapide de la structure du projet :
Dice-Roll-Simulator/ ├── index.html ├── style.css └── script.js
Pour démarrer le projet, suivez ces étapes :
Cloner le dépôt :
git clone https://github.com/abhishekgurjar-in/Dice-Roll-Simulator.git
Ouvrez le répertoire du projet :
cd Dice-Roll-Simulator
Exécuter le projet :
Le fichier index.html contient la structure de la page Web, y compris l'affichage des dés, le bouton de lancer et la liste de l'historique des lancers. Ci-dessous un extrait du code HTML :
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Dice Roll Simulator</title> <script src="script.js" defer></script> <link rel="stylesheet" href="style.css" /> </head> <body> <h1>Dice Roll Simulator</h1> <div class="dice" id="dice">⚄</div> <button id="roll-button">Roll Dice</button> <div class="roll-list"> <ul id="roll-history"></ul> </div> <div class="footer"> <p>Made With ❤️ by Abhishek Gurjar</p> </div> </body> </html>
Le fichier style.css contient des styles qui garantissent que la page Web est visuellement attrayante et comprend des animations pour le lancer de dés. Voici quelques styles clés :
body { font-family: "Open Sans", sans-serif; text-align: center; margin: 0; } h1 { font-size: 3rem; margin-top: 2rem; } .dice { font-size: 7rem; margin: 5px; animation-duration: 1s; animation-fill-mode: forwards; } .roll-animation { animation-name: roll; } @keyframes roll { 0% { transform: rotateY(0deg) rotateX(0deg); } 100% { transform: rotateY(720deg) rotateX(720deg); } } button { background-color: #47a5c4; color: white; font-size: 1.5rem; padding: 1rem 2rem; border: none; border-radius: 1rem; cursor: pointer; transition: background-color 0.3s ease; } button:hover { background-color: #2e8baf; } .roll-list { min-height: 270px; } ul { list-style: none; padding: 0; max-width: 600px; margin: 2rem auto; } li { font-size: 1.5rem; padding: 0.5rem; margin: 0.5rem; background-color: #f2f2f2; border-radius: 0.5rem; box-shadow: 0 2px 2px rgba(0, 0, 0, 0.3); display: flex; justify-content: space-between; align-items: center; } li span { font-size: 3rem; margin-right: 1rem; } .footer { margin: 50px; }
Le fichier script.js gère la logique du lancer de dés, met à jour l'historique des lancers et gère l'animation du lancer de dés. Vous trouverez ci-dessous un extrait du code JavaScript :
const buttonEl = document.getElementById("roll-button"); const diceEl = document.getElementById("dice"); const rollHistoryEl = document.getElementById("roll-history"); let historyList = []; function rollDice() { const rollResult = Math.floor(Math.random() * 6) + 1; const diceFace = getDiceFace(rollResult); diceEl.innerHTML = diceFace; historyList.push(rollResult); updateRollHistory(); } function updateRollHistory() { rollHistoryEl.innerHTML = ""; for (let i = 0; i < historyList.length; i++) { const listItem = document.createElement("li"); listItem.innerHTML = `Roll ${i + 1}: <span>${getDiceFace(historyList[i])}</span>`; rollHistoryEl.appendChild(listItem); } } function getDiceFace(rollResult) { switch (rollResult) { case 1: return "⚀"; case 2: return "⚁"; case 3: return "⚂"; case 4: return "⚃"; case 5: return "⚄"; case 6: return "⚅"; default: return ""; } } buttonEl.addEventListener("click", () => { diceEl.classList.add("roll-animation"); setTimeout(() => { diceEl.classList.remove("roll-animation"); rollDice(); }, 1000); });
Vous pouvez consulter la démo en direct du Dice Roll Simulator ici.
Construire ce Dice Roll Simulator a été une expérience amusante et enrichissante qui m'a permis d'expérimenter les animations JavaScript et la manipulation DOM. J'espère que ce projet vous inspirera pour créer vos propres applications interactives. N'hésitez pas à explorer le code, à le personnaliser et à l'utiliser dans vos propres projets. Bon codage !
Ce projet a été inspiré par le besoin d'un outil de lancer de dés simple et interactif.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!