Hallo zusammen, bin neu hier .
Mit der Sprache Java habe ich mich erst seit ein paar Tagen vertraut gemacht :rtfm:, allerdings hab ich schon ein wenig Grundlagen von anderen Sprachen wie z.B. Python.
Nun zu meinem Problem: Ich habe versucht eine virtuelle Karte in der Konsole zu erstellen, in der sich ein Männchen in Form eines 'B's' bewegen kann, das klappte auch schon ganz gut, das Männchen läuft immerhin schon - mehr oder weniger - nach links. Der Code: Java pastebin - collaborative debugging tool
Die Ausgabe im Terminal ist folgende:
Wie man sieht "bewegt" sich B eins nach links, das Problem ist allerdings, dass das alte B nicht verschwindet, dazu muss ich das alte in meiner Karte - ein mehrdimensionales array - löschen.
Schaut man sich meinen Code an, dann sieht man das die Klasse Player, eine Funktion 'laufen' besitzt, wird diese ausgeführt, so werden die x- bzw. y-Koordinaten des Männchens verändert. Um allerdings den alten Punkt B auf der Karte löschen zu können, muss eine Instanz der Klasse Player (hier: player1) also irgendwie Zugriff auf die Instanz der Klasse Karte (hier: welt1) oder genauer auf dessen mehrdimensionales Array spielfeld bekommen.
Wie bekomme ich das am besten hin? Soll ich die Klasse Player von der Klasse Karte erben lassen? Oder wie bekomme ich sonst noch am besten Zugriff, welche Möglichkeit ist die naheliegendste?
Bitte seid nicht zu pingelig
Ich hoffe ihr könnt mir helfen,
Grüße jeykey
Mit der Sprache Java habe ich mich erst seit ein paar Tagen vertraut gemacht :rtfm:, allerdings hab ich schon ein wenig Grundlagen von anderen Sprachen wie z.B. Python.
Nun zu meinem Problem: Ich habe versucht eine virtuelle Karte in der Konsole zu erstellen, in der sich ein Männchen in Form eines 'B's' bewegen kann, das klappte auch schon ganz gut, das Männchen läuft immerhin schon - mehr oder weniger - nach links. Der Code: Java pastebin - collaborative debugging tool
Die Ausgabe im Terminal ist folgende:
Code:
jeykey:~/$ javac rougelike.java && java rougelike
delfador
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXBXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXBBXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
Wie man sieht "bewegt" sich B eins nach links, das Problem ist allerdings, dass das alte B nicht verschwindet, dazu muss ich das alte in meiner Karte - ein mehrdimensionales array - löschen.
Schaut man sich meinen Code an, dann sieht man das die Klasse Player, eine Funktion 'laufen' besitzt, wird diese ausgeführt, so werden die x- bzw. y-Koordinaten des Männchens verändert. Um allerdings den alten Punkt B auf der Karte löschen zu können, muss eine Instanz der Klasse Player (hier: player1) also irgendwie Zugriff auf die Instanz der Klasse Karte (hier: welt1) oder genauer auf dessen mehrdimensionales Array spielfeld bekommen.
Wie bekomme ich das am besten hin? Soll ich die Klasse Player von der Klasse Karte erben lassen? Oder wie bekomme ich sonst noch am besten Zugriff, welche Möglichkeit ist die naheliegendste?
Bitte seid nicht zu pingelig
Ich hoffe ihr könnt mir helfen,
Grüße jeykey
Zuletzt bearbeitet: