Cəfər Cabbarlı 44, Caspian Plaza

Hörmətli izləyicilərimiz, 

Bu yazımızda sizləri Scratch proqramında Flappy Bird 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 quşu maneyələrdən qaçırmaq və yerə toxunmasına mane olmaqdır. Quş maneyələrə və ya yerə toxunduğu halda oyun bitəcəkdir.

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 Flappy Bird 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. 

Bundan başqa oyunun bitmə səhnəsini də da seçib üzərinə oyun bitdi mesajı yazırıq.


Pişik personajından istifadə etməyəcəyimiz üçün onu silək. Quş və Maneyə olmaqla 2 ədəd personajlar əlavə edək. Arzu etsəniz, fərqli personajlardan istifadə edə bilərsiz. Quş personajını əlavə etmək üçün Scratchın Sprite kitabxanasından istifadə edək. Borunu isə internetdə Flappy Bird pipe açar sözlərindən istifadə etməklə axtarıb tapa bilərsiniz. Boru maneyəsini tapdıqdan sonra Sprite-lər bölməsindən kompüterdən yükləmə əmrini seçməklə Scratch proqramına daxil edin. Daha sonra quşun maneyənin arasından keçə bilməsi üçün ölçüsünü kiçildək. Bunu üçün quş personajını seçib, onun hər iki libasının ölçüsünü kiçildirik. Ölçü kiçildikdən sonra əmin olmalıyıq ki, personaj iş sahəsinin mərkəzindədir. Hər dəfəsində eyni maneyə səhnəsinin gəlməsinin qarşısını almaq üçün maneyə personajını  fərqli  libaslara keçirirəcəyik. Bunun üçün boru-maneyə personajını seçib, libaslar bölməsinə keçirik. Burada mövcud libasın iki dublikatını yaradıb, birində alt, digərində isə üst borunu pozanla silirik.


Beləliklə, 3 fərqli formada maneyə əldə etmiş oluruq. Artıq arxa fon və personajları seçdiyimizə görə kod hissəsinə keçə bilərik. 


İlk növbədə quş 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. Oyun başlayanda uyğun arxa fona keçməsi üçün Görünüş bölməsindən Blue Sky fonuna keç blokunu, personajın oyunun əvvəlində görünməsi üçün Görün blokların seçək. Hərəkət bloklarından Keç x: y: bloku vasitəsi ilə personajın ilkin mövqeyini təyin edirik. Daha sonra idarəetmə blokundan həmişə təkrarla komandasını iş sahəsinə daxil edirik. Əgər boşluq düyməsi sıxılıbsa hərəkət bloklarından y -i artır əmri ilə  y koordinatını 5 vahid artırırıq, əks halda sıxılmayıbsa personajın aşağı düşməsi üçün y koordinatını -5 dəyişirik. Bu kod üçün idarəetmədən əks halı olan Əgər blokundan və Sensorlar blokundan boşluq düyməsi sıxılıbsa əmrlərindən istifadə edirik. 

Oyunun maneyə və ya yerə toxunanda başa çatması üçün idarəetmə bölməsindən ikinci bir əgər bloku daxil edirik. Maneyəyə və ya səthə toxunmasını müəyyən etmək üçün Sensorlar bölməsindən rəngə toxunur, personja toxunur kimi komandalarından istifadə edirik. Əgər personaj maneyə və ya yerə toxnursa personajı gizlədib, uduzdum ismarıcı göndəririk. Oyunun bitməsi effektini yaratmaq üçün Arxa fonu dəyişirik. Görünüş bölməsindən fonuna dəyiş komandasında istifadə edirik.  Daha sonra bütün kodların dayanması tapşırığını veririk.  Eyni zamanda quşun uçmaq effektini yaratmaq üçün yeni bir bayraq bloku qoyub daxilində həmişə 0.3 saniyə gözləyib yeni libasa keçməsini təmin edirik. Bütün bu dediklərimizdən sonra quş personajı üçün kod şəkildəki kimi olacaqdır. 

İndi isə maneyə boruları üçün kodları yazmağa başlayaq. İlk öncə Yaşıl bayraq blokunu daxil edək. Oyun ilk başlayanda mane olmasın deyə maneyə personajını gizlədirik. Hərəkət blokundan  Keç X: Keç Y: komandası ilə maneyyənin ilkin vəziyyətini təyin edirik.  Maneyələrin fərqli zamanlarda gəlməsi üçün saniyə gözlə bloku seçirik və Gözlə blokunun vaxtı göstərdiyimiz dəyər hissəsində 2 və 4 arası təsadüfi ədəd seç bloku daxil edirik. Təsadüfi ədəd seç blokunu Operatorlar hissəsində tapa bilərsiz. Daha sonra bir seçə maneyənin gəlməsi üçün öz klonunu yarat komandasını daxil edirik. Prosesin oyun boyu davam etməsi üçün bütün bu kodları həmişə blokunun içərisinə salırıq. Klon kimi başlayan personajla iş üçün İdarəetmə Mən klon kimi başlayanda komandasını iş sahəsinə daxil edirik. Maneyənin hər dəfə təsadüfi bir formada gələsi üçün görünüşdən Libasına dəyiş və operatorlardan təsadüfi ədəd seç komandalarından istifadə edirik. Klon yarandıkdan sonra kodu 1 saniyə gözlədib Y koordinatın təyin edirik. Oyun başlayanda gizlədildiyi üçün görün əmrini daxil edirik.  Oyunda hərəkət edən quş personajı kimi görünsə də əslində ona tərəf hərəkət edən maneyə borularıdır. Bu hərəkəti təmin etmək üçün onların klonlarını yaradıb. X koordinatını müəyyən miqdar azaldırıq. Əgər X koordinatı dəyişərək Quşun olduğu mövqeni keçibsə onu artıq silə bilərik. Bu  prosesi davamlı oyun ərzində davam etməsi üçün həmişə dövrlərindən istifadə edirik.  Uduzmaq ismarıcı gələndə isə, maneyəni gizlədib, 1 saniyə gözləməklə bütün kodları saxlayırıq. Bütün bu qeyd etdiklərimizdən sonra kodlar şəkildə verilmiş kimi olacaqdır.

Oyun tam hazır olduqda videodakı kimi işləyəcəkdir:


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

Quş aşağı düşən zaman əyilməni necə təmin etmək olar?

Necə edə bilərik ki hər maneyəni keçdikcə oyunçu bir xal qazansın?

Necə edə bilərik ki, əgər oyunçu 180 saniyə heç bir maneyəyə toxunmasa qalib elan olunsun. 

Fikirlərinizi bizimlə Facebook və İnstagram hesabımızda şərh bölməsində paylaşın

1