Skip to content

6-dars: Scratch — events va motion bloklari

Dars haqida

Davomiyligi: 90 daqiqa Maqsad: Talaba Events va Motion bloklarni chuqurroq o'rganishi, klaviatura va sichqoncha bilan boshqarish qila olishi va interaktiv loyihalar yarata olishi kerak.

1. Events — hodisalar

Events — Scratch'da biror narsa bo'lganda kod ishga tushadi.

2. Events bloklari batafsil

when 🟢 clicked

Yashil bayroq bosilganda — kod ishga tushadi. Asosiy event.

when 🟢 clicked
    ... bu yerdagi kod ishlaydi

when [space] key pressed

Klavish bosilganda.

Tanlash mumkin: any key, space, up arrow, down arrow, left arrow, right arrow, A-Z, 0-9.

when [space] key pressed
    say "Space bosildi!" for 1 secs

when this sprite clicked

Spritega sichqoncha bilan bosilganda.

when this sprite clicked
    play sound Meow
    say "Meni bosding!" for 2 secs

when backdrop switches to

Backdrop o'zgarganda.

when backdrop switches to [forest]
    say "O'rmondamiz!" for 2 secs

when loudness > 10

Mikrofondan ovoz baland bo'lsa.

when loudness > 10
    move 100 steps

when timer > 10

Vaqt o'tganda.

when timer > 5
    say "5 sekund tugadi!" for 2 secs

when I receive [xabar]

Xabar olish — bir sprite boshqasiga signal yuborish.

when I receive [start]
    show
    move 10 steps

broadcast [xabar]

Xabar yuborish — boshqa spritelarga signal.

broadcast [start]
broadcast [start] and wait

3. Misol: Mushuk va sichqon

Mushuk uchun:
when 🟢 clicked
    forever
        broadcast [tick]
        wait 1 seconds

when [space] key pressed
    say "Sichqonga ergashaman!" for 1 secs
    go to [Sichqon] v
Sichqon uchun:
when I receive [tick]
    move 10 steps
    if on edge, bounce

Mushuk har sekundda "tick" xabarini yuboradi → sichqon harakat qiladi. Space bosilganda — mushuk sichqonga teleportatsiya.

4. Motion bloklari batafsil

move 10 steps

10 piksel oldinga.

  • Yo'nalish — sprite'ning directioniga bog'liq
  • Salbiy raqam — orqaga

turn ↻ 15 degrees va turn ↺ 15 degrees

15 daraja soat strelkasi bo'yicha yoki teskari.

point in direction 90

Aniq yo'nalish:

90 — o'ngga
0 — yuqoriga
-90 — chapga
180 — pastga

point towards [...]

Boshqa sprite tomonga burilish.

point towards [mouse-pointer]

Sichqoncha kursoriga qarab buriladi.

go to x:0 y:0

Aniq koordinatalarga.

go to [random position]

Tasodifiy joy.

glide 1 sec to x:100 y:100

Silliq harakat belgilangan vaqtda.

change x by 10 va change y by 10

X yoki Y koordinata oshirish/kamaytirish.

set x to 0 va set y to 0

X yoki Y aniq qiymat.

if on edge, bounce

Chetga yetganda — qaytib aylanish.

set rotation style

Sprite qanday aylanishi:

  • all around — har tomonga
  • left-right — faqat chap va o'ng
  • don't rotate — aylanmaslik

5. Klaviatura bilan boshqarish

Klassik o'yin uslubi — strelka klavishlar bilan harakat.

when 🟢 clicked
    go to x:0 y:0

when [up arrow] key pressed
    change y by 10

when [down arrow] key pressed
    change y by -10

when [right arrow] key pressed
    change x by 10

when [left arrow] key pressed
    change x by -10

Sprite — strelkalar bilan boshqariladi.

6. Aniq yo'nalish bilan harakat

when [up arrow] key pressed
    point in direction 0
    move 10 steps

when [down arrow] key pressed
    point in direction 180
    move 10 steps

Sprite aylanadi va keyin harakat qiladi.

Rotation style

Agar sprite aylanishini xohlamasangiz:

