CZAS NA PROGRAMOWANIE Wanda Jochemczyk Wydawnictwa Szkolne i Pedagogiczne wanda.jochemczyk@oeiizk.waw.pl Abstract. This workshop is for teachers who have basic skills in programming in Scratch. During our workshop we will prepare a project of wellknown game Snake. The game could be useful for programing classes and special workshops. We will also discuss possibilities of how students might develop this game. 1. Wstęp Zaprogramowana własnoręcznie gra komputerowa? O tym marzy większość chłopców w szkole podstawowej. Jeszcze niedawno było to marzenie nie do prześcignięcia. Dziś stworzenie gry komputerowej jest w zasięgu możliwości każdego dziecka w szkole podstawowej. Wystarczy poznać język programowania Scratch, który został stworzony specjalnie dla edukacji. Dzięki niemu możemy tworzyć projekty z wykorzystaniem bloczków, które połączone ze sobą tworzą skrypty programujące to co zaprojektował programista. Środowisko Scratch jest całkowicie bezpłatne, działa na różnych systemach operacyjnych, przez co jest dostępne dla każdego ucznia. Jedynym wymaganiem jest posiadanie przeglądarki internetowej oraz dostępu do Internetu. Na warsztatach zaprojektujemy i zaprogramujemy własną wersję popularnej gry Snake. 2. Zasady gry Snake Snake to stara zręcznościowa gra komputerowa, która powstała czterdzieści lat temu, zyskując wielką popularność. Po uruchomieniu gry wąż porusza się po planszy zbierając jabłka. Trzeba uważać, aby nie uderzył własną głową o brzeg planszy lub nie wpadł na swój ogon. Gracz ustala kierunek ruchu węża za pomocą klawiszy strzałek (góra, dół, lewo, prawo).
Własna gra komputerowa 359 3. Projektujemy grę Rysunek 1. Gra Snake w środowisku Scratch Zaczynamy od utworzenia trzech duszków: głowy, tułowia i jabłka (jest w bibliotece). Zwróćmy uwagę na to, aby średnica głowy była większa od boku kwadratu stanowiącego tułów. Rysunek 2. Przygotowane duszki Zajmijmy się na początek duszkiem głowa. Wstawiamy cztery skrypty sterowania klawiszami strzałek: w lewo, w prawo, w górę i w dół, wybierając odpowiednio kierunki. Rysunek 3. Sterowanie głową Kolejny skrypt dla tego duszka to tzw. skrypt zielonej flagi, czyli to, co się ma dziać po uruchomieniu projektu. Jako pierwsze są trzy bloczki ustalenia warunków
360 Wanda Jochemczyk początkowych, potem uruchamia się pętla zawsze, w której duszek przesuwa się o 1 krok i występuje instrukcja warunkowa jeżeli, w której sprawdzany jest warunek, czy przypadkiem oczy głowy (kolor granatowy) nie dotykają koloru jaki ma tułów (pomarańczowy) lub czy duszek nie doszedł do krawędzi sceny. Jeśli którykolwiek z tych warunków jest spełniony, to zatrzymują się wszystkie działające skrypty. Rysunek 4. Warunki brzegowe Teraz czas na testowanie swojego projektu. Po kliknięciu w zieloną flagę głowa zaczyna się poruszać, działa sterowanie strzałkami, po dojściu do brzegu ekranu wszystkie skrypty zatrzymują się. W pętli zawsze dokładamy jeszcze jedną instrukcję warunkową w której badamy, czy głowa nie dotyka duszka jabłko. Jeśli ten warunek jest spełniony, to zostanie nadany komunikat zjedzone. Otrzymują go pozostałe duszki. Rysunek 5. Instrukcja warunkowa Zajmijmy się teraz skryptami duszka jabłko. Po otrzymaniu komunikatu zjedzone jabłko chowa się, zmienia w sposób losowy swoje położenie i pokazuje się. Pamiętajmy również, aby na początku gry wstawić polecenie pokaż. Jak przystało
Własna gra komputerowa 361 na prawdziwego programistę testujemy działanie swojego programu. W tym momencie porusza się głowa, zjada jabłko, które po chwili pojawia się w innym miejscu. Program zatrzymuje się, jeśli głowa dotrze do brzegu ekranu. Rysunek 6. Skrypt zielonej flagi warunek początkowy duszka jabłko Rysunek 7. Co się dzieje z jabłkiem? Kolejny etap naszej pracy to utworzenie zmiennej globalnej długość (w Scratch dla wszystkich duszków), która będzie wykorzystywana w skryptach duszka tułów. Rysunek 8. Tworzenie zmiennej "długość"
362 Wanda Jochemczyk Wreszcie skrypty duszka tułów. Po kliknięciu w zieloną flagę ustalamy warunki początkowe, w tym ustalamy wartość początkową zmiennej długość. Na początku mamy jednego duszka tułów (pomarańczowy kwadrat), który jest umieszczony pod głową. W pętli zawsze przesuwamy go w kierunku głowy i klonujemy, czyli tworzymy duplikat wybranego duszka. Dla klona uruchamiamy kasowanie ogona. 4. Podsumowanie Rysunek 9. Jak powstaje ogon? Tak utworzony projekt można modyfikować. Uczniowie będą mieli w tym zakresie zapewne wiele pomysłów. Dajmy im możliwość zrealizowania ich. Przykładowe modyfikacje: waż co jakiś czas znosi jajko, które należy omijać, duszek jabłko ma kilka kostiumów (kolory jabłek) i korzysta z nich w sposób losowy przy kolejnych odsłonach, zbieramy punkty za zjedzone jabłko, każde zjedzone jabłko powoduje, że wąż tyje, Czego uczniowie nauczyli się? interakcji z użytkownikiem sterowanie głową węża, układania ciągu poleceń, wykorzystania pętli zawsze, wykorzystania instrukcji warunkowej, wykorzystania losowości do wyboru pozycji.
Literatura Własna gra komputerowa 363 1. Jochemczyk W. Projekt gra komputerowa Snake https://scratch.mit.edu/projects/111141147. Ostatni dostęp 23.05.2016 r. 2. Jochemczyk W., Krajewska-Kranas I., Kranas W., Samulska A., Wyczółkowski M., Lekcje z komputerem. Podręcznik. Klasa 4 (5 i 6), WSiP, Warszawa 2015.