Загрузил musy_k

Практическая1 точные часы

Реклама
Практическая работа «Создаем точные часы»
Проект: Создаем часы, показывающие текущее
время, а так же при нажатии на героя (кот, но может
быть и другой), герой говорит сегодняшнюю дату
(число, месяц, год) и текущее время.
Особенности проекта: Нам понадобится фон с
циферблатом без стрелок, его ты можешь найти в
папке в уроке или нарисовать свой. Нам понадобится
герой, который будет называть текущее время и дату,
а также стрелки – секундная, минутная и часовая.
Стрелки можно взять из библиотеки или нарисовать
самостоятельно. Лучше рисовать в векторном
редакторе. В нем проще задавать толщину линий и
длину, для того, чтобы копировать стрелки и менять
толщину и длину.
Внимание: положение стрелки должно быть горизонтально и смотреть вправо!
Команды, которые нам понадобятся для реализации проекта:
С помощью этой команды мы будем, указывать текущее положение
стрелок часов.
С помощью этой команды мы будем помещать стрелки в центр
часов.
С помощью этой команды мы будем
поворачивать стрелки в положение текущего времени.
Позволит выполнить
умножение двух значений.
Позволит выполнить объединение текста, а также значение
переменных, чтобы потом кот назвал время и дату
Немного математики:
Секундная стрелка совершает за 1 минуту полный поворот – 360о.
Стрелка секундная поворачивается на 3600 ∶ 60 = 60 за 1 секунду
(делим на 60 так, как в 1 минута = 60 секунд). Т.е. за 15 секунд она
повернется на 60 ∙ 15 = 900 , а за 30 секунд на 60 ∙ 15 = 1800 .
Аналогично: Стрелка минутная поворачивается на 60 за 1 минуту
(3600 : 60 = 60 ).
Так как за 1 поворот часовая стрелка проходит 12 значений (от 1 до
12), то за 1 час она поворачивается на 3600 : 12 = 300 . Даже если
текущее время будет, например, 18 часов, то она повернется на 300 ∙ 18 = 5400 , а это полный
поворот 3600 и еще 1800 , т.к. 3600 + 1800 = 5400 . Т.е. стрелка опустится вниз вертикально и
покажет 6 часов.
Это нам необходимо знать, чтобы правильно запрограммировать движение стрелок.
Ход работы:
1. Добавляем фон – циферблат.
2. Добавляем спрайт секундной стрелки. Рисуем ее самостоятельно или берем из
библиотеки. Если возьмем из библиотеки стрелку, то ее надо сделать длиннее и
менее широкую. Внимание: положение стрелки должно быть
горизонтально и смотреть вправо! Самое главное установить центр
костюма стрелки в край стрелки, который будет у нас стоять на месте.
Это можно изменить с помощью кнопки в верхней части векторного
редактора:
3. Напишем скрипт для секундной стрелки. Когда щелкнут по флажку, стрелка должна перейти в
точку центра циферблата, у меня это точка (0, 0). Затем в цикле всегда стрелка должна
повернуться в направлении текущего значения секундной стрелки умноженной на 6, чтобы
время было верным. Чтобы умножить текущее значение секунды на 6 используем оператор
умножения
из
раздела
Операторы.
Общий
секундной
стрелки скрипт:
4. Чтобы сделать минутную стрелку копируем секундную. Изменяем ее костюм: делаем ее короче и
шире. Скрипт тоже будет такой же как у секундной, единственное отличие, что мы используем
текущее значение минут:
5. Чтобы сделать часовую стрелку копируем секундную. Изменяем ее костюм: делаем ее еще
короче и шире. Скрипт тоже будет такой же как у минутной и секундной, единственное отличие,
что за 1 час стрелка должна сдвигаться
на значение часов умноженной на 30
градусов. Поэтому надо будет поменять
команду в цикле всегда:
6. Теперь осталось написать команды, которые позволять, когда нажмешь на кота (героя) увидеть
текущее время и дату. Для этого мы будем использовать команду говорить в течение 2 секунд.
Чтобы мы увидели слова героя и значение текущей даты необходимо использовать команду
слить (
). Нам надо, чтобы кот мы щелкаем на героя, он говорил,
например: «Сегодня 2. 2. 2019». Разберем эту
Сегодня 2 . 2 . 2019
фразу на части: сначала идет обычный текст:
«Сегодня», затем нам надо вставить текущее
текст
текст текст
переменные
значение даты, потом идет текст с точкой «.»,
затем текущее значение месяца, потом идет
текст «.», затем текущее значение года.
Схема составления фразы:
Должна получиться такая фраза:
Аналогично делаем фразу про время: «Сейчас 13 : 25» Жирным выделены
переменные:
Общий скрипт героя:
7. Дополнительно можно добавить: тиканье часов – играть звук до конца. Звук тикающих часов
можно взять в Интернете. Я еще нарисовала круг как спрайт и поместила его в центр, чтобы
было красивее, и сделала надпись на фоне, чтобы любой человек знал, что надо нажать на героя,
чтобы узнать время и дату. Так как Скретч2 не позволяет писать русскими буквами, то можно
написать фразу на самом фоне в графическом редакторе, который у тебя есть на компьютере
(например, Paint) и потом опять загрузить фон заново. Или на сайте https://scratch.mit.edu/ найти
проекты, которые позволяют, переводит текст на русский.
В следующем задании добавим будильник. Т.е. пользователь вводит время будильника, потом
как время подходит будильник срабатывает и звучит музыка.
Можно еще дополнительно сделать часы с кукушкой, например, когда ровно какое-то
количество часов она кукует определенное число раз. Но для этого надо написать достаточно
большой код. Сначала бы я тебе посоветовала попробовать на неточных часах, на которых можно
задавать время или придется ждать возможно достаточно долго чтобы проверить как это будет
работать на точных часах.
Скачать
Случайные карточки
Онегин, дядя

4 Карточек Cards

Название еды

8 Карточек Cards

Создать карточки