Liebes Forum,
ich bin blutiger Anfänger. Dieses Semester müssen wir uns mit Java beschäftigen. Bisher lief das auch sehr gut, aber bei dem neuen Übungsblatt stehe ich übel auf dem Schlauch.
Wir haben den folgenden Code "ausgelagert" und rufen diese in einem anderen Programm auf. Da der folgende Code keine main-Methode enthält ist er ja auch nciht ausführbar. Jetzt sollen wir eine main-Methode hinzufügen und ausgeben, das man bitte zum Starten des Programms die andere Datei ausführen soll.
Wie realisiere ich das? Bin ich gerade so doof oder ist das echt nicht so einfach?
ich bin blutiger Anfänger. Dieses Semester müssen wir uns mit Java beschäftigen. Bisher lief das auch sehr gut, aber bei dem neuen Übungsblatt stehe ich übel auf dem Schlauch.
Wir haben den folgenden Code "ausgelagert" und rufen diese in einem anderen Programm auf. Da der folgende Code keine main-Methode enthält ist er ja auch nciht ausführbar. Jetzt sollen wir eine main-Methode hinzufügen und ausgeben, das man bitte zum Starten des Programms die andere Datei ausführen soll.
Wie realisiere ich das? Bin ich gerade so doof oder ist das echt nicht so einfach?
Java:
package mouseworld;
public class GameMap {
// Die eigentliche Datenhaltung wird in
// einem zweidimensionalen Integer-Array
// vorgenommen.
int[][] internalTiles;
// Die Größe der Map wird in den Variablen
// SizeX und SizeY vorgenommen.
int sizeX = 5;
int sizeY = 5;
// Unterschiedliche TileValues repräsentieren
// verschiedene Spielelemente.
// Auf einer Tile ist immer nur
// ein Spielelement zu finden.
// Hier werden nun einige Werte vordefiniert,
// damit das Programm einfacher zu lesen ist.
int tileValuePlain = 0; // Einfache, ebene Fläche
int tileValueWall = 1; // Eine Mauer-Element
int tileValueCheese = 2; // Der Käse
////////////////////////////////////////////////////////////////////
// Die folgenden Methoden initialisieren
// die Map und erlauben die grundsetzliche Arbeit
// mit der Map
/**
* Map initialisieren
*/
public void initialize(int valueX, int valueY) {
sizeX = valueX;
sizeY = valueY;
internalTiles = new int[sizeX][sizeY];
}
/**
* x-Ausdehnung der Map zurückgeben.
*
* [USER=49078]@Return[/USER]
*/
public int getSizeX() {
return sizeX;
}
/**
* y-Ausdehnung der Map zurückgeben.
*
* [USER=49078]@Return[/USER]
*/
public int getSizeY() {
return sizeY;
}
/**
* Den TileValue einer Tile auslesen
*
* @param xpos
* X-Position der Tile
* @param ypos
* Y-Position der Tile
* [USER=49078]@Return[/USER]
*/
public int getTileValue(int xpos, int ypos) {
return internalTiles[xpos][ypos];
}
////////////////////////////////////////////////////////////////////
// Die folgenden Methoden setzen den
// TileValue von einzelnen und mehreren Kacheln.
/**
* Eine Tile wird mit einem Cheese-Value belegt.
*/
public void setTileToPlain(int plainX, int plainY) {
internalTiles[plainX][plainY] = tileValuePlain;
}
/**
* Eine Tile wird mit einem Wall-Value belegt.
*/
public void setTileToWall(int wallX, int wallY) {
internalTiles[wallX][wallY] = tileValueWall;
}
/**
* Eine Tile wird mit einem Wall-Value belegt.
*/
public void setTileToCheese(int cheeseX, int cheeseY) {
internalTiles[cheeseX][cheeseY] = tileValueCheese;
}
/**
* Die gesamte Map wird durch die Methode mit dem Plain-Value belegt.
*/
public void setAllTilesToPlain() {
for (int x = 0; x < sizeX; x++)
for (int y = 0; y < sizeY; y++)
internalTiles[x][y] = tileValuePlain;
}
/**
* Eine Aussenwand aus Mauern bauen
*/
public void buildOuterRim() {
for (int x = 0; x < sizeX; x++) {
setTileToWall(x, 0);
setTileToWall(x, sizeY - 1);
}
for (int y = 0; y < sizeY; y++) {
setTileToWall(0, y);
setTileToWall(sizeX - 1, y);
}
}
}
Zuletzt bearbeitet von einem Moderator: