Hallo Com,
ich soll für die Uni ein Spiel programmieren bis Morgen!! :-(.
Ich habe die Voraussetzungen soweit erfüllt.
Allerdings verstehe ich noch nicht, wie ich meinem Spielfeld eine Grenze verpassen soll.
Wenn ich es ausführen möchte, passiert nämlich gar nichts...
Könnt ihr mir dabei helfen? (Im Anhang ist ein Bild, wie es aussehen soll.)
Mein Code:
public class AlienGame { //Folgendes sind Attribute, also Merkmale des Spiels
public static void main(String[] args){ //Main Methode erstellt
if (args.length != 3) { //Es müssen mindestens 3 Parameter eingegeben werden: SpielfeldmaßeXY und Alienanzahl.
System.out.println ("Sie müssen mindestens 3 Paramater eingeben.");
System.out.println ("Programm wird jetzt geschlossen.");
System.exit(0);
}
int x = Integer.parseInt (args[0]);
int y = Integer.parseInt (args[1]);
int playerPosX= (int) (Math.random() * x); //Spieler (P) wird zufällig platziert.
int playerPosY= (int) (Math.random() * y); // Spieler wird zufällig platziert.
int alienAnzahl = Integer.parseInt(args[2]); //Alienanzahl wird vom User bestimmt.
char[][] map = new char[x][y];
if ((x * y) < (alienAnzahl + 1)) { //+1 da Spieler (P) dazu kommt.
System.out.println("Es gibt nicht genügend Platz für Aliens und Spieler auf dem Spielfeld.");
System.exit(0);
}
if ((alienAnzahl < 1)) { //Falls Alienzahl unter 1 liegt, schließt das Programm.
System.out.println("Sie brauchen mindestens ein Alien, gegen das Sie spielen.");
System.out.println("Das Programm schließt sich nun");
System.exit(0);
}
//for (int i=0; i<maph; i++){
//for (int j=0; j<mapw; j++){
//map[j]=' ';
//}
//}
for (int i = 0; i < map.length; i++) {
for (int j = 0; j < map.length; j++) {
map[j] = ' ';
}
}
if (map[playerPosX][playerPosY] == ' ') { //Wenn die Koordinate PosXY ' ' ist, wird ein P gesetzt.
map[playerPosX][playerPosY] = 'P'; //Spieler wird auf Spielfeld platziert.
}
while (alienAnzahl > 0) { //Solange es noch Aliens gibt, tue folgendes :
int alienPosX = (int) (Math.random() * x); //Generiere Koordinate für Alien.
int alienPosY = (int) (Math.random() * y); // ''
if (map[alienPosX][alienPosY] == ' ') { //Falls Koordniate ' ' ist, //Ein Feld soll mindestens ein Feld besitzen.
map[alienPosX][alienPosX] = 'A'; // platziere Alien.
alienAnzahl -= 1; //Reduziere Alienanzahl um 1 und setze
}
}
}
}
ich soll für die Uni ein Spiel programmieren bis Morgen!! :-(.
Ich habe die Voraussetzungen soweit erfüllt.
Allerdings verstehe ich noch nicht, wie ich meinem Spielfeld eine Grenze verpassen soll.
Wenn ich es ausführen möchte, passiert nämlich gar nichts...
Könnt ihr mir dabei helfen? (Im Anhang ist ein Bild, wie es aussehen soll.)
Mein Code:
public class AlienGame { //Folgendes sind Attribute, also Merkmale des Spiels
public static void main(String[] args){ //Main Methode erstellt
if (args.length != 3) { //Es müssen mindestens 3 Parameter eingegeben werden: SpielfeldmaßeXY und Alienanzahl.
System.out.println ("Sie müssen mindestens 3 Paramater eingeben.");
System.out.println ("Programm wird jetzt geschlossen.");
System.exit(0);
}
int x = Integer.parseInt (args[0]);
int y = Integer.parseInt (args[1]);
int playerPosX= (int) (Math.random() * x); //Spieler (P) wird zufällig platziert.
int playerPosY= (int) (Math.random() * y); // Spieler wird zufällig platziert.
int alienAnzahl = Integer.parseInt(args[2]); //Alienanzahl wird vom User bestimmt.
char[][] map = new char[x][y];
if ((x * y) < (alienAnzahl + 1)) { //+1 da Spieler (P) dazu kommt.
System.out.println("Es gibt nicht genügend Platz für Aliens und Spieler auf dem Spielfeld.");
System.exit(0);
}
if ((alienAnzahl < 1)) { //Falls Alienzahl unter 1 liegt, schließt das Programm.
System.out.println("Sie brauchen mindestens ein Alien, gegen das Sie spielen.");
System.out.println("Das Programm schließt sich nun");
System.exit(0);
}
//for (int i=0; i<maph; i++){
//for (int j=0; j<mapw; j++){
//map[j]=' ';
//}
//}
for (int i = 0; i < map.length; i++) {
for (int j = 0; j < map.length; j++) {
map[j] = ' ';
}
}
if (map[playerPosX][playerPosY] == ' ') { //Wenn die Koordinate PosXY ' ' ist, wird ein P gesetzt.
map[playerPosX][playerPosY] = 'P'; //Spieler wird auf Spielfeld platziert.
}
while (alienAnzahl > 0) { //Solange es noch Aliens gibt, tue folgendes :
int alienPosX = (int) (Math.random() * x); //Generiere Koordinate für Alien.
int alienPosY = (int) (Math.random() * y); // ''
if (map[alienPosX][alienPosY] == ' ') { //Falls Koordniate ' ' ist, //Ein Feld soll mindestens ein Feld besitzen.
map[alienPosX][alienPosX] = 'A'; // platziere Alien.
alienAnzahl -= 1; //Reduziere Alienanzahl um 1 und setze
}
}
}
}