Funkcja bool w prostym zadaniu
Ostatnio zmodyfikowano 2017-01-06 17:16
wokub Temat założony przez niniejszego użytkownika |
» 2017-01-06 16:28:48 Pokombinowałem z kilkoma rzeczami *zmieniając bool czyKoniec = false w mainie na jakieś koniec = czyKoniec() int main() { bool koniec = czyKoniec(); int zwyciezca = 0; logo(); mapka(); do { gracz(); SI(); mapka(); wygrana( zwyciezca ); } while( koniec != false ); return 0; }
*próbowałem zmienić main na to z ,,do" int main() { bool czyKoniec = false; int zwyciezca = 0; logo(); mapka(); do { gracz(); SI(); mapka(); wygrana( zwyciezca ); } while( czyKoniec != false ); return 0; }
*dopisywałem return 0 lub 1 pod wygrana (zwyciezca); I mam jeden rezultat. Za każdym razem wykonuje się jeden ruch gracz, jeden SI i po przycisku się wyłącza. Funkcja czyKoniec jest dobra, int main robiony po mojemu nie czyta funkcji, robione na podstawie tej lekcji wyłącza po jednej pętli... Chociaż przyznam jedno. Np. przy tym przykładzie w końcu czyta tą funkcję, bo wyświetla cout-a, którego dopisałem. int main() { logo(); mapka(); bool koniec = czyKoniec(); int zwyciezca = 0; do { gracz(); SI(); mapka(); wygrana( zwyciezca ); } while( koniec != false ); return 0; }
Ja już nie wiem. Z tego co zauważam, to false = 0 (co jest oczywiste), a przy każdym 0 wyłącza mi plik. Dlaczego więc na starcie mam mieć bool czyKoniec false (polecenie ćwiczeniowca), jeśli false z reguły wyłącza. Czy nie powinienem zaczynać od tego, że bool jest true/1 ? |
|
Gibas11 |
» 2017-01-06 16:31:54 bool koniec = czyKoniec(); Tu jednorazowo zapisujesz wynik wykonania funkcji czyKoniec() a ty zdaje się chcesz wywoływać tą funkcję co obieg pętli, więc wstaw to zwyczajnie do warunku. while( !czyKoniec() ) |
|
wokub Temat założony przez niniejszego użytkownika |
» 2017-01-06 16:34:04 Działa :| Dzięki wielkie, chwała ci! Teraz wiem jak dokończyć resztę. Jakby ktoś kiedyś miał problem z czymś podobnym, ostateczna wersja maina była: int main() { logo(); mapka(); int zwyciezca = 0; do { gracz(); SI(); mapka(); wygrana( zwyciezca ); } while( !czyKoniec() ); return 0; }
|
|
czaffik |
» 2017-01-06 16:34:32 Funkcja czyKoniec() się nie wczytuje bo jej tam nawet nie używasz, tworzysz zmienną która ma taką samą nazwę jak funkcja jednak egzystuje wewnątrz funkcji main, a funkcji wcale nie używasz int main() { bool czyKoniec = false; <-- int zwyciezca = 0; logo(); mapka(); while( czyKoniec == false ) { gracz(); SI(); mapka(); wygrana( zwyciezca ); } return 0; }
|
|
wokub Temat założony przez niniejszego użytkownika |
» 2017-01-06 16:35:20 Zmyliło mnie w poleceniu ,,bool czyKoniec na starcie ma mieć wartość false".
A i mam jeszcze jedno pytanie, jak tak spojrzeć na tego maina, to jest możliwość, żeby wcisnąć tam system ("clear"), aby zostawała tylko jedna mapka widoczna, aktualna? Próbuję z tym się bawić, ale za każdym razem usuwa mi całość. Co prawda kiedys mialem to dobrze zrobione, z system cls, ale przesiadlem sie na linuxa i juz nie wiem co i jak |
|
Gibas11 |
» 2017-01-06 17:16:14 Czyść tuż przed narysowaniem nowej mapy. |
|
1 « 2 » |