Hallo, meine Aufgabe ist :
Es soll nach und nach ein Spiel entwickelt werden .
Erweitern sie ihre Klasse CC vom letzten mal um die Funktionalität des Selektierens. Dafür soll der User wiederholt nach x und y Koordinaten (zwischen 1 und 6) gefragt werden. Das angegeben Element soll dann Selektiert sein, was dadurch erkennbar sein soll, dass das Element jetzt groß geschrieben ist
Der User soll das solange wiederholen können bis er einen Wert kleiner 1 oder größer 6 für x oder y eingegeben hat . Nach jeder eingabe soll das Spielfeld neu ausgegeben werden.
Wird ein Element selektiert, welches schon zuvor ausgewählt wurde, soll die Auswahl wieder zurück genommen werden , das Element also wieder klein geschrieben werden.
Also hier ist die CC-Klasse vom letzten mal
Nun zu meinem Problem ich weiß nicht wie ich die Funktion des selektierens erweitern soll , das ist das was ich bisher habe, vielleicht kann mir einer weiterhelfen.
Danke
Es soll nach und nach ein Spiel entwickelt werden .
Erweitern sie ihre Klasse CC vom letzten mal um die Funktionalität des Selektierens. Dafür soll der User wiederholt nach x und y Koordinaten (zwischen 1 und 6) gefragt werden. Das angegeben Element soll dann Selektiert sein, was dadurch erkennbar sein soll, dass das Element jetzt groß geschrieben ist
Der User soll das solange wiederholen können bis er einen Wert kleiner 1 oder größer 6 für x oder y eingegeben hat . Nach jeder eingabe soll das Spielfeld neu ausgegeben werden.
Wird ein Element selektiert, welches schon zuvor ausgewählt wurde, soll die Auswahl wieder zurück genommen werden , das Element also wieder klein geschrieben werden.
Also hier ist die CC-Klasse vom letzten mal
Java:
import java.util.Scanner;
public class cubecrush {
public static void main(String[] args) {
// für spielfeld
System.out.println("-------- SPIELFELD---------");
char[] spielfeld = new char[37];
fuellen(spielfeld);
ausgabe(spielfeld);
// für spielfeld2D
System.out.println("\n\n-------- SPIELFELD2D--------");
char[][] spielfeld2D = new char[6][6];
fuellen2D(spielfeld2D);
ausgabe2D(spielfeld2D);
}
// Methode für spielfeld, füllt das Array
private static void fuellen(char[] newArray) {
for (int i = 1; i < newArray.length; i++) {
char[] feldInhalt = { 'a', 'b', 'x' };
char werte;
werte = (char) (Math.random() * feldInhalt.length);
newArray[i] = feldInhalt[werte];
}
System.out.println();
}
// Methode für spielfeld, gibt das gefüllte Array wieder aus
private static void ausgabe(char[] newArray) {
System.out.print(" 1 2 3 4 5 6\n1 ");
int j = 2;
for (int i = 1; i < newArray.length; i++) {
System.out.print(newArray[i] + " ");
if (i % 6 == 0 && j < 7) {
System.out.print("\n" + j + " ");
j++;
}
}
}
// Methode für spielfeld2D, füllt das Array
private static void fuellen2D(char[][] newArray) {
for (int i = 0; i < newArray.length; i++) {
for (int j = 0; j < newArray.length; j++) {
// newArray[i] = i + 1;
char[] feldInhalt2D = { 'a', 'b', 'x' };
char werte2D;
werte2D = (char) (Math.random() * feldInhalt2D.length);
newArray[i][j] = feldInhalt2D[werte2D];
}
}
System.out.println();
}
// Methode für spielfeld2D, gibt das gefüllte Array wieder aus
private static void ausgabe2D(char[][] newArray) {
System.out.println(" 1 2 3 4 5 6");
for (int i = 0; i < newArray.length; i++) {
System.out.print((i + 1) + " ");
for (int j = 0; j < newArray[i].length; j++) {
System.out.print(newArray[i][j] + " ");
}
System.out.println();
}
}
}
Nun zu meinem Problem ich weiß nicht wie ich die Funktion des selektierens erweitern soll , das ist das was ich bisher habe, vielleicht kann mir einer weiterhelfen.
Java:
import java.util.Scanner;
public class cubecrush2 {
public static void main(String[] args) {
// für spielfeld
System.out.println("-------- SPIELFELD---------");
char[] spielfeld = new char[37];
fuellen(spielfeld);
ausgabe(spielfeld);
// für spielfeld2D
System.out.println("\n\n-------- SPIELFELD2D--------");
char[][] spielfeld2D = new char[6][6];
fuellen2D(spielfeld2D);
ausgabe2D(spielfeld2D);
int x; // x-kooardinate
Scanner sc = new Scanner(System.in);
System.out.print("\nGeben Sie eine x-Koordinate ein: ");
x = sc.nextInt();
int y; // x-kooardinate
System.out.print("Geben Sie eine y-Koordinate ein: ");
y = sc.nextInt();
if (x <1 ) {
System.out.print("Ihre Zahl für x muss größer eins sein!! ");
System.exit(1);
}else if (x>6) {
System.out.print("Ihre Zahl für x muss kleiner 6 sein!!");
System.exit(1);
}else if (y>6) {
System.out.print("Ihre Zahl für y muss kleiner 6 sein!!");
System.exit(1);
}else if (y<1) {
System.out.print("Ihre Zahl für y muss größer 1 sein !! ");
System.exit(1);
}
}
// Methode für spielfeld, füllt das Array
private static void fuellen(char[] newArray) {
for (int i = 1; i < newArray.length; i++) {
char[] feldInhalt = { 'a', 'b', 'x' };
char werte;
werte = (char) (Math.random() * feldInhalt.length);
newArray[i] = feldInhalt[werte];
}
System.out.println();
}
// Methode für spielfeld, gibt das gefüllte Array wieder aus
private static void ausgabe(char[] newArray) {
System.out.print(" 1 2 3 4 5 6\n1 ");
int j = 2;
for (int i = 1; i < newArray.length; i++) {
System.out.print(newArray[i] + " ");
if (i % 6 == 0 && j < 7) {
System.out.print("\n" + j + " ");
j++;
}
}
}
// Methode für spielfeld2D, füllt das Array
private static void fuellen2D(char[][] newArray) {
for (int i = 0; i < newArray.length; i++) {
for (int j = 0; j < newArray.length; j++) {
// newArray[i] = i + 1;
char[] feldInhalt2D = { 'a', 'b', 'x' };
char werte2D;
werte2D = (char) (Math.random() * feldInhalt2D.length);
newArray[i][j] = feldInhalt2D[werte2D];
}
}
System.out.println();
}
// Methode für spielfeld2D, gibt das gefüllte Array wieder aus
private static void ausgabe2D(char[][] newArray) {
System.out.println(" 1 2 3 4 5 6");
for (int i = 0; i < newArray.length; i++) {
System.out.print((i + 1) + " ");
for (int j = 0; j < newArray[i].length; j++) {
System.out.print(newArray[i][j] + " ");
}
System.out.println();
}
}
}
Danke