Heim > Web-Frontend > CSS-Tutorial > Erstellen Sie eine Würfelspiel-Simulator-Website

Erstellen Sie eine Würfelspiel-Simulator-Website

PHPz
Freigeben: 2024-08-11 06:34:32
Original
984 Leute haben es durchsucht

Build a Dice Roll Simulator Website

Einführung

Hallo, liebe Entwickler! Heute freue ich mich, ein Projekt vorzustellen, das ich kürzlich abgeschlossen habe: einen Würfelwurfsimulator. Dieses Projekt ist eine unterhaltsame und interaktive Möglichkeit, das Würfeln zu simulieren, was es zu einer großartigen Möglichkeit macht, JavaScript zu üben, insbesondere in den Bereichen DOM-Manipulation und Ereignisbehandlung. Egal, ob Sie etwas Spielerisches bauen möchten oder eine einfache Würfelwurffunktion für ein Spiel benötigen, dieses Projekt ist ein perfekter Anfang.

Projektübersicht

Der Würfelwurfsimulator ermöglicht es Benutzern, den Wurf eines sechsseitigen Würfels mit einem einfachen Klick auf eine Schaltfläche zu simulieren. Das Ergebnis wird optisch ansprechend dargestellt und imitiert das Aussehen eines echten Würfels. Dieses Projekt ist perfekt für Entwickler, die ihre Fähigkeiten beim Erstellen interaktiver Webanwendungen verbessern und gleichzeitig mit Animationen und Ereignis-Listenern arbeiten möchten.

Merkmale

  • Würfelwurfsimulation: Benutzer können einen virtuellen Würfel werfen, indem sie auf eine Schaltfläche klicken, und das Ergebnis wird sofort angezeigt.
  • Wurfverlauf: Die Anwendung zeichnet alle vorherigen Würfe auf, sodass Benutzer die Ergebnisse ihrer vergangenen Würfe sehen können.
  • Animation: Der Würfelwurf wird von einer sanften Rotationsanimation begleitet, um der Simulation Realismus zu verleihen.
  • Responsives Design: Die Benutzeroberfläche ist so konzipiert, dass sie auf verschiedenen Geräten und Bildschirmgrößen gut funktioniert.

Verwendete Technologien

  • HTML: Wird zur Strukturierung des Inhalts auf der Webseite verwendet.
  • CSS: Wird zum Gestalten der Webseite und zum Hinzufügen von Animationen verwendet.
  • JavaScript: Implementiert für die Handhabung der Würfelwurflogik, die Aktualisierung des DOM und die Verwaltung von Animationen.

Projektstruktur

Hier ein kurzer Blick auf die Projektstruktur:

Dice-Roll-Simulator/
├── index.html
├── style.css
└── script.js
Nach dem Login kopieren
  • index.html: Enthält die HTML-Struktur der Webseite.
  • style.css: Enthält die CSS-Stile, einschließlich Animations- und Responsive-Design-Regeln.
  • script.js: Verwaltet die dynamischen Aspekte der Seite mithilfe von JavaScript.

Installation

Um mit dem Projekt zu beginnen, befolgen Sie diese Schritte:

  1. Klonen Sie das Repository:

    git clone https://github.com/abhishekgurjar-in/Dice-Roll-Simulator.git
    
    Nach dem Login kopieren
  2. Öffnen Sie das Projektverzeichnis:

    cd Dice-Roll-Simulator
    
    Nach dem Login kopieren
  3. Führen Sie das Projekt aus:

    • Sie können es entweder auf einem lokalen Server ausführen oder einfach die Datei index.html in einem Webbrowser öffnen.

Verwendung

  1. Öffnen Sie die Website in einem Webbrowser.
  2. Klicken Sie auf die Schaltfläche „Würfel werfen“, um einen Würfelwurf zu simulieren.
  3. Sehen Sie sich das Ergebnis auf den Würfeln an und überprüfen Sie den unten angezeigten Wurfverlauf.

Code-Erklärung

HTML

Die Datei index.html enthält die Struktur der Webseite, einschließlich der Würfelanzeige, der Wurfschaltfläche und der Wurfverlaufsliste. Unten finden Sie einen Ausschnitt des HTML-Codes:

<!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">&#9860;</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>

Nach dem Login kopieren

CSS

Die style.css-Datei enthält Stile, die dafür sorgen, dass die Webseite optisch ansprechend ist, und enthält Animationen für den Würfelwurf. Hier sind einige wichtige Stile:

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;
}

Nach dem Login kopieren

JavaScript

Die Datei script.js verwaltet die Würfelwurflogik, aktualisiert den Würfelwurfverlauf und verwaltet die Würfelwurfanimation. Unten ist ein Ausschnitt des JavaScript-Codes:

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 "&#9856;";
    case 2:
      return "&#9857;";
    case 3:
      return "&#9858;";
    case 4:
      return "&#9859;";
    case 5:
      return "&#9860;";
    case 6:
      return "&#9861;";
    default:
      return "";
  }
}

buttonEl.addEventListener("click", () => {
  diceEl.classList.add("roll-animation");
  setTimeout(() => {
    diceEl.classList.remove("roll-animation");
    rollDice();
  }, 1000);
});

Nach dem Login kopieren

Live-Demo

Sie können sich hier die Live-Demo des Dice Roll Simulators ansehen.

Abschluss

Das Erstellen dieses Würfelwurfsimulators war eine unterhaltsame und lohnende Erfahrung, die es mir ermöglichte, mit JavaScript-Animationen und DOM-Manipulation zu experimentieren. Ich hoffe, dass dieses Projekt Sie dazu inspiriert, Ihre eigenen interaktiven Anwendungen zu erstellen. Erkunden Sie den Code, passen Sie ihn an und verwenden Sie ihn in Ihren eigenen Projekten. Viel Spaß beim Codieren!

Credits

Dieses Projekt wurde von der Notwendigkeit eines einfachen und interaktiven Würfelwurfwerkzeugs inspiriert.

Autor

  • Abhishek Gurjar
    • GitHub-Profil

Das obige ist der detaillierte Inhalt vonErstellen Sie eine Würfelspiel-Simulator-Website. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage