6-Qadam: O'yin tugallanganligi haqidagi xabarlarni
ko'rsatish uchun skriptlarni qo'shish
Keyingi bo'limda siz mushukni sahna bo'ylab to'pni quvish
uchun skript qo'shasiz. Buni amalga oshirishdan oldin WinningMsg
sprite-ga quyidagi ikkita skriptni qo'shing. Ushbu skriptlar o'yindagi
g'alaba haqidagi xabarni ko'rsatish va yashirish uchun javobgardir.
Yuqorida ko'rsatilgan ikkita skriptning birinchisi u qo'shilgan
sprayt ekranini yashirish uchun javobgardir. Ikkinchi skript esa,
g'alabangiz haqidagi translyatsiya xabari kelganda spraytni ko'rsatish
uchun javobgardir. E'tibor bering, ushbu skriptda spritni bir-biriga mos
kelishi mumkin bo'lgan boshqa spritlar oldiga suradigan ko'rinish bloki
mavjud. Bu xabar to'liq ko'rinishini ta'minlaydi.
Ushbu ikkita skriptni yaratganingizdan va WinningMsg spritega
qo'shganingizdan so'ng, ularni LosingMsg spritega sudrab tashlang va
keyin ikkinchi skriptni tahrirlang, shunda u “Yutqizdingiz” degan xabarni
har safar qabul qilganingizda ishlaydi.
7-Qadam: O'yinni boshqarish va muvofiqlashtirish
uchun zarur bo'lgan skriptlarni qo'shish
“To'p quvish”
o'yinini yakunlash uchun siz Cat sprite-ga to'rtta
skript qo'shishingiz kerak. Ushbu skriptlarning birinchisi quyida
ko'rsatilgan va mushukning sahna atrofida to'p o'ynashi uchun
javobgardir.
Ushbu stsenariy Cat sprite-ni sahna markaziga o'tkazish va sukut
bo'yicha uni yuqoriga ko'rsatish bilan boshlanadi. Bir soniya pauza
qilgandan so’ng qayta-qayta bajaradigan tsiklning ichidagi kod
bloklarini bajarish uchun kiradi. Ushbu uchta kod blokining birinchisi
mushuk sprayini to'p sprayti tomon yo'naltiradi. Kodning ikkinchi bloki
tsiklni 0,15 soniya davomida to'xtatib turadi, shundan so'ng uchinchi
blok mushuk spraytini to'p sprayti yo'nalishi bo'yicha 66 qadam siljitadi.
Quyida mushuk spraytiga qo'shilgan to'rtta skriptning ikkinchisi
ko'rsatilgan. Ushbu skript o'yinchi yashil bayroq tugmachasini bosish
orqali o'yinni boshlaganida bajarilishi uchun o'rnatiladi. Skript
kompyuterdagi joriy ovoz darajasining 50% ga ovoz o'ynaladigan
qiymatni o'rnatishdan boshlanadi. Skriptning qolgan qismi ikki qatorli
kod bloklarini qayta va qayta ishlatadigan tsikl tomonidan boshqariladi.
Kodning birinchi bloki skriptni besh soniya davomida to'xtatib turadi.
Kodning ikkinchi bloki Meow audio faylini o'ynaydi. Natijada, mushuk
sahnada to'pni quvib, har besh soniyada miyovlaydi.
Agar mushuk o'yin davomida spraytga tegishi mumkin bo'lsa,
mushuk spraytiga qo'shilgan uchinchi skripti ilovadagi barcha
skriptlarning bajarilishini to'xtatish uchun javobgardir. Ushbu skriptni
tashkil etuvchi kod bloklari bu erda ko'rsatilgan:
Ushbu skript o'yinchi yashil bayroq tugmachasini bosish orqali
o'yinni boshlaganida bajariladi. Skriptning umumiy bajarilishi tsikl
tomonidan boshqariladi. Mushuk sprayti to'p spraytiga tegib ketgan yoki
yo'qligini tekshirish uchun, Loop ichida shartli sinov o'tkaziladi. Agar
shunday bo'lsa, siz yutqizganligingiz haqida xabari yuboriladi.
Ushbu xabarni ilovadagi boshqa skriptlar qabul qilgandan va
qayta ishlagandan so'ng, butun skriptning bajarilishini to'xtatib, tsikldagi
oxirgi kod bloki bajariladi.
Quyida mushuk spraytiga qo'shiladigan yakuniy skript
keltirilgan. Ushbu skript dasturni bajarish paytida vaqtni hisoblash va
agar o'yinchi bu vaqt ichida mushukni masofada ushlab turishga
muvaffaq bo'lsa, o'yinni 30 soniyadan keyin to'xtatish uchun
javobgardir.
Ishga tushganda, ushbu skript ichki Scratch taymerini qayta
o'rnatishdan boshlanadi va keyin “O'tgan vaqt” deb nomlangan
o'zgaruvchiga joriy taymer qiymatini (0.0) tayinlaydi. Skriptning qolgan
qismi tsikl bilan boshqariladi. Loop har safar ishga tushganda, joriy
taymer qiymatini aks ettirish uchun O'tgan vaqt o'zgaruvchisiga
tayinlangan qiymatni yangilaydi. Keyin taymer qiymati 30 soniyadan
oshmaganligi tekshiriladi va agar u oshib ketgan bo'lsa, g'alabangiz
haqida xabari yuboriladi.Xabar ilovadagi boshqa skriptlar tomonidan
qayta ishlanganidan so'ng, ilovadagi barcha skriptlarning bajarilishi
to'xtaydi. Agarda taymer 30 soniyadan kam bo'lsa, tsikl oddiygina qayta
ishga tushiriladi. Shunga ko'ra, agar mushuk 30 soniya ichida to'pni
ushlay olmasa va shu bilan o'yinni tugatsa, to'rtinchi stsenariy o'yinni
tugatadi va o'yinchini g'olib deb e'lon qiladi.
|