Zasady gry

W tym materiale będziemy odwoływać się do materiału pt. Zabawa w zgadywanie liczbyP161LBG4MZabawa w zgadywanie liczby. Duszek losował liczbę naturalną z określonego przedziału, np. od 1 do 100, a zadaniem gracza było odgadnięcie tej liczby. Duszek pomagał graczowi, podpowiadając, czy jego liczba jest mniejsza, czy większa, od podanej.

1
Polecenie 1

Zagraj z komputerem w zgadywanie liczby. Uruchom poniższą aplikację. Postaraj się zgadnąć liczbę w jak najmniejszej liczbie prób.

R1PMsDPPrQN4V
Aplikacja: Zabawa w zgadywanie liczby
Gra w zgadywanie liczby.
Źródło: Janusz Wierzbicki, licencja: CC BY 3.0.

Gra interaktywna zgadnij liczbę

Gra interaktywna. Po naciśnięciu symbolu trójkąta na ekranie widać duszka znajdującego się na scenie.
W lewym górnym okna gry widoczny jest przycisk uruchom. Po jego naciśnięciu nad dyszkiem unosi się okno dialogowe z napisem: pomyślałem liczbę całkowitą od jeden do stu. Jaka to liczba.
W górnej części okna, po prawej stronie przycisku zatrzymaj pojawiają się przyciski strzałka w lewo. Cyfra. Przykładowo jeden. Strzałka w prawo. Znak zatwierdzenia w kształcie ptaszka. Po zatwierdzeniu liczby duszek wydaje komunika przykładowo: moja liczba jest większa lub moja liczba jest mniejsza proszę wybierz ponownie. W przypadku odgadnięciu liczby w jak najmniejszej ilości prób pojawia się komunikat: brawo jesteś mistrzem. W przypadku odgadnięciu liczby przy większej ilości niż minimalna pojawia się przykładowy komunikat: odgadłeś liczbę w ósmej próbie. Możesz lepiej.

Teraz twoim zadaniem będzie przygotowanie aplikacji, w której role zostaną odwrócone. To duszek zgadnie liczbę pomyślaną przez ciebie.

ibbyMZ8WPA_d5e122

Algorytm zgadującego

1
Ćwiczenie 1

Uruchom poniższą aplikację, w której duszek zgaduje pomyślaną przez ciebie liczbę. Następnie zapisz w postaci listy kroków algorytm zadawania pytań przez duszka.

R1UnYkzZgpxII
Interaktywna aplikacja, w której duszek zgaduje liczbę pomyślaną przez ciebie
Gra w zgadywanie liczby.
Źródło: Janusz Wierzbicki, Maciej Borowiecki, licencja: CC BY 3.0.
Ćwiczenie 1

Zapisz w postaci listy kroków algorytm najszybszego zgadywania wybranej liczby spośród podanego wcześniej przedziału.

ibbyMZ8WPA_d5e211

Przygotowujemy aplikację

Ustalimy zasady komunikacji z grającym, czyli sposób w jaki gracz będzie odpowiadał na pytania duszka. Można do tego wykorzystać odpowiednio wcześniej wybrane słowa, znaki lub przyciski.

Możesz wykorzystać notatnik do zapisywania swoich uwag.

R11mJbWL00gY6
2
Ćwiczenie 2

Określ sposób komunikacji, czyli jak użytkownik będzie odpowiadał na pytania zadawane przez duszka.

Należy przewidzieć sytuację, że grający wpisze tekst niezrozumiały dla duszka – pomyli się, wpisując odpowiedź. Po uruchomieniu gry, np. zieloną flagą, dać czas graczowi na pomyślenie liczby, niech zadawanie pytań przez duszka rozpocznie się po określonym czasie lub po wciśnięciu wybranego klawisza na klawiaturze.

2
Ćwiczenie 3

Zmodyfikuj zapis algorytmu w postaci listy kroków uwzględniając wszystkie poprzednie ustalenia.

Przygotuj interfejs użytkownika do gry, czyli wybierz scenę (lub zaprojektuj własną), dobierz duszka, który będzie zadawał pytania. Utwórz też zmienne, które będą potrzebne przy realizacji algorytmu zgadywania liczby.

3
Ćwiczenie 4

Utwórz skrypt realizujący algorytm zgadywania liczby przez duszka.

ibbyMZ8WPA_d403e140
ibbyMZ8WPA_d403e184
ibbyMZ8WPA_d403e190
ibbyMZ8WPA_d5e406

Zadania uzupełniające

2
Ćwiczenie 5

Wprowadź do aplikacji licznik pytań. Uruchom kilkukrotnie aplikację. Ile pytań maksymalnie zada duszek, aby zgadnąć liczbę pomyślaną przez ciebie? Podanie niezrozumiałej dla duszka odpowiedzi nie powinno zwiększać licznika.

1
Ćwiczenie 6

Zmień przedział, w którym znajduje się pomyślana liczba. Najlepiej, niech duszek się zapyta na początku o dolną i górną granicę przedziału, w którym ma poszukiwać liczby. Wypróbuj działanie aplikacji dla różnych przedziałów, np. od 1 do 1000, od 1 do 10000. Obserwuj liczbę pytań zadawanych przez duszka.

3
Ćwiczenie 7

Przygotuj aplikację z wykorzystaniem przycisków do udzielania odpowiedzi.

ibbyMZ8WPA_d403e224