Malefiz programmieren - Frage zu den einzelnen Spielfeldern

Status
Nicht offen für weitere Antworten.
K

Kiola

Gast
Hallo,

ich würde gerne Malefiz programmieren und überlege gerade, wie man die einzelnen Spielfelder wohl programmiert... Die Idee, die ich bis jetzt hatte war, dass man das ganze Spielbrett als Hintergrund nimmt und dann ein Feld von Points erstellt, in dem dann die Koordinaten der einzelnen Spielfelder drin stehen. Und dann würde man in der Methode MouseClicked abfragen, ob die geklickte Koordinate -(minus) die einzelnen Koordinaten, die in dem Feld drin stehen, und dann davon der Betrag kleiner oder gleich dem Radius eines Spielfeldes sind...
Probleme gäbe es zum Beispiel, wenn das Spielfeld dreidimensional angedeutet ist, d.h. wenn die Spielfelder, die hinten liegen kleiner oder nicht mehr rund sind. Und über Tastatur kann man dann das Spiel auch nicht steuern.
Gibt es einen besseren Weg, als den Weg über die einzelnen Koordinaten?

Hoffe auch Antworten.
Vielen Dank

Kiola
 

Quaxli

Top Contributor
Spannendes Problem. Ich weiß aber nicht, ob Dein Ansatz realisierbar wäre. Was mir dazu einfällt wäre folgende Idee (von der ich aber auch nicht weiß, wie praktikabel sie ist):

Du legst hinter das Spielfeld ein Koordinaten-System (ich gehe jetzt mal von einem 2D-Ansatz aus). In diesem Koordinaten-System markierst Du Felder die betreten werden dürfen (= die Felder des Spielbretts) und Felder die nicht betreten werden dürfen (= der ganze Rest). Wenn jetzt ein Feld geklickt wurde errechnest Du über eine Algorithmus zur Wegermittlung, wie weit das Feld entfernt ist und ob Du hinziehen kannst.
Über ein Koordinatensystem fällt Dir die Ermittlung des Weges und die Übersicht der Beziehung der einzelnen Felder zueinander vermutlich leichter als wenn Du nur Einzelfelder in eine Liste packst.

Es gibt in der Informatik ja auch einige Lösungsansätze zur Ermittlung einer kürzesten Wegstrecke. Ich würde dazu mal ein bißchen googeln ;)
 
K

Kiola

Gast
hmmm.
also über die Wege habe ich mir jetzt noch keine Gedanken gemacht.
Aber das mit dem Koordinatensystem, ist das nicht eigentlich auch das, wie ich mir das gedachte habe?
Weil ich muss doch erstmal wissen, wo genau die einzelnen Spielfelder liegen. Und dazu brauche ich ja die Koordinaten... und die muss man ja irgendwo abspeichern damit man weiß, welches Spielfeld wo liegt. Und da bietet sich doch ein Feld an.
oder verstehe ich das jetzt falsch?
 

Quaxli

Top Contributor
Es gibt sicher viele Ansatzmöglichkeiten. Wenn Dir mein Vorschlag nicht gefällt und Deine Herangehensweise funktioniert, dann realisiere die.

Aber noch ein paar Anmerkungen:

also über die Wege habe ich mir jetzt noch keine Gedanken gemacht.
Solltest Du aber ;) - das wird nämlich vermutlich eines Deiner Hauptprobleme werden.

Weil ich muss doch erstmal wissen, wo genau die einzelnen Spielfelder liegen. Und dazu brauche ich ja die Koordinaten
Genau! Und warum nicht aus einem Koordinatensystem? ;) Vielleicht habe ich mich auch falsch ausgedrückt. Mit Koordinatensystem ist vielleicht nicht ganz das gemeint, was Du Dir jetzt darunter vorstellst. Ich dachte eher an ein 2D-Array aus Feldern, die gewissen Informationen enthalten (wer ist mein Nachbar, darf er betreten werden, etc.)

Aber wie gesagt, mach es wie es Dir genehm ist. Nur solltest Du dabei den ganzen Ablauf im Blick haben. Also nicht nur über das Abspeichern der Felder nachdenken, sondern auch, welche Informationen Du im Spielverlauf von/zu den Feldern benötigst und wie Du darauf zugreifst.
So simpel das Spiel auf Deinem Wohnzimmertisch aussieht, es zu Programmieren ist etwas aufwändiger :)
 

