Helo, rakan pembangun! Hari ini, saya teruja untuk berkongsi projek yang baru saya siapkan: Simulator Guling Dadu. Projek ini ialah cara yang menyeronokkan dan interaktif untuk mensimulasikan lemparan dadu, menjadikannya cara yang bagus untuk mempraktikkan JavaScript, terutamanya dalam bidang manipulasi DOM dan pengendalian acara. Sama ada anda ingin membina sesuatu yang menyeronokkan atau memerlukan ciri balingan dadu yang ringkas untuk permainan, projek ini merupakan permulaan yang sempurna.
Simulator Guling Dadu membolehkan pengguna mensimulasikan gulungan dadu enam segi dengan satu klik butang yang mudah. Hasilnya dipaparkan dengan cara yang menarik secara visual, meniru rupa dadu sebenar. Projek ini sesuai untuk pembangun yang ingin meningkatkan kemahiran mereka dalam membina aplikasi web interaktif sambil bekerja dengan animasi dan pendengar acara.
Berikut ialah pandangan ringkas pada struktur projek:
Dice-Roll-Simulator/ ├── index.html ├── style.css └── script.js
Untuk memulakan projek, ikut langkah berikut:
Klon repositori:
git clone https://github.com/abhishekgurjar-in/Dice-Roll-Simulator.git
Buka direktori projek:
cd Dice-Roll-Simulator
Jalankan projek:
Fail index.html mengandungi struktur halaman web, termasuk paparan dadu, butang guling dan senarai sejarah guling. Di bawah ialah coretan kod 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>
Fail style.css mengandungi gaya yang memastikan halaman web menarik secara visual dan termasuk animasi untuk balingan dadu. Berikut ialah beberapa gaya utama:
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; }
Fail script.js mengurus logik lemparan dadu, mengemas kini sejarah lemparan dan mengendalikan animasi lemparan dadu. Di bawah ialah coretan kod 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); });
Anda boleh melihat demo langsung Simulator Dice Roll di sini.
Membina Simulator Dice Roll ini merupakan pengalaman yang menyeronokkan dan bermanfaat yang membolehkan saya mencuba animasi JavaScript dan manipulasi DOM. Saya harap projek ini memberi inspirasi kepada anda untuk mencipta aplikasi interaktif anda sendiri. Jangan ragu untuk meneroka kod, menyesuaikannya dan menggunakannya dalam projek anda sendiri. Selamat mengekod!
Projek ini diilhamkan oleh keperluan untuk alat gulung dadu yang mudah dan interaktif.
Atas ialah kandungan terperinci Bina Laman Web Simulator Dice Roll. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!