Szukaj

1944

Reklama

Chroń swoje dziecko

w Internecie
Reklama

za darmo ...

Kalendarz

Reklama

Jak odbierasz ...

Wygląd portalu
 

"Musicie od siebie wymagać, nawet jeśli inni by od Was nie wymagali..." JP2 [100%]

Reklama
Ćwiczenia - piszemy prostą grę PDF Drukuj Email
Ocena użytkowników: / 3
SłabyŚwietny 
Instrukcje i materiały do ćwiczeń - Podstawy programowania w C++
Wpisany przez Administrator   

W tym artykule zawarto kilka ćwiczeń utrwalających zagadnienia poznane do tej pory.

Zachęcam, żeby pofatygować się i spróbować samemu stworzyć każdy program od nowa (wiem, że nieraz wystarczy tylko dopisać kilka linijek do poprzedniego programu, ale w ten sposób bardzo utrwala się wiedza).

Kilka funkcji (takich jak generator liczb pseudolosowych) poojawiło się tu po raz pierwszy w naszym kursie i dlatego możesz mieć pewne trudności z nimi, jednak postaraj się sam sobie pomóc koprzystając z internetu. W przyszłości, jeśli będziesz programować to takich sytuacji problemowych będzie dużo i musisz się nauczyć wyszukiwać odpowiedzi i konkretne przykłady zastosowania poszczególnych funkcji.

Jeśli rozumiesz wszystko, co w tych ćwiczeniach zostało użyte i wiesz, dlaczego w ten a nie inny sposób to śmiało możesz przejś do kolejnych lekcji z programowania w c++.

 

 

Ćwiczenie 1

Napisz program, który losuje liczbę w zakresie 0-1000 a następnie użytkownik musi zgadnąć jaka to liczba.

 

 

 Przykładowe rozwiązanie (dla porównania) podano na końcu instrukcji.

 

Gra nudna jak flaki z olejem. W następnym ćwiczeniu urozmaicimy ja troszkę. 

 

Ćwiczenie 2

Napisz program, który generuje losową liczbę w zakresie 0-1000 a następnie użytkownik musi zgadnąć jaka to liczba.

Za każdym razem, kiedy użytkownik nie zgadnie program podpowiada, czy podana liczba jest za mała czy za duża.

 

Teraz jest szansa, że gracz nie zaśnie :)

Przykładowe rozwiązanie (dla porównania) podano na końcu instrukcji.

 

Ćwiczenie 3

Napisz program, który generuje losową liczbę w zakresie 0-1000 a następnie użytkownik musi zgadnąć jaka to liczba.

Za każdym razem, kiedy użytkownik nie zgadnie program podpowiada, czy podana liczba jest za mała czy za duża.

Po każdej nieudanej próbie występuje zapytanie a'la Vista w stylu "Czy na pewno chcesz kontynuować?" po czym użytkownik musi wcisnąć "t" lub "n" w zależności od wyboru :)

 

 

 

Przykładowe rozwiązanie (dla porównania) podano na końcu instrukcji.

 

Znów gra zrobiła się monotonna. 

Wywalmy głupie pytanie, czy użytkownik chce kontynuować.

Skróćmy czas gry do np. 7 prób!

 

Ćwiczenie 4

 

Napisz program, który generuje losową liczbę w zakresie 0-1000 a następnie użytkownik musi zgadnąć jaka to liczba.

Za każdym razem, kiedy użytkownik nie zgadnie program podpowiada, czy podana liczba jest za mała czy za duża.

Likwidujemy zapytanie "Czy na pewno chcesz kontynuować ..."

Program dopuszcza tylko 7 prób, po których informuje użytkownika, że niestety nie wygrał, oraz wyświetla wynik.

Za każdym razem użytkownik jest informowany, ile jeszcze prób mu zostało.

 

 

strasznie trudna gra się zrobiła :)

 

Ale da się przejść, zwłaszcza metodycznym sposobem :)

 

Przykładowe rozwiązanie (dla porównania) podano na końcu instrukcji.

 

Jako, że użytkownicy bywają różni, pozwólmy, aby sami sobie wybrali, ile prób im przysługuje:

 

 

Ćwiczenie 5

 

Napisz program, który generuje losową liczbę w zakresie 0-1000 a następnie użytkownik musi zgadnąć jaka to liczba.

