Gewinner Ausgeben

Nun, da wir wissen, wer der Gewinner ist, muss das ja auch angezeigt werden. Dazu haben wir die Methode, SiegerAusgeben() bereits im Code stehen. Allerdings weiß der Compiler nicht, was es mit dieser Methode auf sich hat. Das wollen wir nun ändern. Hier die Mehtode:

void MainGame::SiegerAusgeben(){
    kbd::tasten_leeren();
    std::stringstream Temp;
 
    switch (Gewinner){
        case PLAYER1:
            Temp << Player[0]->getText() << " hat gewonnen";
            break;
 
        case PLAYER2:
            Temp << Player[1]->getText() << " hat gewonnen";
            break;
 
        case UNENTSCHIEDEN:
            Temp << "Unentschieden";
            break;
    }
    Sieg->TextZuweisen(Temp.str().c_str());
    Sieg->PositionSetzen((SCREEN_W - Sieg->getText().length()*50)/2, (SCREEN_H - 50)/2);
    Sieg->Anzeigen(true);
 
    clear_keybuf();
    while (!keypressed()) {
        _sleep(500);
        // wenn eine Taste gedrückt wird geht es weiter
    }
}

Als erstes leeren wir uns den Keyboard buffer, damit er uns am ende nicht die while-schleife vorzeitig beendet. Ansonsten sollte es ziemlich klar sein, wofür welcher Code gedacht ist.

zurück weiter zur Reset()-Methode