Logo

Scratch - Obiekt

Opis: Temat dotyczy wyjaśnienia istoty programowania obiektowego, omówienia jego głównych zasad oraz przedstawienia pojęcia obiektu w programie Scratch na przykładzie tworzenia własnej gry.

Programowanie obiektowe - teoria

Programowanie obiektowe to metoda budowania programów komputerowych za pomocą obiektów. Obiekt łączy ze sobą grupę danych - często o różnych typach - i operujący na nich zestaw funkcji. Inaczej można powiedzieć, że obiekt zawiera dane składowe (pola) oraz funkcje składowe (metody) połączone w spójny element programu. Dane składowe przechowują stan obiektu, a funkcje realizują określoną funkcjonalność.

Typem obiektu jest klasa. Klasa jest schematem budowy każdego obiektu danej klasy. Każdy obiekt danej klasy stanowi jej instancję. 

Główne reguły programowania obiektowego:

  • Abstrakcja polega na takiej konstrukcji programu, że jego działanie można opisać jako współpraca grupy obiektów, bez konieczności odwoływania się do szczegółów implementacji tych obiektów, tj. nie ma konieczności schodzenia na niższy poziom szczegółowości. Każdy z tych obiektów wykonuje część pracy programu i nie ma potrzeby ujawniania jak on to robi.

  • Enkapsulacja (hermetyzacja) ukrycie szczegółów implementacyjnych klasy. Ograniczenie bezpośredniego dostępu klientom do wnętrza obiektu. Klienci nie mogą zmienić w niekontrolowany sposób stanu obiektu. Na stan obiektu klienci mogą wpływać tylko przez interfejs obiektu, tj. specjalnie do tego celu przygotowane funkcje składowe danej klasy (tzw. akcesory).

  • Polimorfizm wskaźnik (lub referencja) określonego typu może wskazywać na obiekty różnych klas, przy czym wywołanie metody dla wskazywanego obiektu spowoduje skok do funkcji składowej właściwej dla kasy tego obiektu

  • Dziedziczenie polega na budowaniu nowych klas na podstawie istniejących klas ogólnych. Pozwala rozszerzać funkcjonalność klasy ogólnej przez jej specjalizację. Dzięki temu raz napisany kod wykorzystuje się wielokrotnie.

Pojęcie obiektu w Scratch

W Scratch, pojęcie obiektu odnosi się głównie do postaci (characters), które są podstawowymi elementami interakcji w projekcie. W Scratch każda postać to obiekt, który można programować, aby wykonywał różne działania w odpowiedzi na zdarzenia. Oto kilka kluczowych cech obiektów w Scratch:

  • Postacie (Characters): Są to główne obiekty w Scratch, reprezentowane przez różne postaci, zwane także duszkami. Można dostosować ich wygląd, dźwięki, a także programować je, używając bloków kodu.

  • Kostiumy: Każda postać może mieć kilka kostiumów, co pozwala na zmianę jej wyglądu w trakcie działania programu. To umożliwia animację postaci i dodanie różnych efektów wizualnych.

  • Dźwięki: Postacie mogą emitować dźwięki, co dodaje element interakcji dźwiękowej do projektu. Można programować postaci, aby odtwarzały dźwięki w odpowiedzi na różne zdarzenia.

  • Zmienne: Każda postać może posiadać swoje własne zmienne, które przechowują dane. Zmienne umożliwiają przechowywanie informacji, takich jak liczby punktów, zdobyte przez postać.

  • Ruch i Pozycja: Można programować ruch postaci, zmianę jej pozycji oraz kierunku. To pozwala na animowanie postaci i kontrolowanie, gdzie się poruszają.

  • Zdarzenia: Obiekty w Scratch reagują na różne zdarzenia, takie jak kliknięcie zielonej flagi, naciśnięcie klawisza, kolizje z innymi obiektami itp. Zdarzenia wywołują określone działania postaci.

Scratch - Gra - Łap piłki

Do naszej gry będziemy potrzebować dodać nowego duszka poprzez wybranie go z biblioteki duszków. W tym celu, w prawym dolnym rogu wybieramy opcję "Wybierz duszka". Następnie wyszukujemy duszka "Ball".

Źródło: Jakub Piskorowski

Nasz duszek posiada kilka kostiumów, czyli zmianę koloru piłki. Wykorzystamy to, aby nasz główny kolor piłki był żółty a po poprawnym kliknięciu zmienił się na zielony. W tym celu, na początku musimy ustawić jego podstawowy kostium oraz wyzerować zmienną z punktami. Kolejno ukrywamy duszka na 1 sekundę, aby gracz miał czas na skoncentrowanie się po kliknięciu flagi. Następnie będzie wykorzystana pętla "zawsze" do sprawdzenia czy gracz osiągną dany próg punktów i wyświetlić mu stosowny komunikat o jego wyniku.

Kolejnym etapem jest skrypt "kiedy ten duszek kliknięty". W tym momencie zostanie zmieniony kostium duszka na zielony. Punkty zwiększone o 1. Przeczekanie 0.1 sec. Zmianę kostiumu na żółty oraz zmianę pozycji na "losową pozycję".

Źródło: Jakub Piskorowski

Zadanie - Scratch - Łapanie owoców

1. Gra w Łapanie owoców

Do naszej gry będziemy potrzebować 3 duszków. "Bowl" (koszyk), "Apple" (jabłko), oraz "Bananas" (banany). Koszyk będzie miał inny skrypt a jabłko oraz banan taki sam. Po dodaniu naszych duszków zrobimy jeszcze tło do naszej gry. Składające się z nieba oraz trawy. Projekt planszy oraz skrypt przedstawiony jest poniżej:

Źródło: Jakub Piskorowski

Bowl (koszyk)

  • Kiedy kliknięto zieloną flagę

  • Ustaw x na 0

  • Ustaw y na -148

  • Zawsze

    • Jeżeli klawisz strzałka w prawo naciśnięty to

      • Zmień x o 10

    • Jeżeli klawisz strzałka w lewo naciśnięty to

      • Zmień x o -10

Apple oraz Bananas

  • Kiedy kliknięto zieloną flagę

  • Ustaw (Punkty) na 0

  • Pokaż zmienną "Punkty"

.

  • Kiedy kliknięto zieloną flagę

  • Idź do x: losuj liczbę od -220 do 220 y: 170

  • Zawsze

    • Zmień y o -5

.

  • Kiedy kliknięto zieloną flagę

  • Zawsze

    • Jeżeli dotyka "Bowl" to

      • Zmień punkty o 1

      • Idź do x: losuj liczbę od -220 do 220 y: 170

.

  • Kiedy kliknięto zieloną flagę

  • Zawsze

    • Jeżeli dotyka koloru (trawy) to

      • Zmień punkty o -1

      • Idź do x: losuj liczbę od -220 do 220 y: 170