[C++] Wypisywanie "zakodowanego" wyrazu w grze Wisielec
Ostatnio zmodyfikowano 2013-12-10 10:18
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: 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ć. |
|
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. |
|
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. |
|
« 1 » |