Marco13

Top Contributor
Was ist denn jetzt die eigentliche Frage? Wie man das Spielfeld intern repräsentiert, oder wie man bei einem Mausklick reuasfindet, welches Feld angeklickt wurde?

Für ersteres: Das ist fast egal. Überleg' dir GENAU, wie die Felder angesprochen werden müssen. Vermutlich muss man von jedem Fald seine Nachbarn kennen oder bestimmen können, vielleicht auch den (kürzesten?) Pfad zwischen einem Feld und einem anderen ausrechnen können usw. Schreib' dir dann eine Klasse "Board" die diese Methoden möglichst allgemeingültig anbietet. Die interne Repräsentation kann dann z.B. über ein 2D-Array erfolgen, z.B. ein Array
private Field fields[][] = new Field[xx][yy];
wo an den Stellen, wo Felder sind, ein "Field" objekt liegt (mit allen nötigen Informationen über Feldtyp und darauf stehende Spielfigur usw), oder (was für Wegeprobleme sicher "bequemer" wäre) als Graph.... oder oder oder

Für zweiteres: Das wird nur dann schwierig, wenn die Darstellung "3D-mäßig vezerrt" sein soll. Im 2D-Fall kann man sich direkt aus den Koordinaten des Mausklicks ausrechen, welches Feld angeklickt wurde. (Ob man wirklich IN den Kreis geklickt hat, oder knapp daneben, ist IMHO nicht so wichig, kann dann aber tortzdem ganz leicht berücksichtigt werden). Für den 3D-Fall mußt du dir überlegen, wie du die "3D-mäßig verzerrte" Abbildung des Spielbrettes überhaupt machen willst. Wenn die einmal fest vorgegeben ist, kann man die Verzerrung auch leicht wieder "rausrechnen", und landet wieder beim 2D-Fall...
 

Landei