Za każdym razem, kiedy użytkownik nie zgadnie program podpowiada, czy podana liczba jest za mała czy za duża.

Likwidujemy zapytanie "Czy na pewno chcesz kontynuować ..."

Program dopuszcza tylko tyle prób prób, ile na początku zadeklarował gracz.

Po wykorzystaniu wszystkich prób program informuje użytkownika, że niestety nie wygrał, oraz wyświetla wynik.

Za każdym razem użytkownik jest informowany, ile jeszcze prób mu zostało.

 

 

 

 idźmy za ciosem i pozwólmy użytkownikowi wybrać z jakiego zakresu liczba jest losowana oraz ile ma prób:

 

Ćwiczenie 6:

 

Napisz program, który generuje losową liczbę w zakresie od zera do liczby podanej przez użytkownika a następnie użytkownik musi zgadnąć jaka to liczba.

Za każdym razem, kiedy użytkownik nie zgadnie program podpowiada, czy podana liczba jest za mała czy za duża.

Likwidujemy zapytanie "Czy na pewno chcesz kontynuować ..."

Program dopuszcza tylko tyle prób prób, ile na początku zadeklarował gracz.

Po wykorzystaniu wszystkich prób program informuje użytkownika, że niestety nie wygrał, oraz wyświetla wynik.

Za każdym razem użytkownik jest informowany, ile jeszcze prób mu zostało.

 

 

 

 

 

 Czasem udaje się zgadnąć a czasem nie.

Dobrze, że komputer nie oszukuje.

Właśnie, a może mógłby?

Wyzwanie: napisz taki program, jak w ćwiczeniu 6, jednak komputer w programie ma oszukiwać, tzn dopóki się da, ma informować, że użytkownik nie zgadł. Przyjmijmy, że dopóki jest przynajmniej 10 opcji (możliwych rozwiązań )program informuje, że użytkownik nie zgadł. Poniżej 10 wyszukuje sobie losową liczbę w tym przedziale i tej opcji trzyma się już do końca - wtedy jest szansa zgadnąć, bo program rzeczywiście "ma" już jakaś liczbę "wylosowaną". Przypomina to troszkę oszustwa dzieci, kiedy nie chcą przegrać i nawet jeśli przeciwnik zgadł liczbę to one szybko zmyślają inną, która jeszcze nie padła. Z tym, że dzieci nieraz mylą się w kłamstwach i ich oszustwa wychodzą na jaw. Nasz program będzie umiał oszukiwać umiejętnie.

 

 Ćwiczenie 7

 

 

Napisz program, który udaje, że generuje losową liczbę w zakresie od zera do liczby podanej przez użytkownika a następnie użytkownik musi zgadnąć jaka to liczba.

Za każdym razem, kiedy użytkownik nie zgadnie program uczciwie podpowiada, czy podana liczba jest za mała czy za duża.

Program dopuszcza tylko tyle prób prób, ile na początku zadeklarował gracz.

Po wykorzystaniu wszystkich prób program informuje użytkownika, że niestety nie wygrał, oraz wyświetla wynik - w logiczny sposób "sfingowany".

Za każdym razem użytkownik jest informowany, ile jeszcze prób mu zostało.
Jeśli użytkownik zgadnie, to

 

Opisowo działanie programu:

   1. Start
   2. Program losuje jakąś liczbę
   3. Za każdym razem, kiedy program odpowiada, że dana liczba (podana przez użytkownika) jest za mała lub za duża, pula poprawnych rozwiązań zmniejsza się i coraz bardziej oscyluje wokół liczby pierwotnie wylosowanej.
   4. Jeśli użytkownik zgadł, to program losuje inną liczbę z tego zakresu.
   5. W końcu szanse kończą się lub użytkownik wygrywa (pula mniejsza niż 10)
   6. Stop


Trudne?
Do zrobienia!

 

Zakreślone na żółto komunikaty są "serwisowe" - żeby sprawdzić, czy program dobrze oszukuje - czy nie ma błędów logicznych w rozumowaniu.

 

 

 

Odpowiedzi ...

 

 

do ćwiczenia 1:

 

 

do ćwiczenia 2:

 

 

 

do ćwiczenia 3:

 

 

do ćwiczenia 4:

 

 

 do ćwiczenia 5:

 

 

 

do ćwiczenia 6:

 

 do zadania 7

 

tekst zaznaczony na żółto to kod serwisowy - do testowania działania programu.