Ich habe eine Aufgabe nicht ganz verstanden, hoffe ihr könnt mir helfen , und zwar soll ich ein spiel machen, bei dem der Nutzer einen zufälligen Buchstaben drücken, der aber nicht doppelt vorkommen darf.Soweit so gut, nur der boolean array macht mir bisschen probleme und zwar verstehe ich die mit dem Pfeil markierte Stelle nicht ganz, was wird denn da für ein Wert geliefert ? das verstehe ich nicht ganz .???:L
hier die Musterlösung:
hier die Musterlösung:
Java:
class Util {
/**
* Blockiert das Programm für eine bestimmt Zeit und ueberprueft, ob
* waehrend dieser Zeit eine Taste gedrueckt wurde.
*
* @param secs
* Anzahl an Sekunden, die gewartet werden soll
* @return liefert genau dann true, wenn innerhalb von secs-Sekunden eine
* Taste gedrueckt wurde;
*/
public static boolean keyPressed(int secs) {
return true;
}
}
public class Spiel {
public static void main(String[] args) {
// vermerkt, ob ein Buchstabe bereits einmal (dreimal, fünfmal, ...)
// ausgegeben wurde
boolean[] alphabet = new boolean[26];
// Spielen
int punkte = 0;
while (punkte < 10) {
boolean doppelt = false;
char buchstabe = generiereBuchstabe();
if (alphabet[buchstabe - 'a']) { // ===>>>>>>> mein problem ;(
doppelt = true;
}
alphabet[buchstabe - 'a'] = !alphabet[buchstabe - 'a'];
boolean pressed = Util.keyPressed(3);
// Überprüfung
if (doppelt && !pressed || !doppelt && pressed) {
// Verloren
System.out.println("Leider verloren!");
return;
}
punkte++;
// auch ok ist: keine Punkte, wenn Buchstabe nicht doppelt und nicht gedrückt wurde
}
// Gewonnen
System.out.println("Glückwunsch! Gewonnen!");
}
static char generiereBuchstabe() {
return (char) ((int) (Math.random() * 26) + 'a');
}
}