Hallo!
Wir haben die folgende Aufgabe gestellt bekommen und sollen diese mit Hilfe von Arrays lösen:
Memory
Schreiben Sie ein Memoryspiel bei dem alle Pärchen zufällig bestimmt werden und ihre Position im Feld ebenso zufällig bestimmt wird. Das Memoryspiel soll 6 Felder groß sein. Jedes Feld soll (von 1-6) beschriftet werden. Der Spieler soll gefragt werden welches Feld aufgedeckt werden soll. Dann soll das Feld aufgedeckt angegeben werden:
Als nächstes soll gefragt werden welches Feld aufgedeckt werden soll. Hat der Spieler zwei gleiche Felder aufgedeckt, soll ausgegeben werden, dass dies richtig ist und diese Felder sollen aufgedeckt bleiben. Sind die Felder nicht gleich, soll dies ausgegeben werden und die Felder sollen wieder zugedeckt werden:
Versucht der Spieler ein Feld aufzudecken, was bereits aufgedeckt ist, soll dies als Fehler angezeigt werden und der Zug beginnt von neu. Sind alle Felder aufgedeckt ist das Spiel zu Ende. Jeder Buchstabe darf nur zweimal (als ein Pärchen) in einem Spiel vorkommen.
Nun wissen wir nicht wie wir weiter machen sollen.
Wir bitten um Hilfe!
Wir haben die folgende Aufgabe gestellt bekommen und sollen diese mit Hilfe von Arrays lösen:
Memory
Schreiben Sie ein Memoryspiel bei dem alle Pärchen zufällig bestimmt werden und ihre Position im Feld ebenso zufällig bestimmt wird. Das Memoryspiel soll 6 Felder groß sein. Jedes Feld soll (von 1-6) beschriftet werden. Der Spieler soll gefragt werden welches Feld aufgedeckt werden soll. Dann soll das Feld aufgedeckt angegeben werden:
Code:
Bsp.: 1 2 3
B 5 6
Code:
Bsp.: 1 2 B 1 2 B
B 5 6 4 R 6
„Richtig!“ „Falsch!“
nächste Ausgabe:
1 2 B 1 2 3
B 5 6 4 5 6
Java:
import util.*;
import java.util.*;
public class memory
{
public static void main (String[]args)
{
//Variablen-Arrays
char[] felder=new char[6];
Random r=new Random();
int counter=0;
int anzahl=0;
int eingabe1=0;
int eingabe2=0;
int richtige=0;
//Belegung der Felder mit Buchstaben
for(int i=0;i<6;i++)
{
anzahl=0;
felder[i]=(char)(65+Math.abs(r.nextInt())%(67-65+1));
for(int z=0;z<6;z++)
{
if(felder[i]==felder[z])
{
anzahl=anzahl+1;
}
}
if(anzahl>2)
{
i=0;
}
}
for(int i=0;i<6;i++)
{
System.out.println(felder[i]);
}
System.out.println("\n1\t2\t3\n4\t5\t6");
while(richtige<3)
{
eingabe1=StdInput.readInt("Geben Sie das erste Feld ein, was Sie aufdecken moechten!");
if(eingabe1==1)
{
System.out.println("\n"+felder[0]+"\t2\t3\n4\t5\t6");
}
else if(eingabe1==2)
{
System.out.println("\n1\t"+felder[1]+"\t3\n4\t5\t6");
}
else if(eingabe1==3)
{
System.out.println("\n1\t2\t"+felder[2]+"\n4\t5\t6");
}
else if(eingabe1==4)
{
System.out.println("\n1\t2\t3\n"+felder[3]+"\t5\t6");
}
else if(eingabe1==5)
{
System.out.println("\n1\t2\t3\n4\t"+felder[4]+"\t6");
}
else if(eingabe1==6)
{
System.out.println("\n1\t2\t3\n4\t5\t"+felder[5]);
}
eingabe2=StdInput.readInt("Geben Sie das erste Feld ein, was Sie aufdecken moechten!");
if(eingabe2==1)
{
System.out.println("\n"+felder[0]+"\t2\t3\n4\t5\t6");
}
else if(eingabe2==2)
{
System.out.println("\n1\t"+felder[1]+"\t3\n4\t5\t6");
}
else if(eingabe2==3)
{
System.out.println("\n1\t2\t"+felder[2]+"\n4\t5\t6");
}
else if(eingabe2==4)
{
System.out.println("\n1\t2\t3\n"+felder[3]+"\t5\t6");
}
else if(eingabe2==5)
{
System.out.println("\n1\t2\t3\n4\t"+felder[4]+"\t6");
}
else if(eingabe2==6)
{
System.out.println("\n1\t2\t3\n4\t5\t"+felder[5]);
}
}
}
}
Nun wissen wir nicht wie wir weiter machen sollen.
Wir bitten um Hilfe!
Zuletzt bearbeitet von einem Moderator: