Memory Problem



  • Guten Tag, wir sind grade dabei ein Memory Programm zu programmieren und benötigen dafür nu netwas hilfe...
    Wir haben im moment folgenden Quellcode:

    //---------------------------------------------------------------------------
    #include <iostream>
    #include <cstdlib>
    #include <ctime>
    using namespace std;
    //-------------------------------------------------------------------------
    int main()
    {
        char comma;
        int reihe1, zeile1, reihe2, zeile2, karten[5][6];
        //Kartenfeld erzeugen
        for (int reihe=0; reihe<=5; reihe++)
        {
            for (int zeile=0; zeile<6; zeile++)
            {
                karten[reihe][zeile]=rand()%30+1;
                //Zahlen sichtbar generieren  //von hier
     //Bis hier kann geloscht werden
            }
        }
        //Kartenfeld
        cout<<"    1   2   3   4   5   6";
        cout<<"  ";
        for (int i=0; i<=12; i++)
        {
            cout<<"-";
        }
        cout<<endl;
        for (int reihe=0; reihe<5; reihe++)
        {
            cout<<reihe+1<<" | ";
            for (int zeile=0; zeile<6; zeile++)
            {
            cout <<"*   "  ;
            }
            cout<<endl;
        }
        cout<<endl;
        //Kartenauswahl
        cout<<"Zahl der Reihe und Spalte fuer die 1. Karte eingeben.Mit Komma trennung! Bsp:2,3";
        cin>>reihe1>>comma>>zeile1;
        cout<<"Zahl der Reihe und Spalte fuer die 2. Karte eingeben.Mit Komma trennung! Bsp:3,2";
        cin>>reihe2>>comma>>zeile2;
    
        reihe1--;
        zeile1--;
        reihe2--;
        zeile2--;
        //reveal
        cout<<"    1   2   3   4   5   6";
        cout<<"   ";
        for (int i=0; i<=6; i++)
        {
            cout<<"   -";
        }
        cout<<endl;
        for (int reihe=0; reihe<5; reihe++)
        {
            cout<<reihe+1<<" | ";
            for (int zeile=0; zeile<6; zeile++)
            {
                if ((reihe==reihe1)&&(zeile==zeile1))
                {
                    cout<<karten[reihe][zeile]<<"   ";
                }
                else if((reihe==reihe2)&&(zeile==zeile2))
                {
                    cout<<karten[reihe][zeile]<<" ";
                }
                else
                {
                    cout<<"*   ";
                }
            }
            cout<<endl;
        }
        //Karten werden verglichen
        if (karten[reihe1][zeile1]==karten[reihe2][zeile2])
        {
        }
        else
        {
        }
        for (int b=0; b<=15; b++)
            cout<<endl;
        //repeat
        getchar();
        return 0;
    }
    

    Kommentare stehen ja dort. Nun haben wir einge Probleme.
    1. Werden keine paare generiert, die man auf decken kann, dass heißt, dass keine zwei Zahlen von der selben Zahl generiert werden.
    2. Schließt sich das Programm, nachdem die Karten einmal aufgedeckt wurden und der nächste Zug starten sollte.

    Bitte um Hilfe 😃



  • Ich bins nochmal, hab vergessen zu erwähnen, dass es sich um ein Memory-Spiel handelt und nicht um ein Memory zugriff oder so 😃


Anmelden zum Antworten