Hilfe bei Java-Spiel Fang die Katze

Klingt für mich fast nach einer Art Go-Spiel, die du da programmieren willst, mit der Außnahme, dass die Katze sich bewegen kann (Steine bei Go zu bewegen ist nicht erlaubt) ^^

Naja egal, ich geh davon aus, dass die Katze sich nur um ein Feld bewegen kann. Also müsstest du einfach die Koordinate der Katze holen und die drumrumliegenden Felder prüfen, ob da schon irgendwo eine Barriere vorhanden ist. Dann kannste nach Zufallsprinzip die Katze in eine noch freie Richtung bewegen lassen oder wenn keine Felder mehr betretbar sind und die Katze also eingeschlossen ist, dann hat der Spieler eben gewonnen. Das heißt, ob man gewonnen hat, prüft man durch die Katze. Ob man verloren hat, prüft man durch den Spielzug des Spielers, wenn er 10 Barrieren gesetzt hat und von der Katze kein Signal kam, dass der Spieler gewonnen hat, dann hat man verloren.

Das Erstellen des Spielfeldes kannst du auf mehreren Arten machen, mir fallen jetzt spontan drei ein.

1. Erstellst für jedes Feld ein Panel, bei einem Spielfeld mit der Größe von 10x10 Feldern also 100 Panels. Auf diesen Panels kann sich dann die Katze bewegen bzw. die Barrieren erstellt werden.
Ist nicht unbedingt eine übliche Vorgehensweise, aber würde viel Stress sparen, weil man mit den Panels arbeiten könnte, z.B. MouseListener registrieren etc. und man dann direkt auf dem jeweiligem Panel arbeiten könnte ohne Berechnungen über die Position anstellen zu müssen.

2. Ähnlich wie 1, aber mit einer Tabelle (JTable). Sie bietet sich deshalb an, weil schon ein Zellensystem implementiert ist. Man müsste aber einen eigenen Renderer implementieren.
Diese Variante ist auch nicht unbedingt üblich und sicherlich auch nicht ganz einfach umzusetzen, da man sich stärker mit der JTable befassen müsste.

3. Einfach stupides Zeichnen. Man überlagert die Methode paint() oder paintComponent() (je nachdem ob AWT oder Swing) und zeichnet alles. Hierbei muss allerdings viel mehr gerechnet werden, z.B. wegen der Mausposition, welche man braucht, um zu erfahren über welchem Feld sie sich gerade befindet (z.B. für Spielerzüge).
In Spielen wird generell gezeichnet, das wäre also die übliche Vorgehensweise. Das Umsetzen ist an sich auch nicht schwer, erfordert allerdings etwas Logik, denn von ihr hängen Berechnungen und die Reihenfolge bestimmter Prozeduren ab.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück