- Fix typo in collision message from "Ihr seit koolidiert!" to "Es gab eine Kollision!" - Reorder TODO comment in endGame method - Rename "Früchte" folder to "Fruits" for consistency - Add TileLoader class to preload and cache game assets - Refactor Overlay class to use TileLoader for improved image handling
DoubleSnake
Ein kooperatives Snake-Spiel für zwei Spieler, entwickelt mit Node.js, Express und Socket.IO.
📋 Projektübersicht
DoubleSnake ist eine moderne Interpretation des klassischen Snake-Spiels für zwei Spieler. Es ermöglicht Spielern, gemeinsam in Echtzeit zu spielen und Punkte zu sammeln. Das Spiel bietet ein Lobby-System zum Erstellen und Beitreten von Spielen sowie Benutzerkonten zur Spielerverwaltung.
🌟 Hauptfunktionen
- Benutzerkonten-System: Registrierung, Anmeldung und Profilbearbeitung
- Lobby-System: Erstellen und Beitreten von Spielen mit eindeutigen Codes
- Echtzeit-Multiplayer: Simultanes Spielen mit einem Partner
- Responsive Design: Optimiert für Desktop und mobile Geräte
🛠️ Technologien
- Frontend: HTML, CSS, JavaScript
- Backend: Node.js, Express
- Echtzeit-Kommunikation: Socket.IO
- Datenbank: MySQL2
- Authentifizierung: Bcrypt, Express-Session
🚀 Installation
Voraussetzungen
- Node.js (Version 18 oder höher)
- MySQL Server
Schritte zur Installation
-
Repository klonen
git clone https://github.com/yourusername/doubleSnake.git cd doubleSnake -
Datenbank einrichten
- Erstellen Sie eine MySQL-Datenbank mit dem Namen "doublesnake"
- Importieren Sie die Datenbankstruktur aus der Datei
doublesnake.sql
-
Umgebungsvariablen konfigurieren
Erstellen Sie eine.env-Datei im Backend-Verzeichnis mit folgenden Werten:SESSION_KEY=IhrGeheimesSessionKey PORT=3000 DB_HOST=localhost DB_PORT=3306 DB_PASSWORD=IhrDatenbankPasswort FRONTEND_PATH=../frontend -
Dependencies installieren
cd backend npm install -
Server starten
npm run dev # oder mit Nodemon npm run nm -
Anwendung öffnen
Navigieren Sie zuhttp://localhost:3000in Ihrem Browser
🐳 Docker-Installation
Das Projekt enthält eine Dockerfile für einfaches Deployment:
docker build -t doublesnake .
docker run -p 3000:3000 -e DB_HOST=your-db-host doublesnake
🎮 Spielablauf
- Registrieren Sie sich für ein Konto oder melden Sie sich an
- Navigieren Sie zum Dashboard und wählen Sie "Lobby"
- Erstellen Sie eine neue Lobby oder treten Sie einer bestehenden mit einem Code bei
- Teilen Sie den generierten Code mit einem Freund
- Sobald zwei Spieler verbunden sind, beginnt das Spiel automatisch
- Steuern Sie Ihre Schlange, sammeln Sie Punkte und vermeiden Sie Kollisionen
👨💻 Entwicklung
Das Projekt ist in folgende Hauptkomponenten unterteilt:
- Server: Express und Socket.IO für HTTP- und Websocket-Kommunikation
- Datenbank: Benutzerkonten und -daten
- Lobby-System: Verwaltung von Spielräumen und Spielerzuordnung
- Game-Engine: Kernspielfunktionalität und -logik
📄 Lizenz
Dieses Projekt steht unter der MIT-Lizenz. Weitere Details finden Sie in der LICENSE-Datei.
