Characters färben

Danielku15

Erfahrenes Mitglied
[C++ - Konsole] Characters färben

Hi Leute.

Ich habe gerade ein kleines TicTacToe Programmiert. Wenn ein Spieler nun gewinnt sollen die X bzw. O rot hervorgehoben werden. Nur wie realisiere ich das. Ich habe bereits mehrere Posts durchgelesen in denen gefragt wurde wie Text gefärbt werden kann, jedoch werde ich nicht wirklich schlauer daraus. Überall werden irgendwelche Headerdateien angegeben die includiert werden sollen, irgend welche Funktionen werden aufgerufen von denen ich jedoch noch nie was gesehen oder gehört habe. Und die Zeilen wurden nicht wirklich mit Kommentaren versehen aus denen ich schlau werde. MSDN spruckt auch nur fertige Quellcode-Beispiele aus wo ich 0 kapier. Ich habe bisher von der Schule her nur mit dem IOstream gearbeitet. (+ Vector, String). Hier mal wie ich vorgehe:

Ich deklariere ein 3 Dimensionales Character Array als Spielfeld (global deklariert):
C++:
    char chrFelder[3][3] = {0};            // Spielfeld

Und meine Funktion welche mein Spielbrett ausgibt:
C++:
void show_Fields() {
    /* Infos anzeigen */
    system("cls");
    cout << "Spieler 1: " << strNamen[0] << endl;
    cout << "Spieler 2: " << strNamen[1] << endl;
    cout << endl;
    /* Spielfeld Zeigen */
    cout << "    1   2   3" << endl << endl;
    cout << "1   " << chrFelder[0][0] << " | " << chrFelder[0][1] << " | " << chrFelder[0][2] << endl;
    cout << "   ---+---+---" << endl;
    cout << "2   " << chrFelder[1][0] << " | " << chrFelder[1][1] << " | " << chrFelder[1][2] << endl;
    cout << "   ---+---+---" << endl;
    cout << "3   " << chrFelder[2][0] << " | " << chrFelder[2][1] << " | " << chrFelder[2][2] << endl;
    cout << endl;
}

Meine Idee wäre nun einfach ein Bool-Flag zu setzen um festzulegen ob das Spiel schon jemand gewonnen hat. Wenn ja, sollen die entsprechenden Arrayelemente rot gefärbt werden. Das Problem ist eigentlich nur noch im Rot färben von nur diesen Characters.

Ich hoffe ihr könnt mir weiterhelfen und seit nicht böse wenn ich irgendwo in nem Post was übersehen habe.

gruß daniel
 
Zuletzt bearbeitet:
Zurück