Hans: Memory

Beitrag lesen

Hi !

Ich sehe gerade Dein Problem nicht.

/* Array mit Karten anlegen */
Karte[0]="Hund";
Karte[1]="Katze";
Karte[2]="Maus";
Karte[3]="Hund";
Karte[4]="Katze";
Karte[5]="Maus";

/* Ab der dritten Karte kommt die Wiederholung */
Wiederholung=3;

/* In welcher Reihenfolge wurden die Karten auf dem Tisch ausgeteilt ? */
gelegte_Karte[0]=2; /* 1. Maus */
gelegte_Karte[1]=0; /* 1. Hund */
gelegte_Karte[2]=5; /* 2. Maus */
gelegte_Karte[3]=4; /* 2. Katze */
gelegte_Karte[4]=1; /* 1. Katze */
gelegte_Karte[5]=3; /* 2. Hund */

/* Stimmen die Karten überein? */
int pruef(karte1, karte2) {
   if (karte1 > karte2) {
      if (karte1-Wiederholung == karte2) {
         return 1;
      }
   }
   else {
      if (karte2-Wiederholung == karte1) {
         return 1;
      }
   }
   return 0;
}

/* Zuerst wird die 6. Karte auf dem Tisch aufgedeckt, danach die 2. Karte. Jetzt werden die Karten überprüft */

if (pruef(gelegte_Karte[5], gelegte_Karte[1])==1) {
  print ("Prima, zwei gleiche Karten !");
}
else {
  print ("Leider nix !");
}

So, das ist mir jetzt gerade so eingefallen. Es gibt vielleicht noch eine bessere Methode, aber ich denke, das Prinzip ist einigermaßen klar geworden.

Gruß

Hans