Programowanie gry Smerf w labiryncie Zasady gry: W grze wcielamy się w postać Smerfa Zgrywusa, który musi przejść przez labirynt i dostać się do wioski smerfów. Po drodze musi unikać spotkania z Gargamelem i jego kotem. Cel ćwiczenia: Utrwalenie sposobów sterowania duszkiem za pomocą klawiszy strzałek Precyzyjne pozycjonowanie obiektów na scenie za pomocą współrzędnych x i y Zastosowanie instrukcji warunkowej jeżeli Zastosowanie różnych czujników i wyrażeń warunkowych dostępnych w programie Nasłuchiwanie zdarzeń 1
Instrukcja: 1. Zapisujemy na dysk plik z planszą (plik tlo.png). 2. Wczytujemy na scenę smerfa (plik smerf.png) a jako tło sceny wybieramy wczytany wcześniej plik z labiryntem. 3. Odpowiednio zmniejszamy rozmiary smerfa, tak aby cały mieścił się w kratce. 4. Programujemy sterowanie (przesuwanie duszka) klawiszami strzałek. Pamiętamy aby zmienić styl obrotu na lewo-prawo 2
5. Ustalamy warunki początkowe: po naciśnięciu zielonej flagi ustawiamy smerfa w położeniu początkowym. 6. Dodajemy skrypt ograniczający ruch smerfa, tak że nie może on stanąć na szarym polu. 7. Dodajemy skrypt, który wykona się tylko wtedy kiedy smerf dotrze do wioski. 3
8. Dodajemy klocki, umożliwiające zliczanie ile kroków zrobiliśmy, aby Zgrywus dotarł na miejsce. W tym celu do programu wprowadzamy zmienną o nazwie kroki i modyfikujemy skrypty z punktów 4, 5 i 7. Zmienną kroki pokazujemy na scenie w prawym dolnym rogu. 4
9. Do skryptu z punktu 7, dodajemy klocki, dzięki którym Zgrywu powie w ilu krokach pokonał trasę. 10. W celu wyeliminowania błędu występującego po ponownym rozpoczęciu gry, łączymy w jeden, skrypty z punktów 5 i 9. 5
11. Dodajemy klocki umożliwiające zliczanie błędnych ruchów naszego bohatera (zawsze kiedy Zgrywus zboczy z drogi i będzie próbował wejść na szare pole). W tym celu wprowadzamy zmienną o nazwie błędy i odpowiednio ją programujemy. 12. Dodajemy warunki ograniczające dla ruchów Zgrywusa (warunki brzegowe), tak aby nie wyszedł za obszar planszy. W tym celu modyfikujemy skrypty sterowania strzałkami. 6
Dodajemy przeszkody w grze: 13. Wczytujemy nowego duszka Gargamela i odpowiednio go zmniejszamy. 14. Dodajemy do niego poniższe skrypty. Powodują one losowe wędrowanie Gargamela po scenie. Na tym etapie możemy zmienić nazwy duszków (jeśli do tej pory tego nie zrobiliśmy). 15. Klikamy duszka Zgrywusa i dodajemy kod, który sprawdza czy został on złapany przez Gargamela. Jeśli tak się stanie, Zgrywus wraca na start i rozpoczyna wędrówkę od nowa. 16. Dodajemy planszę startową. Wczytujemy ją jako nowego duszka i ustawiamy dla na niej poniższe skrypty: 7
17. Modyfikujemy skrypt z punktu 16, tak aby Gargamel ruszył z miejsca, dopiero 2 sekundy po tym, jak rozpoczniemy grę. W tym celu posługujemy się eventami (komunikatami). Musimy również zmodyfikować skrypt podpięty pod Gargamela. 8
18. Statyczną planszę tytułową zamieniamy na odliczanie [3 2 1 0] po czym plansza znika i gra rozpoczyna się (bez czekania na kliknięcie planszy tytułowej). W tym celu kopiujemy planszę tak aby uzyskać 4 kostiumy (screen poniżej), a następnie w edytorze w Scratchu dodajemy na kolejnych planszach napisy: 3, 2, 1, 0 (korzystamy z cyfr wbudowanych i opcji Importuj dzięki czemu obiekty są umieszczane idealnie na środku): Modyfikujemy skrypt umieszczony na planszy: 9
19. W Photo Shopie tworzymy dwa nowe tła i importujemy je jako kolejne obrazy sceny. Dodajemy skrypt, który po rozpoczęciu gry (czyli po wykryciu eventu START GRY) wylosuje jedno z trzech teł. 20. (dodac screeny) 10