Amedea 2014
Grünschnabel
Hallo,
ich möchte gerne ein kleines Spiel programmieren. Dabei habe ich zehn Bilder, neben dem vier Buttons sind, an auf denen die Lösungen, was man auf dem Bild sieht, anklicken kann.
Dazu habe ich den Bildpfad (z.B reh.jpg) und die Lösungen als Wort (z.B Reh) gespeichert. Jetzt sollen auf den 4 Buttons vier zufällige Lösungen erscheinen, wobei eine Lösung mit dem Bild übereinstimmen soll. Bis jetzt sieht dies so aus:
Als nächstes möchte ich, dass wenn man den richtigen Button anklickt (z.B den 1 Button) dann soll dieser grün werden. Dafür bräuchte ich eine If ( ) else Abfrage. Dabei gilt ja if( Die Lösung auf dem Button stimmt mit dem Bild überein) dann soll der Button grün werden. Dafür müssen ja die Indizes übereinstimmen, da ja die Lösung [0] und das Bild[0] ja beide ein Adler sind. Wie aber vergleiche ich diese? Die Indizes muss ich vorher ja irgendwie in einer Variable speichern aber wie?
Ich bin froh über jede Hilfe
ich möchte gerne ein kleines Spiel programmieren. Dabei habe ich zehn Bilder, neben dem vier Buttons sind, an auf denen die Lösungen, was man auf dem Bild sieht, anklicken kann.
Dazu habe ich den Bildpfad (z.B reh.jpg) und die Lösungen als Wort (z.B Reh) gespeichert. Jetzt sollen auf den 4 Buttons vier zufällige Lösungen erscheinen, wobei eine Lösung mit dem Bild übereinstimmen soll. Bis jetzt sieht dies so aus:
Java:
String loesungen [ ] = new String[10];
loesungen[0]="Adler";
loesungen[1]="Auerhahn";
loesungen[2]="Dachs";
loesungen[3]="Eule";
loesungen[4]="Fuchs";
loesungen[5]="Igel";
loesungen[6]="Luchs";
loesungen[7]="Marder";
loesungen[8]="Reh";
loesungen[9]="Wildschwein";
String bilder [] = new String[10];
bilder[0]="Adler.jpg";
bilder[1]="Auerhahn.jpg";
bilder[2]="Dachs.jpg";
bilder[3]="Eule.jpg";
bilder[4]="Fuchs.jpg";
bilder[5]="Igel.jpg";
bilder[6]="Luchs.jpg";
bilder[7]="Marder.jpg";
bilder[8]="Reh.jpg";
bilder[9]="Wildschwein.jpg";
if(ae.getSource() == butNeuesBild)
{
int zufallszahl;
int zufallsplatz[]= new int[anzahlButtons];
for (int i=0;i<anzahlButtons;i++) //entstehung der zufälligen Lösungen auf den Buttons
{
do
{
zufallszahl=(int)(Math.random()*anzahlButtonsBilder);
} while(enthalten(zufallsplatz,zufallszahl)); //verbindung zur Klasse enthalten
zufallsplatz[i]=zufallszahl; //sperchern der neuen Lösung als Zufallslösung
} // end of for
but1.setLabel(loesungen[zufallsplatz[0]]);
but2.setLabel(loesungen[zufallsplatz[1]]);
but3.setLabel(loesungen[zufallsplatz[2]]);
but4.setLabel(loesungen[zufallsplatz[3]]);
tracker = new MediaTracker(this);
image = Toolkit.getDefaultToolkit().getImage(bilder[zufallsplatz[(int)(Math.random()*anzahlButtonsBilder)]]);
tracker.addImage(image, 0); //Image an den MediaTracker zur Überwachung übergeben
try
{
tracker.waitForAll(); //auf alle zu ladenden Dateien warten
}
catch (InterruptedException ie)
{
ie.printStackTrace(); //Fehlerausgabe auf der Java-Konsole
}
imPan.setImage(image); //nun noch das Bild ausgeben im Panel:
Die Klasse enthalten sieht so aus:
static boolean enthalten (int zahlen[], int zahl) //Methode stellt fest, ob Zahl in Zahl enthalten ist
{
for (int i=0;i<zahlen.length;i++ ) //length liefert anzahlButtons der Zahlen
{
if (zahlen[i]==zahl) return true;
} // end of for
return false;
}
Ich bin froh über jede Hilfe
Zuletzt bearbeitet von einem Moderator: