bomberman-server's People
Forkers
rokkbertbomberman-server's Issues
Ausgabe der Feld-Position anpassen
Minimale Wartezeit bzw. maximale Geschwindigkeit
Nice to have:
Es wäre gut, wenn der Server einen Parameter für die maximale Geschwindigkeit hätte, und nicht nur den timeout, wie lange eine Runde maximal dauert. Wenn alle Spieler sehr schnell sind dann hat man sonst keine Möglichkeit, überhaupt zu sehen, was abgeht. Gut wäre also so etwas wie "-maxSpeed 100", wobei die 100 dann Millisekunden wären. Den Clients braucht das nicht mitgeteilt zu werden, da sie ohnehin nicht davon ausgehen können, dass eine Runde schnell vorbei ist, weil jeder andere Spieler sich beliebig Zeit bis zum Timeout lassen könnte.
Zeiten für alle Aktionen festlegen
Alles muss definierte Zeiten haben (wann die Bombe explodiert, wie lange der Schutz wirkt,...)
Fuchs fangen
Bug: Crash wenn Bot Fuchs fängt
Wände müssen vor Explosionen schützen
Explodierende Bomben dürfen nicht durch Wände hindurch wirken, auch nicht durch zerstörbare Wände.
Beispiel, Ausgangssituation, Bombe der Stärke 3:
.|.|p|w|w|B|.|.|.|.
Wenn die Bombe hochgeht:
falsch: .|.||||||||.
richtig: .|.|p|w||||||.
D.h. auch hinter w-Wänden soll man sich verstecken können.
Absturz wenn sich mehr Spieler verbinden als eingestellt
Rückmeldungen vom Server überarbeiten
Bei ungültigen Werten soll der Server entsprechende Meldungen zurückgeben.
Nicht ueber bomben laufen
Bomben sollten den weg versperren, so dass man gegner in sackgassen einsperren kann. Man darf nur auf einer bombe stehen, wenn man sie gerade gelegt hat, aber man darf nicht auf ein feld laufen, auf dem eine bombe liegt.
Beobachter-Modus implementieren
Einen Modus für Clients bauen die nicht mitspielen wollen sondern den Spielverlauf nur beobachten oder visualisieren wollen.
Bug: Wenn Spieler sich verbindet und gleich wieder trennt merkt der Server das nicht
Timeout überarbeiten
Timeout soll nur maximale Wartezeit darstellen. Die Runde muss starten sobald alle Spieler die Befehle gesendet haben, aber spätestens nach Ablauf des Timeouts.
Bomben als Hindernis
Man darf nicht über Bomben laufen können.
Specials anwenden
implementieren: Wenn ein Spieler ein Special einsammelt den Effekt anwenden
Punktezaehlung startet bei 2
Sollte eher 1 sein :-)
Teleport vom Fuchs überarbeiten
- zufaelligs feld
- wenn das feld nicht leer ist (special, bombe, anderer spieler) dann neues feld auswaehlen
- wenn das feld direkt neben einem anderen spieler ist dann neues feld auswaehlen
- wenn das feld in der naechsten runde gespengt wird dann neues feld auswaehlen
14:10 das letzte ist ein bisschen komplzierter, aber auch nicht sehr. Da muss man halt schauen ob horizontal oder vertikal von dem feld eine bombe liegt, ob sie nah genug dran ist und ob sie in der naechsten runde explodiert.
Platzierung der Wände überarbeiten
- Spieler darf zu beginn des Spiels nicht eingeschlossen sein, sodass eine Selbstsprengung der einzige Ausweg ist.
- Etwas Struktur ins Labyrinth bauen damit es nicht so zufällig ist.
In jedem Match einen anderen Player als Fuchs
entsprechend muss es soviele Matches wie Player geben
Client msg zeiten speichern, um den erfolgreichen jaeger zu bestimmen
Wenn zwei jaeger im selben zug den fuchs fangen dann kriegt ihn der schnellere (timestamp).
Server soll per stdin bedienbar sein
Damit man z.B. manuell das Spiel starten kann etc.
Setzen des Spielernamens überprüfen
Sicherstellen dass das Setzen des Spielernamens zu Beginn des Spiels funktioniert.
Persistierung der Spieldaten
Nicht ueber bomben laufen
Bomben sollten den weg versperren, so dass man gegner in sackgassen einsperren kann. Man darf nur auf einer bombe stehen, wenn man sie gerade gelegt hat, aber man kann nicht mehr auf ein feld gehen, auf dem schon eine bombe liegt.
Bomben werfen
Die Bomben sollen immer bis zu 9 Felder weit geworfen werden koennen.
Ueber/auf Specials werfen ist ok.
Vor Waenden, Spielern und anderen Bomben bleiben sie liegen.
Server muss doppelte Namen verhindern.
Wenn sich ein Client verbindet und seinen Namen in einen Namen ändern will, der schon vergeben ist, dann muss der Server das verhindern. Sonst hat man in der Liste der Spieler doppelte Namen und kann die Spieler nicht auseinanderhalten.
Mögliche Lösungen:
- der Server lehnt die Änderung einfach ab (mit Fehlermeldung) und der Name bleibt unverändert (i.d.R. also dann so was wie "Player3").
- der Server verändert den gewünschten Namen so, dass er Eindeutig ist (z.B. "SuperBot" -> "SuperBot2").
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.