set rotation style [don't rotate]

(Sprite turibdi, lekin yo'nalish o'zgaradi)

7. Sichqoncha bilan boshqarish

when 🟢 clicked
    forever
        point towards [mouse-pointer]
        move 5 steps

Sprite sichqoncha kursoriga ergashadi.

8. Glide — silliq harakat

when 🟢 clicked
    forever
        glide 1 sec to x:200 y:100
        glide 1 sec to x:-200 y:100
        glide 1 sec to x:-200 y:-100
        glide 1 sec to x:200 y:-100

Sprite to'rtburchak chizadi — har burchakka silliq harakat.

9. Tasodifiy harakat

when 🟢 clicked
    forever
        go to [random position]
        wait 1 seconds

Sprite tasodifiy joylarda paydo bo'ladi.

Yoki:

when 🟢 clicked
    forever
        glide 1 sec to x:(pick random -200 to 200) y:(pick random -150 to 150)

Tasodifiy koordinata.

10. Loyiha: Tutib oluvchi

Vazifa: Sichqon (sprite) yuqoridan tushadi. Tovuq (boshqa sprite) ni klaviatura bilan boshqaring va tutib oling.

Sichqon (yuqoridan tushadi)

when 🟢 clicked
    forever
        go to x:(pick random -200 to 200) y:170
        glide 2 secs to x:(x position) y:-170

Tovuq (klaviatura bilan)

when 🟢 clicked
    go to x:0 y:-150
    set rotation style [left-right]

when [right arrow] key pressed
    point in direction 90
    move 20 steps

when [left arrow] key pressed
    point in direction -90
    move 20 steps

Tegishish (collision)

Sichqon tovuqqa tegsa — biror narsa qilsin (kelajakda variable bilan ball hisoblash).

Hozircha:

when 🟢 clicked (tovuq uchun)
    forever
        if <touching [Sichqon] v?> then
            play sound Meow
            say "Tutdim!" for 1 secs

11. Sensing bloklari (kirish)

Sensing — sprite'lar atrof'ni sezish uchun.

touching [...]

Sprite biror narsaga tegmoqdami?

if <touching [edge]?> then
    say "Chetda!" for 1 secs

if <touching color [#FF0000]?> then
    play sound Pop

if <touching [Sprite2]?> then
    hide

distance to [...]

Boshqa sprite gacha masofa.

if <(distance to [Sprite2]) < 50> then
    say "Yaqin!" for 1 secs

mouse x va mouse y

Sichqonchaning koordinatalari.

key [space] pressed?

Klavish hozir bosilganmi (boolean).

ask "Ismingiz?" and wait

Foydalanuvchidan savol so'rash.

ask [Ismingiz nima?] and wait
say (join [Salom ] (answer)) for 2 secs

Mushuk: "Ismingiz nima?" → siz "Akmal" yozasiz → mushuk: "Salom Akmal"

answer

Oxirgi ask ning javobi.

12. Vaqt (timer)

when 🟢 clicked
    reset timer
    forever
        if <(timer) > 5> then
            say "5 sekund o'tdi!" for 2 secs
            reset timer

13. Misol: Savol-javob bilan suhbat

Sprite (Mushuk):
when 🟢 clicked
    ask [Ismingiz nima?] and wait
    say (join [Salom ] (answer)) for 2 secs
    ask [Yoshingiz?] and wait
    if <(answer) > 18> then
        say [Sen kattalarsan] for 2 secs
    else:
        say [Sen yoshsan] for 2 secs

14. Operatorlar (qisqacha)

Operators kategoriyasi — matematika va matn.

Matematik

+ - * /
mod (qoldiq)
abs (mutlaq qiymat)
pick random 1 to 100

Taqqoslash

< (kichik)
> (katta)
= (teng)

Mantiqiy

and (va)
or (yoki)
not (emas)

Matn

join [Salom ] [dunyo]      →  "Salom dunyo"
letter 1 of [Akmal]        →  "A"
length of [Akmal]          →  5
contains? — ichida bormi?

15. Vizual o'rnatmalar (Looks)

Tezroq ko'rib chiqamiz, batafsil keyingi darsda:

show / hide                  - ko'rsatish / yashirish
say [Salom!] for 2 secs     - matn balonchasi
think [...] for 2 secs      - o'ylash balonchasi
switch costume to [...]     - kostyum
next costume                - keyingi kostyum
change size by 10           - o'lcham
set size to 100             - aniq o'lcham
change [color] effect by 25 - rang effekt
clear graphic effects       - effektlarni tozalash

Darsdagi topshiriqlar

Topshiriq 1 — Klaviatura boshqaruv

Sprite'ni 4 ta klavish (strelka) bilan boshqaring:

when 🟢 clicked
    go to x:0 y:0

when [up arrow] key pressed
    change y by 10
... va h.k.

Stage'da chiziqlar qoldirsin (Pen extension'ni qo'shing → pen down).

Saqlang: 1-klaviatura

Topshiriq 2 — Sichqoncha izi

Sprite doim sichqonchaga ergashsin.

when 🟢 clicked
    forever
        point towards [mouse-pointer]
        move 3 steps

Birinchi va ikkinchi sprite — turli tezlikda. Kim tezroq sichqonchaga yetib boradi?

Saqlang: 2-sichqoncha-iz

Topshiriq 3 — Tasodifiy harakat

3 ta sprite — har biri tasodifiy joylarda porlab tursin.

Har sprite:

when 🟢 clicked
    forever
        go to [random position]
        change [color] effect by 25
        wait 0.5 seconds

Saqlang: 3-tasodifiy

Topshiriq 4 — Tutib oluvchi o'yin

Dars matni'da berilgan tutib oluvchi o'yinni yarating.

Yaxshilang:

  • Bir nechta sichqon (yoki olma) yuqoridan tushadi
  • Tovuq strelka bilan harakat
  • Tegishganda — ovoz va xabar
  • 30 sekund vaqt

Saqlang: 4-tutib-oluvchi

Topshiriq 5 — Suhbat (ask/answer)

Mushuk sizdan 5 ta savol so'rasin:

  1. "Ismingiz?"
  2. "Yoshingiz?"
  3. "Eng yoqimli rangingiz?"
  4. "Eng yoqimli ovqat?"
  5. "Eng katta orzuingiz?"

Har javobni eslab qolib, oxirida butun matn chiqarsin:

"Salom [ism]! Sen [yosh] yoshda ekansan.
Sevimli ranging — [rang]. Sevimli ovqat — [ovqat].
Eng katta orzuing — [orzu]. Bu ajoyib!"

Saqlang: 5-suhbat

Topshiriq 6 — Broadcast bilan o'zaro

3 ta sprite bir-biriga xabar yuborib gaplashadi:

  1. Sprite 1: yashil bayroq bosilganda — "Salom!" deydi va salom xabarini yuboradi
  2. Sprite 2: salom xabarini olganda — "Salom Sprite 1!" deydi va salom2 xabarini yuboradi
  3. Sprite 3: salom2 xabarini olganda — "Men ham bormanku!" deydi va boshlash xabarini yuboradi
  4. Sprite 1: boshlash xabari kelganda — "Endi o'yin boshlanadi!" deydi

Broadcast tizimini tushuning.

Saqlang: 6-broadcast

Topshiriq 7 — Touching colorlar bilan

Labirint o'yini:

  1. Stage backdrop'da chiziqlar bilan labirint chizing (qora chiziqlar)
  2. Sprite strelkalar bilan harakat qiladi
  3. Agar qora chiziqqa tegsa — boshlanish joyiga qaytsin
if <touching color [#000000]?> then
    go to x:-200 y:-150
    say "Tegding!" for 1 secs

Saqlang: 7-labirint

Topshiriq 8 — Glide bilan to'rtburchak

Sprite silliq harakat bilan to'rtburchak chizadi:

when 🟢 clicked
    pen up
    go to x:-100 y:-100
    pen down
    glide 1 sec to x:100 y:-100
    glide 1 sec to x:100 y:100
    glide 1 sec to x:-100 y:100
    glide 1 sec to x:-100 y:-100

(Pen extension qo'shing)

Yaxshilang: turli geometrik shakllar — uchburchak, beshburchak, doira (loop bilan).

Saqlang: 8-glide-shakllar

Asosiy tushunchalar (lug'at)

TerminQisqacha izoh
EventHodisa (yashil bayroq, klavish va h.k.)
BroadcastXabar yuborish
ReceiveXabar olish
MotionHarakat bloklari
DirectionYo'nalish (gradus)
GlideSilliq harakat
SensingSezish bloklari
TouchingTegmoqda
DistanceMasofa
Ask / AnswerSavol / Javob
TimerTaymer
OperatorsMatematik va mantiqiy
Pick randomTasodifiy raqam
PenQalam (chizish)
Rotation styleAylanish uslubi

Keyingi dars

7-dars: Scratch — sikllar va shartlar →

Master IT o'quv markazi — o'qitish rejasi