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 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.
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.
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
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
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
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
© 2026 Piskorowski Jakub. All rights reserved.