Smeagle / dungeongame

Inspired by "Spar Wars"
2 stars 1 forks source link

Backend: Spielfigur #18

Open murchandamus opened 8 years ago

murchandamus commented 8 years ago

Backend:

murchandamus commented 8 years ago

@Smeagle: Ich würde in takeTurn() der Spielfigur irgendwie den Input des Spielers brauchen. Was wäre dafür die Schnittstelle von Seiten von Gamestate, DungeonGame o.ä.? Kann ich zum Beispiel einfach DungeonGame.getPlayerInput() rufen?

Smeagle commented 8 years ago

Schau mal meinen Commit. Ich habe gerade den Spielablauf ein bisschen angefangen (siehe Klasse GameState). Die Agenten müssen immer ihren Zug beenden, dann ist der nächste Agent an der Reihe. KI-Agenten machen was sie müssen und geben ihren Zug dann automatisch ab. Spieler-Agenten machen erstmal nichts wenn sie dann kommen. Je nach Eingaben (bis jetzt nur Tastatur möglich) kann dann der Zug irgendwann beendet werden. Ich habe das Event vom KeyListener jetzt einfach an den aktiven Agenten gegeben. Dieser kann "onKeyPress" implementieren, um damit was anzufangen. z.B. einen Schritt machen bei Pfeiltasten etc. (wird später noch besser mit den Eingaben, keine Angst). Ich habe aber was ich committet habe nicht getestet, kann sein dass ein Bug drin ist. Aber ich hoffe es beantwortet deine Frage, wie du zum Input kommst.

murchandamus commented 8 years ago

Ja, klingt gut. Ich habe auch etwas Spiellogik in den Agenten drin. I.e. wenn die Agenten ihre Anzahl Schritte verbraucht haben, geben sie den Zug ab, beim Player habe ich ebenfalls einen Counter drin, der mitzählt. Vielleicht sollten wir mal konferieren um uns da abzustimmen.

murchandamus commented 8 years ago

Schau mal meinen Commit. Ich habe gerade den Spielablauf ein bisschen angefangen (siehe Klasse GameState).

GameState hat im letzten Stand von dir nur setBoard(Gameboard board) und getBoard(). Den letzten Commit den ich von dir sehe ist ad0a1f3fa274a430a927c3aaa51409d6e865f8bf. Kann es sein, dass du den oben angesprochenen Code noch nicht gepusht hattest?

Smeagle commented 8 years ago

Ich verstehe nicht wieso das nicht mit committet wurde. Vielleicht muss ich mir GIT doch mal detaillierter reinziehen. Weiteres heute Abend...

murchandamus commented 8 years ago

Commit schreibt nur deine Änderungen in dein lokales Repository, damit es im Server-Repository ist, musst du es noch pushen. Also git push.

Dann sollten wir uns aber mal genauer abstimmen, was wo hinkommt, nicht das wir weiter parallel die Arbeit doppelt machen. :)

Smeagle commented 8 years ago

jetzt habe ich es kapiert ^^ im svn ist commit halt direktes pushen

Smeagle commented 8 years ago

Ja, ich lasse jetzt erstmal die Finger weg vom Spielablauf (außer ich soll was machen...). Ich wollte damit eigentlich nur erklären wie ich es mir vorstelle. Kannst gerne Code rumschieben.

Smeagle commented 8 years ago

Für das "Peek" und "Sprinten" usw. bitte neue Issues erstellen. Dieses enthält nur die normale Bewegung, Spawn, Tod, Zugbeenden der Spielfigur.

Smeagle commented 8 years ago

@Xekyo : Hi, ich habe die Knöpfe und Aktionen refaktorisiert. Aktionen haben jetzt nur noch die execute-Methode. Name, Taste etc. ist in den Knopf gewandert. Siehe die Klasse Player, die ich angepasst habe. Ist glaube ich selbsterklärend. Gruß