Scratch — мини-проекты с разбором блоков
Приветствую! Здесь вы наверняка найдете, что ищете. Примеры в лаборатории рассчитаны на то, что мы разбираем что-то конкретное.
Текущая статья посвящена примерам: Scratch 3.0 с разбором блоков — квадрат, игра, клоны, лабиринт, гравитация; готовый код для школьников и поиска «scratch примеры», «scratch код игры»..
Поэтому за теорией по текущей теме вам — в энциклопедию. Если ещё не погружались, то маршрут прост:
- Основы
- Система и сеть
- Данные и разметка
- Код и разработка
- Языки
- Искусственный интеллект
- Проект
- Инфраструктура и безопасность
- Спин-офф
Обязательно пройдитесь.
А теперь приступим к нашему предмету.
Зачем эта глава
Здесь собраны готовые фрагменты кода Scratch 3.0 с объяснением каждого важного блока.
Откройте scratch.mit.edu → Создавай, добавьте спрайты и перенесите блоки из примеров. Теория по редактору — в справочнике Scratch; отдельные приёмы (события, переменные, клоны) — в примерах скриптов.
Сначала базовые блоки → затем мини-проекты ниже → шесть полных игр с контрольными точками в главах 33–38.
| Тема | Раздел |
|---|---|
| scratch как нарисовать квадрат / фигуру | Квадрат пером |
| scratch радуга / рисование линиями | Радужный многоугольник, Радужные линии |
| scratch игра собери монеты / счёт | Собери монеты |
| scratch движение стрелками | Собери монеты, Лабиринт — стрелки |
| scratch пинг понг / мяч отскакивает | Пинг-понг |
| scratch клоны пример / дождь | Дождь из клонов, Салют |
| scratch гравитация прыжок | Прыжок с гравитацией |
| scratch лабиринт код | Лабиринт — стрелки + полный урок |
| scratch сообщения между спрайтами | Старт по сообщению |
| блоки scratch для начинающих | Элементы Scratch, Примеры скриптов Scratch — отдельные блоки |
Связь с энциклопедией
| Тема в Lab | Теория в энциклопедии | Пошаговая игра |
|---|---|---|
| События, флаг, клавиши | Scratch §2 | Scratch — как учиться по проектам — метод |
| Костюмы, анимация | Scratch §3 | Scratch — радужные линии и первый проект — радуга |
| Координаты, движение | Scratch §4 | Scratch — лабиринт на клавишах — лабиринт |
| Условия, касание | Scratch §5 | Scratch — лабиринт на клавишах |
| Циклы | Scratch §6 | все игры 33–38 |
| Переменные, счёт | Scratch §7 | Scratch — баскетбол и гравитация — баскетбол |
| Случайные числа | Scratch §8 | Scratch — астероиды в космосе — астероиды |
| Клоны | Scratch §9 | Scratch — арканоид с клонами — арканоид |
| Перо, рисование | Scratch §13 | Scratch — радужные линии и первый проект |
| Свои блоки | Scratch §15 | Scratch — продвинутый платформер — платформер |
| Отладка | Scratch §17 | типичные ошибки ниже |
Эта страница (Lab) — короткие фрагменты с разбором каждого блока.
Энциклопедия 33–38 — полные игры с эскизом, частями А–Г и контрольными точками.
Справочник Scratch §1–§17 — определения и картинки блоков.
Элементы Scratch
| Элемент | Что означает |
|---|---|
| Спрайт | Объект на сцене (кот, монета, кнопка). У каждого спрайта свой набор скриптов |
| Сцена | Фон; координаты X от −240 до 240, Y от −180 до 180; центр — (0, 0) |
| Событие | Жёлтый блок вверху скрипта — когда программа начинает выполнять цепочку |
| Цикл | Повторяет вложенные блоки много раз или бесконечно |
| Условие | Блок «если … то» — выполняется только при истинном условии (шестиугольник) |
| Переменная | Именованное число или текст; можно показывать на сцене как счётчик |
| Клон | Копия спрайта; у каждого клона свой экземпляр скрипта «при создании клона» |
Цвета блоков в Scratch 3.0
| Цвет | Категория | Для чего |
|---|---|---|
| Жёлтый | События | Старт по флагу, клику, клавише, сообщению |
| Голубой | Движение | Шаги, поворот, координаты x/y |
| Фиолетовый | Внешний вид | Костюмы, размер, показать/спрятать |
| Розовый | Звук | Воспроизведение и эффекты |
| Оранжевый | Управление | Циклы, условия, ожидание |
| Сенсоры | Сенсоры | Клавиши, касание, мышь, ответ |
| Светло-голубой | Переменные | Создание, изменение, списки |
| Зелёный (тёмный) | Перо | Рисование на сцене (расширение) |
| Розово-красный | Сделать | Свои блоки-процедуры |
Основы мини-проектов
Обязательный каркас
Любой проект начинается с зелёного флага ⚑. В одном скрипте сбрасывайте переменные, позицию и след на сцене:
когда щёлкнут по ⚑
стереть всё
перейти в x: (0) y: (0)
установить [счёт v] в (0)
показать
Разбор блоков:
| Блок | Смысл |
|---|---|
когда щёлкнут по ⚑ |
Точка входа: скрипт запускается при нажатии зелёного флага или при повторном старте игры |
стереть всё |
Очищает рисунки модуля Перо на сцене (нужно расширение «Перо») |
перейти в x: … y: … |
Мгновенно ставит спрайт в заданную точку без анимации шагов |
установить [счёт] в (0) |
Записывает в переменную счёт число 0; переменную создайте во вкладке «Переменные» |
показать |
Делает спрайт видимым, если до этого его спрятали |
Кнопка «+ Расширения» внизу слева → Перо. Без опустить перо линии не рисуются. Теория — §13 справочника.
Стартовые мини-проекты
Как нарисовать квадрат в Scratch
Что получится: на сцене появится замкнутый квадрат со стороной 100 шагов.
Как собрать: один спрайт «Карандаш» → расширение Перо → скрипт ниже.
когда щёлкнут по ⚑
стереть всё
опустить перо
перейти в x: (-50) y: (50)
повторить (4)
идти (100) шагов
повернуть вправо на (90)
конец
поднять перо
Разбор:
| Блок | Смысл |
|---|---|
опустить перо |
Включить рисование линии за спрайтом при движении |
перейти в x: (-50) y: (50) |
Стартовый угол квадрата — левый верхний (подберите координаты под размер сцены) |
повторить (4) |
Четыре стороны многоугольника |
идти (100) шагов |
Провести линию длиной 100 в текущем направлении |
повернуть вправо на (90) |
Поворот на прямой угол; сумма четырёх поворотов = 360° |
поднять перо |
Остановить рисование, чтобы следующее движение не оставляло след |
Частая ошибка: забыли опустить перо — спрайт двигается, линий нет.
Теория: §6 циклы, §13 перо. Похожее на Python: Turtle — квадрат.
Радужный многоугольник
Что получится: «звезда» из разноцветных шестиугольников, повёрнутая несколько раз.
когда щёлкнут по ⚑
стереть всё
опустить перо
повторить (36)
установить цвет пера в (случайное от 1 до 200)
повторить (6)
идти (40) шагов
повернуть вправо на (60)
конец
повернуть вправо на (10)
конец
Разбор:
| Блок | Смысл |
|---|---|
установить цвет пера в (случайное от 1 до 200) |
Каждый виток — новый оттенок (Scratch использует шкалу 0–200) |
Внутренний повторить (6) + поворот 60° |
Правильный шестиугольник (360 ÷ 6 = 60) |
Внешний повторить (36) + поворот 10° |
36 × 10° = полный оборот узора вокруг центра |
Анимация «Дыхание»
Что получится: спрайт плавно «раздувается» и сжимается за счёт смены костюмов.
Подготовка: два костюма одного спрайта — обычный и чуть увеличенный (вкладка Костюмы → Дублировать → Изменить размер).
когда щёлкнут по ⚑
навсегда
следующий костюм
ждать (0.3) сек
конец
Разбор:
| Блок | Смысл |
|---|---|
навсегда |
Бесконечный цикл — анимация идёт, пока не нажмёте красную кнопку Stop |
следующий костюм |
Переключает костюм по кругу: 1 → 2 → 1 → … |
ждать (0.3) сек |
Пауза между кадрами; меньше значение — быстрее «дыхание» |
Кликер со счётом
Что получится: при клике по спрайту растёт счёт и на миг увеличивается размер — простая «игра-кликер».
Подготовка: переменная счёт, галочка «показывать на сцене».
когда щёлкнут по ⚑
установить [счёт v] в (0)
когда этот спрайт нажат
изменить [счёт v] на (1)
изменить размер на (5)
ждать (0.1) сек
изменить размер на (-5)
Разбор:
| Блок | Смысл |
|---|---|
когда этот спрайт нажат |
Отдельное событие — срабатывает при клике именно по этому спрайту |
изменить [счёт v] на (1) |
Прибавляет 1 к текущему значению переменной |
изменить размер на (5) / (-5) |
Визуальный «отклик» на клик без смены костюма |
След за мышью (рисовалка)
Что получится: при зажатой кнопке мыши спрайт рисует линию за курсором.
когда щёлкнут по ⚑
стереть всё
опустить перо
перейти к [указатель мыши v]
повторять всегда
если <нажата кнопка мыши?> то
идти к [указатель мыши v]
иначе
поднять перо
перейти к [указатель мыши v]
опустить перо
конец
ждать (0.02) сек
конец
Разбор:
| Блок | Смысл |
|---|---|
нажата кнопка мыши? |
Условие (шестиугольник): истина, пока кнопка зажата |
идти к [указатель мыши] |
Движение к курсору с рисованием, если перо опущено |
Ветка иначе |
Когда кнопку отпустили — поднять перо, «перепрыгнуть» к мыши без линии, снова опустить |
ждать (0.02) сек |
Снижает нагрузку на процессор в цикле повторять всегда |
Мини-проекты — разбор по темам
1. Графика и анимация
1.1. Радужные линии между точками
Идея: три точки летят по сцене; четвёртый спрайт рисует между ними цветные отрезки. Полная пошаговая сборка — практика 1 — радуга.
Спрайт «Точка 1» (дублируйте два раза → Точка 2, Точка 3):
когда щёлкнут по ⚑
перейти в x: (случайное от -200 до 200) y: (случайное от -150 до 150)
направиться в (случайное от -180 до 180)
повторять всегда
идти (10) шагов
если <касается края?> то
отскочить от края
конец
конец
| Блок | Смысл |
|---|---|
направиться в (…) |
Задаёт угол движения в градусах: 0° — вверх, 90° — вправо |
идти (10) шагов |
Плавное движение вперёд (в отличие от перейти в) |
касается края? |
Проверка границы сцены |
отскочить от края |
Разворачивает спрайт и «отражает» траекторию |
Спрайт «Рисующая точка»:
когда щёлкнут по ⚑
стереть всё
опустить перо
повторить (3)
установить цвет пера в (случайное от 1 до 200)
перейти к [Точка 1 v]
перейти к [Точка 2 v]
перейти к [Точка 3 v]
ждать (0.01) сек
конец
| Блок | Смысл |
|---|---|
перейти к [Точка 1 v] |
Мгновенный прыжок к центру выбранного спрайта; между прыжками рисуется линия |
Внешний повторить (3) |
Три «кадра» узора; увеличьте число для более плотного рисунка |
Совет: правый клик по флагу → Турбо режим, если рисование тормозит.
Полный урок: Scratch — радужные линии и первый проект — радужные линии. Теория: §4 координаты, §13 перо.
1.2. Звёздное небо из клонов
Идея: при старте создаётся много копий «звезды» в случайных местах.
Спрайт «Звезда» — маленький жёлтый кружок; при ⚑ скрыт:
когда щёлкнут по ⚑
скрыть
повторить (50)
создать клон самого себя
конец
при создании клона
перейти в x: (случайное от -240 до 240) y: (случайное от -180 до 180)
изменить размер на (случайное от 20 до 80) %
показать
| Блок | Смысл |
|---|---|
скрыть |
Оригинал не виден; на сцене только клоны |
создать клон самого себя |
Копия спрайта со своим скриптом «при создании клона» |
при создании клона |
Отдельная шапка скрипта — выполняется один раз для каждого клона |
изменить размер на … % |
Случайный масштаб — звёзды разного «блеска» |
Для мерцания добавьте в конец клона цикл изменить яркость вместо немедленного удалить этот клон.
Теория: Scratch §9, §8 случайные числа.
2. Игры и интерактив
2.1. Игра «Собери монеты» — полный разбор
Что получится: герой ходит стрелками, монеты дают +1 к счёту и перепрыгивают в новое место.
Спрайты: Герой, Монета, Ведущий (пустой квадрат или фон). Переменная счёт — для всех спрайтов, показывать на сцене.
Герой:
когда щёлкнут по ⚑
перейти в x: (0) y: (0)
повторять всегда
если <нажата клавиша [стрелка вправо]?> то
изменить x на (5)
конец
если <нажата клавиша [стрелка влево]?> то
изменить x на (-5)
конец
если <нажата клавиша [стрелка вверх]?> то
изменить y на (5)
конец
если <нажата клавиша [стрелка вниз]?> то
изменить y на (-5)
конец
ждать (0.02) сек
конец
| Блок | Смысл |
|---|---|
нажата клавиша [стрелка вправо]? |
Сенсоры: true, пока клавиша зажата |
изменить x на (5) |
Сдвиг вправо на 5 пикселей за один проход цикла |
ждать (0.02) сек |
~50 обновлений в секунду — плавное движение без «телепорта» |
Монета:
когда щёлкнут по ⚑
показать
перейти в x: (случайное от -200 до 200) y: (случайное от -150 до 150)
когда я касаюсь [Герой v]
изменить [счёт v] на (1)
перейти в x: (случайное от -200 до 200) y: (случайное от -150 до 150)
| Блок | Смысл |
|---|---|
когда я касаюсь [Герой v] |
Событие срабатывает в момент касания — не нужен цикл с проверкой |
Повторный перейти в случайную точку |
Монета «переспавнивается»; альтернатива — спрятать и создать клон |
Ведущий:
когда щёлкнут по ⚑
установить [счёт v] в (0)
сказать [Собери монеты!] в течение (2) сек
Чек-лист: после ⚑ счёт = 0; каждое касание +1 ровно один раз; имена спрайтов в блоках совпадают с панелью спрайтов.
Теория: §5 условия и касание, §7 переменные. Разбор блоков по одному: Примеры скриптов Scratch — счётчик монет.
2.2. Движение стрелками — заготовка для лабиринта
Что получится: персонаж ходит по сцене; этот же скрипт — основа лабиринта.
когда щёлкнут по ⚑
перейти в x: (0) y: (0)
повторять всегда
если <нажата клавиша [стрелка вверх]?> то
изменить y на (4)
конец
если <нажата клавиша [стрелка вниз]?> то
изменить y на (-4)
конец
если <нажата клавиша [стрелка вправо]?> то
изменить x на (4)
конец
если <нажата клавиша [стрелка влево]?> то
изменить x на (-4)
конец
ждать (0.02) сек
конец
| Блок | Смысл |
|---|---|
Четыре отдельных если |
Каждая стрелка проверяется независимо; можно нажать диагональ (два если сработают за кадр) |
Шаг 4 |
Меньше шага — точнее проход по коридору; при «проходе сквозь стену» уменьшите до 2 |
ждать (0.02) сек |
Обязательная пауза в повторять всегда — иначе Scratch перегружает цикл |
Стены: после движения добавьте если <касается цвета [#000000]?> то и откат изменить x/y в обратную сторону — подробно в 34, часть В.
2.3. Прыжок с гравитацией — заготовка для платформера
Что получится: герой падает вниз и прыгает по пробелу — ядро баскетбола и платформера.
Переменные скорость_y и на_земле — «для всех спрайтов» или только для героя.
когда щёлкнут по ⚑
установить [скорость_y v] в (0)
установить [на_земле v] в (1)
повторять всегда
если <нажата клавиша [стрелка вправо]?> то
изменить x на (4)
конец
если <нажата клавиша [стрелка влево]?> то
изменить x на (-4)
конец
если <нажата клавиша [пробел] и <(на_земле) = (1)>> то
установить [скорость_y v] в (12)
установить [на_земле v] в (0)
конец
изменить y на (скорость_y)
изменить [скорость_y v] на (-1)
если <касается [Земля v] или <касается цвета [#00cc00]>> то
установить [скорость_y v] в (0)
установить [на_земле v] в (1)
иначе
установить [на_земле v] в (0)
конец
ждать (0.02) сек
конец
| Блок | Смысл |
|---|---|
изменить y на (скорость_y) |
Позиция += скорость каждый кадр — имитация падения |
изменить [скорость_y] на (-1) |
Ускорение вниз (гравитация); число подберите под «вес» персонажа |
на_земле = 1 |
Разрешает прыжок только когда герой стоит на полу |
касается [Земля] или цвет |
Пол — отдельный спрайт или зелёная заливка на фоне |
Полные уроки: Scratch — баскетбол и гравитация — баскетбол, Scratch: платформер и демосцена — платформер, Scratch — продвинутый платформер — продвинутый платформер.
2.4. Упрощённый пинг-понг
Спрайты: Ракетка (низ экрана, стрелки ← →), Мяч. Переменные dx, dy — скорость мяча по осям.
Мяч — ключевые блоки:
когда щёлкнут по ⚑
перейти в x: (0) y: (0)
установить [dx v] в (4)
установить [dy v] в (4)
повторять всегда
изменить x на (dx)
изменить y на (dy)
если <касается края?> то
отскочить от края
установить [dy v] в ((-1) * (dy))
конец
если <касается [Ракетка v]?> то
установить [dy v] в (abs (dy))
установить [dx v] в ((dx) + ((x) - (x позиция [Ракетка v])) / 10)
конец
если <y < (-170)> то
сказать [Проигрыш!] в течение (1) сек
остановить [все v]
конец
ждать (0.02) сек
конец
| Блок | Смысл |
|---|---|
изменить x на (dx) |
Имитация физики: позиция += скорость каждый кадр |
установить [dy] в ((-1) * (dy)) |
Отражение от верхней/нижней стенки — инверсия вертикальной скорости |
abs (dy) |
После удара о ракетку мяч летит вверх (положительный dy) |
(x) - (x позиция [Ракетка]) |
Чем дальше от центра ракетки удар, тем сильнее боковой отскок |
остановить [все v] |
Останавливает все скрипты всех спрайтов — конец партии |
Полный арканоид с кирпичами — практика 4. Lab: Примеры скриптов Scratch — движение с границами.
2.5. Мини-викторина
Идея: ведущий задаёт вопрос; ответ проверяется блоком «ответ».
когда щёлкнут по ⚑
установить [счёт v] в (0)
сказать [Столица Франции?] в течение (2) сек
ждать (2) сек
если <(ответ) = [Париж]> то
изменить [счёт v] на (1)
сказать [Верно!] в течение (1) сек
иначе
сказать [Попробуй ещё] в течение (1) сек
конец
| Блок | Смысл |
|---|---|
сказать … в течение |
Облачко над спрайтом с таймером |
ждать (2) сек |
Даёт время прочитать вопрос |
(ответ) |
Сенсоры: текст, введённый в поле «ответ» на сцене (включите в настройках сцены) |
Сравнение с [Париж] |
Регистр и пробелы должны совпасть; для устойчивости используйте буквы (ответ) = буквы (Париж) |
3. Клоны и эффекты
3.1. Дождь из клонов
когда щёлкнут по ⚑
скрыть
повторять всегда
создать клон самого себя
ждать (0.1) сек
конец
при создании клона
перейти в x: (случайное от -240 до 240) y: (180)
показать
повторять пока не <y < (-180)>
изменить y на (-8)
ждать (0.02) сек
конец
удалить этот клон
| Блок | Смысл |
|---|---|
Цикл с создать клон |
Каждые 0.1 с новая капля |
повторять пока не <y < (-180)> |
Капля падает, пока не выйдет за нижний край |
удалить этот клон |
Обязательно — иначе сотни невидимых клонов замедлят проект |
3.2. Салют по пробелу
когда щёлкнут по ⚑
скрыть
когда нажата клавиша [пробел]
повторить (20)
создать клон самого себя
конец
при создании клона
перейти в x: (0) y: (0)
показать
направиться в (случайное от -180 до 180)
изменить цвет на (случайное от 1 до 200)
повторить (30)
двигаться (5) шагов
изменить размер на (-3)
ждать (0.02) сек
конец
удалить этот клон
| Блок | Смысл |
|---|---|
направиться в (случайное …) |
Каждая частица летит в своём направлении |
изменить размер на (-3) |
Частица «угасает», уменьшаясь |
| Пакет из 20 клонов по пробелу | Один залп салюта |
4. Процедуры и сообщения
4.1. Свой блок «прыжок»
Сделать → Создать блок → имя прыгнуть, добавить параметр высота:
определить прыгнуть (высота)
повторить (высота)
изменить y на (4)
конец
повторить (высота)
изменить y на (-4)
конец
Вызов у героя при нажатии пробела: прыгнуть (10).
| Элемент | Смысл |
|---|---|
определить … |
Шапка своего блока — тело хранится отдельно |
Параметр высота |
Число передаётся при вызове — один блок для низкого и высокого прыжка |
| Два цикла вверх/вниз | Симметричная дуга без физики гравитации |
4.2. Старт игры по сообщению (меню)
Кнопка «Играть»:
когда этот спрайт нажат
передать [старт_игры v] и ждать
Герой:
когда щёлкнут по ⚑
скрыть
когда я получу [старт_игры v]
показать
перейти в x: (0) y: (-80)
| Блок | Смысл |
|---|---|
передать [старт_игры] и ждать |
Сигнал всем спрайтам; кнопка ждёт, пока обработчики закончат |
когда я получу [старт_игры] |
Герой «оживает» только после клика по меню |
скрыть при ⚑ |
Герой не двигается до старта |
Имена сообщений создаются в выпадающем списке блока «передать» — буква в букву одинаковые во всех скриптах.
Теория: Scratch §2 — сообщения. Lab: Примеры скриптов Scratch — сообщение между спрайтами. Игра: Scratch — лабиринт на клавишах — лабиринт, смена уровня.
5. Шесть игр — полный маршрут
Мини-проекты выше — короткие заготовки для поиска и копирования блоков. Шесть игр с эскизами, частями А–Д и контрольными точками — в энциклопедии:
| № | Проект | Глава | Главные блоки |
|---|---|---|---|
| 1 | Радужные линии | Scratch — радужные линии и первый проект | Перо, движение, дубликаты |
| 2 | Лабиринт | Scratch — лабиринт на клавишах | Клавиши, цвет стен, сообщения |
| 3 | Баскетбол | Scratch — баскетбол и гравитация | Гравитация, хитбокс |
| 4 | Арканоид | Scratch — арканоид с клонами | Клоны, отскок мяча |
| 5 | Астероиды | Scratch — астероиды в космосе | Мышь, wrap-экран, стрельба |
| 6 | Платформер | Scratch — продвинутый платформер | Склоны, враг, анимация |
Remix MIT и демосцена — Стартовые проекты MIT Scratch, Scratch: платформер и демосцена.
6. Типичные ошибки
| Симптом | Причина | Что сделать |
|---|---|---|
| Скрипт не запускается | Нет жёлтого блока-события | Добавьте когда щёлкнут по ⚑ или другое событие |
| Счёт +10 за одну монету | Событие касания срабатывает каждый кадр | спрятать монету или флаг «уже собрано» |
| Линии не рисуются | Перо поднято или расширение не включено | + Расширения → Перо → опустить перо |
| Сотни «призраков» на сцене | Клоны без удалить этот клон |
В конце жизни клона — удаление |
| Герой проходит сквозь стену | Шаг 5–10 при проверке цвета после движения | Сначала если цвет, потом изменить x/y на 2–4 |
| Сообщение не доходит | Опечатка в имени | Выберите одно имя из списка во всех блоках |
Отладка — §17 справочника Scratch.
7. Чек-лист перед публикацией
- Зелёный флаг сбрасывает счёт, позиции и след на сцене.
- Имена спрайтов в блоках
касается,перейти ксовпадают с панелью справа. - У каждого клона есть
удалить этот клон. - Проект сохранён (Файл → Сохранить на компьютер или в аккаунте).
- Проверка в Турбо режиме (правый клик по флагу), если анимация медленная.
Куда двигаться дальше
| Уровень | Материал |
|---|---|
| Блоки по отдельности | Примеры скриптов Scratch |
| Справочник редактора | Scratch — энциклопедия §1–§17 |
| Метод «эскиз → части» | Как учиться по проектам |
| Шесть игр пошагово | Scratch — радужные линии и первый проект–Scratch — продвинутый платформер |
| Текстовый код после Scratch | Таблица Scratch-Python, Python для детей |
| Рисование в Python | Рисование в браузере (JavaScript) |
| FAQ по Scratch | Программирование — итоги — вопросы и ответы |