Scratch proqramında Ping Pong oyunun hazırlanması - EdTech Azerbaijan

Hörmətli izləyicilərimiz,

Bu uşaqlar üçün proqramlaşdırma mövzusunda olan növbəti yazımızda sizləri Scratch proqramında Ping Pong oyunun hazırlanması qaydası ilə tanış edəcəyik.  Təlimatdan uşaqlar üçün olan proqramlaşdırma fəaliyyəti kimi İnformatika və STEAM dərslərinizdə istifadə edə bilərsiniz.

Hazırlayacağımız oyunun məqsədi topun yerə toxunmasına mane olmaqdır. Top yerə (line) toxunduğu halda oyun bitəcəkdir. Top oyunçunun istifadə etdiyi maneyə toxunduqda isə, istiqamətini dəyişərək fərqli istiqamətdə hərəkət edir. Bu zaman oyunçu topun yerə düşməsinə mane olduğu üçün 1 xal qazanır. Oyun sahəsinin kənarlarına toxunan top yenə də istiqamətini dəyişərək fərqli istiqamətdə hərəkət etməlidir. 

Gəlin ilk öncə proqrama daxil olaq: https://scratch.mit.edu/

Proqrama daxil olduqdan sonra Yaratmaq (Create) əmrini seçək. Əgər proqramın interfeysi Azərbaycan dilində deyilsə qlobus işarəsindən Azərbaycan dilini seçə bilərsiniz. Uyğun dil seçimini etdikdən sonra personajları və arxa fonu daxil etməyə başlayaq.

Arxa fon olaraq  Ping Pong oyununda olan fonlara bənzər təsvirlərdən birini seçək.

Əgər arzu etsəniz başqa fon da seçə bilərsiz.

 

Pişik personajından istifadə etməyəcəyimiz üçün onu silək.

Top , line və padlle olmaqla 3 ədəd personajlar əlavə edək. Arzu etsəniz, fərqli personajlardan istifadə edə bilərsiz. Top , qırmızı xətt şəkilində line və yaşıl xətt şəkilində padlle personajlarını əlavə etmək üçün Scratchın Sprite kitabxanasından istifadə edək.

Artıq arxa fon və personajları seçdiyimizə görə kod hissəsinə keçə bilərik.


Top üçün kodun yazılması. İlk növbədə top personajını seçək və ona uyğun kod bloklarını iş sahəsinə daxil edək.Oyunun işə düşməsi üçün Yaşıl bayraqdan istifadə edəcəyik. Hadisələr bölməsindən Yaşıl bayraq kliklənəndə əmrini seçək. Hərəkət bloklarından Keç x: y: bloku vasitəsi ilə personajın ilkin mövqeyini təyin edirik.

Növbəti yaşıl bayraqda topu hərəkətə başlayanda maili hərəkət etməsi üçün bucağını istiqamətini 45 dərəcə seçirəm (bucağı Hərəkət panelindən təyin edirik) və hər zaman topda hərəkət effekti yaratmaq üçün 16 addım hərəkət edirəm , divara dəyəndə isə kənara çəkil geri qayıt komandasından isdifadə edirəm.

Oynumuzun şərtinə görə top padlle dəyəndə geri qayıtmalıdı bu zaman əgər blokundan isdifadə edərək şərt qoyuruq ki paddle toxunursa 180 dərəcə dön və 15 addım at və xalın +1 dəyişməsi üçün dəyişənlərdən score +1 dəyiş. Əgər dəyişən yaratma qaydası ilə tanış deyilsinizsə variables –dəyişənlər bölməsinə keçib, yeni dəyişən yarat əmrini seçib dəyişəninizin adını daxil edirsiz. Bütün bu prosesin oyun müddətində hər zaman təkrarlanması üçün Həmişə blokundan istifadə edirik. Oyun bitən zaman oyunu ilkin vəziyyətə gətirmək üçün en basa dön adlı mesaj göndəririk. Bu mesaj qəbul olunanda personajı ilkin koordinatına keçidi təmin edirik. Bütün bu qeydlərimizdən sonra top personajı üçün aşağıdakı kod alınır.


Line personajının yəni Qırmızı xəttinin  proqramını qurarkən Hadisələr bölməsindən bayrağı götürük və İdarərtmə bölməsindən həmişə blokunu götürəmki proqramım hər zaman təkrar -təkrar icra olunsun. Həmişə blokun içinə İdarəetmə bölməsindən  şərt blokun seçərək yerləşdirərəm və deyirəm ki, əgər basketball (yəni  top personajı) line toxunursa score  0 elə və ən başa x.-y kordinatına dönüb proqramı dayandır. Bu zaman en basa dön mesajı göndərilir. Göndərilən mesaj top tərəfindən qəbul edildikdə top personajı ilkin mövqeyinə keçir. Bütün bu qeydlərdən sonra kod hissəsi şəkildəki kimi olacaqdır.

 

Yaşıl rəngli Paddlenin kodunu qurarkən Hadisələr bölməsindən Yaşıl bayraq kliklənəndə əmrini seçək. Daha sonra İdarəetmə panelindən Həmişə blokundan istifadə edəcik. Həmişə blokundan x-i təyin edərək siçanın göstəricisini içərsinə yerləşdirik. Bundan sonra oyunu oynayarkən Padlleni siçanın gösdəricisi vasitəsi ilə hərəkət elədirərək topunun line xettinə dəyməsinə icazə vermirik əks halda oyunu uduzacıq. 

Oyun tam hazır olduqda aşağıdakı kimi işləyəcəkdir: https://scratch.mit.edu/projects/509346121/


Öz oyununuzu hazırlayan zaman bu suallar haqqında düşünün

Oyunu necə inkişaf etdirə bilərsiz?

Oyuna vaxt limitin necə qoymaq olar?

Oyunun çətinlik səviyyəsini necə artırmaq olar?

Fikirlərinizi bizimlə sosial mediada bölüşün

Facebook: https://www.facebook.com/edtech.az

İnstagram: https://www.instagram.com/edtech.az/


Müəllif: Əfsanə Cənnətəliyeva,
İnformatika müəllimi

Email: efsane.cenneteliyeva95@gmail.com