Ich habe vor kurzem damit angefangen Java zu lernen. Aktuell versuche ich ein sehr kleines Konsolen Spiel zu programmieren bei dem ein Spielfeld in einem zweidimensionalen String Array erstellt wird. Als nächstes soll ein Spieler in diesem Array platziert werden der sich dann in verschiedene Richtungen bewegen kann.
Das Spielfeld habe ich bereits fertig und möchte nun den Spieler auf dem Spielfeld platzieren. Dafür habe ich in der Klasse Player eine Methode namens spawnPlayer geschrieben die ich dann in der main Methode aufrufen möchte. Nun bekomme ich dabei in der main Methode eine Fehlermeldung bei der ich seit einigen Stunden nicht weiterkomme.
Das Spielfeld bzw das Spiel sieht auf der Konsole so etwa aus(zwischen den Rauten ab Reihe 2 bis zur vorletzten Reihe sind eigentlich leerzeichen aber Vorschau nimmt diese leider raus):
##########
# #
# #
# > #
# #
# #
##########
Der Spieler soll die eckige Klammer sein die sich dann bewegen kann (so weit bin ich noch nicht)
Vielen Dank schonmal.
[CODE lang="java" title="ProgramMainMethode"]
public class KonsolenWanderer {
public static void main(String[] args) {
Field field1 = new Field();
field1.createField();
Player player1 = new Player();
//Fehler ist hier!!!
player1.spawnPlayer();
}
}[/CODE]
[CODE lang="java" title="Field"]
public class Field {
private String [][] fieldSize = new String [10][10];
public void createField() {
for(int i = 0; i < fieldSize.length; i++) {
for(int j = 0; j < fieldSize.length; j++) {
//Werte für Wände
if(i == 0 || i == 9 || j == 0 || j == 9) {
fieldSize[j] = "#";
}
else {
fieldSize[j] = " ";
}
System.out.print(fieldSize[j]);
}
System.out.println();
}
}
public String[][] getFieldSize() {
return fieldSize;
}
public void setFieldSize(String[][] fieldSize) {
this.fieldSize = fieldSize;
}
}[/CODE]
[CODE lang="java" title="Player"]
public class Player {
private static int xPosition;
private static int yPosition;
private String up = "∧";
private String down = "∨";
private String left = "<";
private String right = ">";
private String currentDirection;
Player() {
xPosition = 4;
yPosition = 4;
}
public void spawnPlayer(String[][]fieldSize) {
fieldSize[xPosition][yPosition] = ">";
}
public static void moveForward() {
}
public static void turnPlayerLeft() {
}
public static void turnPlayerRight() {
}
}
[/CODE]
Das Spielfeld habe ich bereits fertig und möchte nun den Spieler auf dem Spielfeld platzieren. Dafür habe ich in der Klasse Player eine Methode namens spawnPlayer geschrieben die ich dann in der main Methode aufrufen möchte. Nun bekomme ich dabei in der main Methode eine Fehlermeldung bei der ich seit einigen Stunden nicht weiterkomme.
Das Spielfeld bzw das Spiel sieht auf der Konsole so etwa aus(zwischen den Rauten ab Reihe 2 bis zur vorletzten Reihe sind eigentlich leerzeichen aber Vorschau nimmt diese leider raus):
##########
# #
# #
# > #
# #
# #
##########
Der Spieler soll die eckige Klammer sein die sich dann bewegen kann (so weit bin ich noch nicht)
Vielen Dank schonmal.
[CODE lang="java" title="ProgramMainMethode"]
public class KonsolenWanderer {
public static void main(String[] args) {
Field field1 = new Field();
field1.createField();
Player player1 = new Player();
//Fehler ist hier!!!
player1.spawnPlayer();
}
}[/CODE]
[CODE lang="java" title="Field"]
public class Field {
private String [][] fieldSize = new String [10][10];
public void createField() {
for(int i = 0; i < fieldSize.length; i++) {
for(int j = 0; j < fieldSize.length; j++) {
//Werte für Wände
if(i == 0 || i == 9 || j == 0 || j == 9) {
fieldSize[j] = "#";
}
else {
fieldSize[j] = " ";
}
System.out.print(fieldSize[j]);
}
System.out.println();
}
}
public String[][] getFieldSize() {
return fieldSize;
}
public void setFieldSize(String[][] fieldSize) {
this.fieldSize = fieldSize;
}
}[/CODE]
[CODE lang="java" title="Player"]
public class Player {
private static int xPosition;
private static int yPosition;
private String up = "∧";
private String down = "∨";
private String left = "<";
private String right = ">";
private String currentDirection;
Player() {
xPosition = 4;
yPosition = 4;
}
public void spawnPlayer(String[][]fieldSize) {
fieldSize[xPosition][yPosition] = ">";
}
public static void moveForward() {
}
public static void turnPlayerLeft() {
}
public static void turnPlayerRight() {
}
}
[/CODE]