Gra z losowaniem
Ostatnio zmodyfikowano 2015-05-03 23:57
BartC Temat założony przez niniejszego użytkownika |
Gra z losowaniem » 2015-05-03 19:41:35 Twoim zadaniem domowym jest napisanie prostej gry, która ma działać następująco: 1. Program losuje liczbę z przedziału od 1 do 1000. 2. Użytkownik zgaduje liczbę, która została wylosowana. 3. Jeżeli podana liczba jest za duża (za mała) gra wypisuje stosowny komunikat i powraca do kroku 2. 4. Jeżeli gracz trafi liczbę wylosowaną to progam kończy działanie, wypisując na ekran wylosowaną liczbę oraz liczbę 'strzałów', które oddał gracz. Kod: ...# include < iostream > #include <cstdlib> #include <ctime> int main() { srand( time( NULL ) ); int liczba; int mojaliczba; std::cout << "Witaj w tej mini gierce! " << std::endl; std::cout << "Twoim zdaniem będzie trafic liczbe od 0 do 100 " << std::endl; do { std::cout << "Losuje liczbe " << std::endl; liczba =(( std::rand() % 100 ) + 0 ); std::cin >> mojaliczba; if( liczba == mojaliczba ); { std::cout << "Brawo! Zgadles liczbe! " << std::endl; std::cout << "Liczba ta to: " << liczba << std::endl; } if( liczba != mojaliczba ); { std::cout << "Niestety nie zgadles liczby " << std::endl; std::cout << "Liczba ta to: " << liczba << std::endl; } } while( liczba == mojaliczba ); std::cout << "Koniec" << std::endl; return 0; } ... Program wypisuje wszystko od razu. Niezależnie od tego czy trafi się liczbę czy nie pisze 2 wersje od razu. |
|
pekfos |
» 2015-05-03 20:04:03 Usuń średniki po ifach. |
|
JMII89 |
» 2015-05-03 20:26:36 while( liczba == mojaliczba ); To nigdy nie będzie prawdziwe bo liczba ma w sobie śmieci bo nie ma żadnej wartości przy deklaracji i mojaliczba to samo. |
|
pekfos |
» 2015-05-03 20:51:16 while( liczba == mojaliczba ); To nigdy nie będzie prawdziwe bo liczba ma w sobie śmieci bo nie ma żadnej wartości przy deklaracji i mojaliczba to samo. |
Co? Przed sprawdzeniem warunku już będą tam wartości. |
|
JMII89 |
» 2015-05-03 20:56:40 A no tak przecież to do while sry. |
|
BartC Temat założony przez niniejszego użytkownika |
» 2015-05-03 23:46:39 Dzięki, jak zrobić aby pod koniec wypisało liczbę strzałów? |
|
carlosmay |
» 2015-05-03 23:57:31 while( liczba == mojaliczba ) ten warunek mowi, że petla ma działać gdy liczba jest równa mojaliczba, a ma działać gdy liczba jest różna od mojaliczba while( liczba != mojaliczba ) Żeby pokazało liczbę strzałów dodaj w treści pętli jakiś licznik np. ++licznik; wcześniej go zadeklaruj. #include <iostream > #include <cstdlib> #include <ctime> using namespace std; int main() { srand( time( NULL ) ); int liczba; int licznik = 0; int mojaliczba; cout << "Witaj w tej mini gierce! " << endl; cout << "Twoim zdaniem będzie trafic liczbe od 0 do 100 " << endl; liczba =(( rand() % 100 ) + 0 ); do { cout << "Losuje liczbe " << endl; cin.clear(); cin.good(); cin >> mojaliczba; ++licznik; if( liczba == mojaliczba ) { cout << "Brawo! Zgadles liczbe! " << endl; cout << "Liczba ta to: " << liczba << endl; } if( liczba != mojaliczba ) { cout << "Niestety nie zgadles liczby " << endl; } } while( liczba != mojaliczba ); cout << "Zgadles za: " << licznik << "razem" << endl; cout << "Koniec" << endl; return 0; } A cha jeszcze zakombinuj jak chcesz, żeby program podpowiadał czy podałeś liczbę większą bądź miniejszą od wylosowanej, zabawa z ifami. |
|
« 1 » |