Solitär (das Brettspiel) als Consoleapplication



  • hey
    ich muss von der Schule aus das Brettspiel Solitär als Consoleapplication realisieren. also ich hab zwar schon das Spielfeld mit einem 2-dimensionalen Array (7*7) gemacht, aber ich weiß nicht, wie ich mich im spielfeld bewegen soll...
    ich hoffe ihr könnt mir helfen...danke im voraus



  • Ich kenne das Spiel zwar nicht, aber du bewegst dich einfach durch das Array. Wenn dein Spielfeld 7*7 ist, hast du eine Array[6][6].

    Nun könntest du die Felder zuweisen, ähnlich wie bei einem Schachfeld:
    Array[0][0] = A1;
    Array[0][1] = A2;
    Array[1][0] = B1;
    Array[1][1] = B2;

    ...usw.

    So kannst du problemlos durch jedes "Spielfeld navigieren".

    so long

    jd



  • jd schrieb:

    Ich kenne das Spiel zwar nicht, aber du bewegst dich einfach durch das Array. Wenn dein Spielfeld 7*7 ist, hast du eine Array[6][6]. ...

    Besser nicht....:p

    Ich würde ihm ein Array[7][7] spendieren. 😉
    (oder einen vector<vector<> >)

    Gruß,

    Simon2.



  • Schon richtig mit vector, aber das ist dann ehr die Steigerung und wäre meiner Meinung fehl an dem Platz wenn das Grundprinzip noch nicht einmal bekannt ist.

    Warum ein Array mit [7][7]? Die Zählung beginnt doch bei 0. Wenn du [7][7] macht, hast du da keine sorge das deine Spielfigur oder was auch immer durch einen Programmfehler nicht einmal in der "Pampa" steht?



  • Ich denke, Du verwechselst hier die Dimension eines Arrays mit seinem höchsten Index.

    int arr[4]; // Dimension ist 4
    arr[3] = 1456; // höchster index ist 3
    

    Deswegen würde ich ihm ein [7][7]-Array spendieren, damit er als höchsten Index [6][6] verwenden darf ....

    😃

    jd schrieb:

    Schon richtig mit vector, aber das ist dann ehr die Steigerung und wäre meiner Meinung fehl an dem Platz wenn das Grundprinzip noch nicht einmal bekannt ist....

    Ich finde hier auch vector nicht unbedingt notwendig, das ausschlaggebende Kriterium ist aber, dass hier keine dynamische Längenveränderung notwendig ist ... da tut's auch ein Array. Und da man ein 2-D-Array auch auf den Stack legen und einfacher füllen kann, habe ich hier auch nichts dagegen sagen.

    @"Anfänger": Das "Prinzip" ist dasselbe wie beim Array - er kann es also genausogut gleich "richtig" mit vector lernen, denn spätestens die übernächste Frage wird sein "Und wenn ich nun beliebige Dimensionen nehmen will ?" ... und sich dann mit new[]/delete[], Speicher und Pointer rumschlagen zu müssen, ist für Anfänger IMHO schwerer, als gleich mit dem vector anzufangen...

    Gruß,

    Simon2.



  • Ok, verstehe, da gehe ich mit, hast Recht.


Anmelden zum Antworten