Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Wypisywanie "zakodowanego" wyrazu w grze Wisielec

Ostatnio zmodyfikowano 2013-12-10 10:18
Autor Wiadomość
LislaV
Temat założony przez niniejszego użytkownika
[C++] Wypisywanie "zakodowanego" wyrazu w grze Wisielec
» 2013-12-09 00:51:07
Potrzebuję napisac funkcję, która będzie wyświetlać "zakodowany" wyraz podany wcześniej, w postaci np. _ _ _ _ _  i wraz z kolejnymi podanymi przez użytkownika literami aktualizować te pola (chyba każdy grał kiedyś w wisielca i wie o co chodzi ;) ). Wymyśliłem coś takiego:

C/C++
void wypiszZakreskowanyWyraz( string wyraz, int dlugoscWyrazu, char znak )
{
    string tekst[ dlugoscWyrazu ];
   
    size_t znalezione = wyraz.find( znak );
    if( znalezione == string::npos )
    {
        for( int i = 0; i < dlugoscWyrazu; i++ )
        {
            tekst[ i ] = "_ ";
        }
        for( int i = 0; i < dlugoscWyrazu; i++ )
        {
            cout << tekst[ i ];
        }
    }
    else
    {
        for( int i = 0; i < dlugoscWyrazu; i++ )
        {
            if( i == znalezione )
            {
                cout << znak << " ";
                continue;
            }
            cout << "_ ";
        }
       
    }
   
   
}
ale muszę to jakos przerobić, zeby za każdym razem po podaniu dobrej litery tamta też dobra litera została również wypisana, a tutaj jak widać w tym kodzie za każdym razem gdy podam inną dobrą litere to ta poprzednia sie usuwa lub gdy podam złą to są znowu tylko same podkreślenia.

Nie chciałbym kodu gotowej funkcji, lecz jedynie jakąś podpowiedź czy wskazówkę jak to mogę zrobić.
P-98789
pekfos
» 2013-12-09 15:19:15
Utwórz na podstawie stringa z hasłem ("ala ma kota"), stringa z polami ("___ __ ____") i do tego stringa wstawiaj odgadnięte litery. Te dwa stringi reprezentują tą samą informację, więc nie będzie problemów z nanoszeniem liter i określaniem warunku zwycięstwa.
P-98795
LislaV
Temat założony przez niniejszego użytkownika
» 2013-12-10 10:18:25
Rzeczywiście, okazało sie to dosyć proste.. ;). Problem rozwiązany, dzieki.
P-98878
« 1 »
  Strona 1 z 1