Top Contributor
Für das zweite Problem ist hier schon öfters ein "Schatten-Bild" vorgeschlagen worden. Wenn du die 3D-Ansicht als fertiges Bild hast, machst du davon eine Kopie mit Falschfarben, und zwar so, dass jede zu erkennende Region eine einheitliche, eindeutige Farbe zugeordnet bekommt. Dieses Schatten-Bild hältst du nur im Speicher, und bei einem Mausklick auf das Original schaust du einfach an den entprechenden Koordinaten auf dem Schatten-Bild nach, und suchst anhand der Farbe das entsprechende Objekt in deinem Spiel-Model heraus.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M BlueJ Schach Steuerung programmieren Spiele- und Multimedia-Programmierung 28
ItundMathe1994 TicTacToe Spiel programmieren Spiele- und Multimedia-Programmierung 2
N Escape the Room - Spiele Apps programmieren Spiele- und Multimedia-Programmierung 14
Laaalo Tic tac toe programmieren Spiele- und Multimedia-Programmierung 4
mihe7 Wie man einfache Spiele programmieren kann Spiele- und Multimedia-Programmierung 23
M Brauche Hilfe was zu Programmieren Spiele- und Multimedia-Programmierung 4
N Minecraft Spigot-Plugin | Schusswaffe programmieren Spiele- und Multimedia-Programmierung 3
A Programmieren eines Memorys mit Java (in Eclipse) Spiele- und Multimedia-Programmierung 5
A DoodleJump programmieren: Kollisionsabfrage Spiele- und Multimedia-Programmierung 6
I Vier gewinnt programmieren, Klick-Reihenfolge Spiele- und Multimedia-Programmierung 2
B Programmieren wie der Befehl /ban in Minecraft geblockt wird aber nicht /ban mit einem Argument Spiele- und Multimedia-Programmierung 1
K Android Spiel Programmieren Spiele- und Multimedia-Programmierung 6
P Tennis- Spielstand- Zähler für Schule programmieren Spiele- und Multimedia-Programmierung 6
J HDMI Ausgänge mit Java programmieren? Spiele- und Multimedia-Programmierung 18
L Hörtest programmieren und implementieren Spiele- und Multimedia-Programmierung 2
E Möchte Jump and Run programmieren Spiele- und Multimedia-Programmierung 2
E Möchte Spiel Programmieren Spiele- und Multimedia-Programmierung 7
M Gesellschaftsspiel Mühle in Java programmieren Spiele- und Multimedia-Programmierung 3
M Textbasiertes Spiel programmieren Spiele- und Multimedia-Programmierung 4
M Logitech G15/G510 Applets programmieren Spiele- und Multimedia-Programmierung 3
F Spiel ähnlich wie SimCity/o.ä programmieren Spiele- und Multimedia-Programmierung 5
O Rundenbasiertes strategiespiel programmieren Spiele- und Multimedia-Programmierung 2
K 2D Blockade Programmieren Spiele- und Multimedia-Programmierung 3
wolfgang63 Mit JavaFX einfaches Game programmieren Spiele- und Multimedia-Programmierung 5
J Mod Loader programmieren Spiele- und Multimedia-Programmierung 11
I Hitpoints/Lifepoints programmieren, wie? Spiele- und Multimedia-Programmierung 7
L Minecraft Minecraft Plugin programmieren (Craftbukkit 1.7.2) Problem Spiele- und Multimedia-Programmierung 4
B Spiel Programmieren, die Anfänge Spiele- und Multimedia-Programmierung 6
wolfgang63 Einfachen Soundgenerator programmieren Spiele- und Multimedia-Programmierung 1
J UNO Programmieren Spiele- und Multimedia-Programmierung 4
F Bot Programmieren Spiele- und Multimedia-Programmierung 10
N Game GUI Programmieren Spiele- und Multimedia-Programmierung 16
1 Minecraft Minecraft Plugins programmieren Spiele- und Multimedia-Programmierung 6
T MiniCraft - selbst nach Programmieren Spiele- und Multimedia-Programmierung 25
A Klickgame ala "Harveys neue Augen" oder "Edna bricht aus" in Java programmieren... Fragen zu Kleinig Spiele- und Multimedia-Programmierung 8
S Spiel Programmieren (Kreise treffen) Spiele- und Multimedia-Programmierung 5
F wie richtig spiele programmieren ? Spiele- und Multimedia-Programmierung 19
C Hinterteil von Snake programmieren Spiele- und Multimedia-Programmierung 11
B Spiele programmieren für ein Fenster? Spiele- und Multimedia-Programmierung 14
B Kartenspiel Leben und Tod programmieren Spiele- und Multimedia-Programmierung 11
T Vier gewinnt programmieren Spiele- und Multimedia-Programmierung 9
G Stimme programmieren Spiele- und Multimedia-Programmierung 11
Sebi Mit Java Online games programmieren ? Spiele- und Multimedia-Programmierung 8
N Labyrinth programmieren/Denkhilfe Spiele- und Multimedia-Programmierung 3
data89 Spiel mit JMonkey programmieren Spiele- und Multimedia-Programmierung 6
O Programmieren von "Familienduell" Spiele- und Multimedia-Programmierung 3
A Wie JAVA Webcam Client programmieren? Spiele- und Multimedia-Programmierung 11
T vier gewinnt programmieren - aber wie Spiele- und Multimedia-Programmierung 19
N In einem Kasten springende Bälle programmieren...Hilfe Spiele- und Multimedia-Programmierung 7
B Problem beim Programmieren von 4Gewinnt Spiele- und Multimedia-Programmierung 5
A Programmieren eines Bruchrechners Spiele- und Multimedia-Programmierung 3
G wer möchte mit mir risiko programmieren? Spiele- und Multimedia-Programmierung 7
B Problem beim Programmieren Von Mühle Spiele- und Multimedia-Programmierung 6
N Sinus Welle programmieren! Spiele- und Multimedia-Programmierung 4
J Gesellschaftsspiele programmieren Spiele- und Multimedia-Programmierung 8
P 2D Spiel mir drehbaren Bildern (Sprites) programmieren Spiele- und Multimedia-Programmierung 10
U Ball programmieren Spiele- und Multimedia-Programmierung 26
A "Wegnehm-Spiel" programmieren, Tipps + Links? Spiele- und Multimedia-Programmierung 8
N Minecraft Frage für einen Minecraft Server Spiele- und Multimedia-Programmierung 2
G [Java/KryoNet/LibGDX] Mutliplayer Packet Frage Spiele- und Multimedia-Programmierung 2
G [Java Server] Allgemeine Frage zum Thema Networking in Videospielen Spiele- und Multimedia-Programmierung 15
J Frage zum Einlesen einer .wav in ein byte Array Spiele- und Multimedia-Programmierung 3
S ImageSlider frage Spiele- und Multimedia-Programmierung 3
Anfänger2011 Minimap: Theoretische Frage zur Umsetzung Spiele- und Multimedia-Programmierung 2
Androbin Kollisions-Frage Spiele- und Multimedia-Programmierung 8
windl Frage zu Airplay und zur Mitarbeit bei einer Mediaanlage Spiele- und Multimedia-Programmierung 0
S LWJGL Kamera Frage Spiele- und Multimedia-Programmierung 2
P Frage zu einem Projekt "Einarmiger Bandit" 3 Walzen / 9 Zeichnungen BLUEJ Spiele- und Multimedia-Programmierung 10
Guybrush Threepwood Ketzerische Frage: Opus-Codec für Java Spiele- und Multimedia-Programmierung 14
CookieSoft OpenGl Translatef Frage Spiele- und Multimedia-Programmierung 2
Kenan89 Theoretische Frage zu Tile Spielkarten Spiele- und Multimedia-Programmierung 9
R Tileloader Frage Spiele- und Multimedia-Programmierung 2
S Frage: NullPointer, aber warum? Spiele- und Multimedia-Programmierung 8
J Anfänger Frage wie adden? Spiele- und Multimedia-Programmierung 9
R Frage zur Kollision Spiele- und Multimedia-Programmierung 5
M.F.G. Spielvorstellung (plus KI frage): Connect Four – Extreme Spiele- und Multimedia-Programmierung 11
Helgon OpenGL Blend Frage Spiele- und Multimedia-Programmierung 18
P Frage bzgl. TextAdventure Spiele- und Multimedia-Programmierung 11
K Frage zur 3D Entwicklung zwecks vorhandener Engines Spiele- und Multimedia-Programmierung 17
V Frage zu AffineTransforms Spiele- und Multimedia-Programmierung 2
N frage zu der mp3spi Spiele- und Multimedia-Programmierung 2
J Frage zu Threads Spiele- und Multimedia-Programmierung 5
C Frage zu Ray-Picking mit JOGL Spiele- und Multimedia-Programmierung 13
M VRML Loader(noob Frage) ^^ Spiele- und Multimedia-Programmierung 3
M Prinzipielle Frage: Kann Java Grafiken ausschneiden? Spiele- und Multimedia-Programmierung 3
R Frage zu Hütchenspielprogrammierung! Spiele- und Multimedia-Programmierung 47
V Frage zu Grafiken und Software! Spiele- und Multimedia-Programmierung 5
radiac Mal eine ganz Doofe Frage... verzeiht :) Spiele- und Multimedia-Programmierung 9
Developer_X Eine Frage zur ViewBesetzung Spiele- und Multimedia-Programmierung 28
H BlueJ Frage Spiele- und Multimedia-Programmierung 13
G Ping Pong Frage Spiele- und Multimedia-Programmierung 17
0x7F800000 allgemeine frage zu Java 3D Spiele- und Multimedia-Programmierung 12
B Frage zur Spielsteuerung bei einem rundenbasiertes Spiel Spiele- und Multimedia-Programmierung 5
G frage zu tutorial Spiele- und Multimedia-Programmierung 3
M Frage eines Anfängers Spiele- und Multimedia-Programmierung 3
N Schiffe Versenken Frage zum Spielbrett Spiele- und Multimedia-Programmierung 24
N Generelle Frage: "GUI"-Werkzeuge Spiele- und Multimedia-Programmierung 5
X Frage zu Import von CAD Zeichnungen Spiele- und Multimedia-Programmierung 4
A kurze Frage zu Java3D! (automatische Skalierung) Spiele- und Multimedia-Programmierung 3
S Poker - grundlegende frage zu paint() Spiele- und Multimedia-Programmierung 10

Ähnliche Java Themen

Neue Themen


Oben