Zasady gry

Może znasz grę w zgadywanie liczby? Zadaniem jednego z graczy jest odgadnięcie liczby naturalnej (np. nie mniejszej niż 1 i nie większej niż 100), którą pomyślał drugi gracz. Zagraj w zgadywankę z kolegą lub koleżanką. Poproś, żeby zapisał(a) na kartce liczbę (tak, żebyś jej nie widział(a)) i spróbuj ją zgadnąć. Kolega lub koleżanka będzie Ci podpowiadać mówiąc za dużo lub za mało. Pamiętaj, aby potem zamienić się rolami. Jeśli trudno Wam zgadnąć liczbę, ograniczcie zakres dozwolonych liczb, np. do 30 lub 50.

1
Ćwiczenie 1

Zapisz w punktach rolę gracza, który pomyślał liczbę. Jakie kolejne czynności wykonuje?

R1RgjOSblb7nQ
Źródło: GroMar, licencja: CC BY 3.0.

Stwórzmy tę grę w języku Scratch. Potrzebne informacje na ten temat znajdziesz w materiale Wprowadzenie do środowiska ScratchP9AYGQXHJWprowadzenie do środowiska Scratch.

Rolę gracza, który pomyślał liczbę, będzie pełnić komputer. Twoim zadaniem będzie zaprojektowanie algorytmu postępowania komputera i zapisanie skryptu go realizującego. Wybierz z galerii (lub zaprojektuj własne w edytorze graficznym) tło sceny oraz duszka, który będzie reprezentował komputer w grze, czyli prosił Ciebie o zgadnięcie liczby i naprowadzał na poprawną odpowiedź.

RIytl9VqG4HiY
Przykładowa implementacja gry w zgadywanie liczby.
Źródło: nn, licencja: CC BY 3.0.

Implementacja gry

Szanse na to, że zgadniesz liczbę za pierwszym razem są bardzo małe. Komputer będzie więc wielokrotnie prosił Ciebie o podanie liczby i udzielał podpowiedzi.
Kiedy komputer powinien zakończyć zadawanie pytań? Odpowiedź jest oczywista: kiedy zgadniesz, czyli podasz liczbę pomyślaną przez komputer.

1
Ćwiczenie 2

Przejrzyj w grupie Kontrola bloki odpowiedzialne za powtarzanie innych poleceń. Który blok najlepiej będzie pasował do rozwiązania tego problemu? Odpowiedź uzasadnij.

RDkeUl4ajhvou
Źródło: GroMar, licencja: CC BY 3.0.
1
Ćwiczenie 3

Zapisz w punktach algorytm postępowania komputera sterującego grą w zgadywanie liczby. Niech komputer losuje liczbę, którą gracz powinien odgadnąć. Może być to liczba z zakresu od 1 do 100.

R1cmcRPOJedzP
Źródło: GroMar, licencja: CC BY 3.0.

W tym projekcie wykorzystasz zmienną do zapamiętania wylosowanej liczby. Utwórz ją wcześniej. Zwróć uwagę, że wartości zmiennych domyślnie są widoczne na scenie. W tej zabawie grający ma zgadnąć wylosowaną liczbę, więc powinna ona być ukryta. Możesz pozostawić ją widoczną na potrzeby testów, ale potem pamiętaj o wyłączeniu jej widoczności. Możesz wykorzystać także w skrypcie blok ukryj zmiennąiX7liXRCoZ_d357e138ukryj zmienną.

Rl0E4YSSfSVNO
Pole do zmiany widoczności wartości zmiennej na scenie.
Źródło: GroMar, licencja: CC BY 3.0.
2
Ćwiczenie 4

Zapisz skrypt realizujący algorytm z powyższego zadania. Pamiętaj o sprawdzeniu poprawności działania skryptu.

powtarzaj_to_w_przeciwnym
iX7liXRCoZ_d357e102
iX7liXRCoZ_d357e111
iX7liXRCoZ_d357e121
iX7liXRCoZ_d357e138
iX7liXRCoZ_d357e155
iX7liXRCoZ_d357e164

Zadania uzupełniające

2
Ćwiczenie 5

Dodaj do gry w zgadywanie liczby licznik pytań. Po odgadnięciu liczby wyświetl informację, w której próbie udało się grającemu zgadnąć liczbę.

3
Ćwiczenie 6

Zagraj kilkukrotnie w grę. Zapisz w punktach algorytm zgadującego, prowadzący do odgadnięcia liczby w jak najmniejszej liczbie prób.

3
Ćwiczenie 7

Przygotuj skrypt, który wylosuje dwie liczby całkowite z przedziału od 1 do 10 i poprosi grającego o podanie wyniku mnożenia. Pytanie powinno być ponawiane aż do podania prawidłowego wyniku. Zapisz najpierw algorytm w postaci listy kroków.

Ważne!

Nazwy zmiennych warto od samego początku zapisywać tak, aby było wiadomo jaką daną przechowują. Będzie możliwe sprawnie odróżnianie ich od siebie, co pozwoli na szybsze zrozumienie, do czego są one wykorzystywane w programie. Ta praktyka bardzo przyda ci się w skomplikowanych programach, gdzie zmiennych jest więcej.

1
Ćwiczenie 8

Zaproponuj rozszerzenia poprzedniego projektu, np. niech grający odpowie na 10 pytań, czyli 10 różnych działań dla 10 zestawów wylosowanych liczb. Wprowadź licznik poprawnych odpowiedzi.

iX7liXRCoZ_d357e198