DRAKON.SU https://forum.drakon.su/ |
|
Игра Тетрис в «Drakon.Tech» https://forum.drakon.su/viewtopic.php?f=215&t=6586 |
Страница 1 из 1 |
Автор: | Степан Митькин [ Понедельник, 03 Июнь, 2019 10:03 ] |
Заголовок сообщения: | Игра Тетрис в «Drakon.Tech» |
В качестве программы-примера предлагается вот эта реализация игры Тетрис: Вложение: https://drakon.tech/js/examples/tetris Игра работает в браузере и не требует установки. Можно играть и на телефоне. Технология: простой (ванильный) JavaScript и HTML canvas. Детали реализации Игрой управляет конечный автомат, имеющий следующие состояния: - idle (игра не начата) - playing (игра идёт) - dropping (фигура быстро падает в результате команды от игрока) - finished (игра закончена) Автомат принимает следующие сообщения: - advanceStep (вызывается по таймеру, возвращает количество миллисекунд, которое надо ждать до следующего вызова advanceStep) - onLeft (нажатие клавиши Влево) - onRight (нажатие клавиши Вправо) - onDown (нажатие клавиши Вниз - уронить фигуру) - onRotate (нажатие клавиши Вверх - вращение фигуры) advanceStep https://app.drakon.tech/ide/doc/drakon-tetris/20 Вложение: onLeft https://app.drakon.tech/ide/doc/drakon-tetris/44 Вложение: onLeft.png [ 19.43 КБ | Просмотров: 3949 ] onDown https://app.drakon.tech/ide/doc/drakon-tetris/51 Вложение: onDown.png [ 22.1 КБ | Просмотров: 3949 ] К сожаление, на сегодня ДРАКОН-Тех не поддерживает конечные автоматы в виде силуэтов, как здесь - viewtopic.php?f=142&t=6297 Какие проблемы возникают из-за отсутствия явного представления автоматов? 1. В исходном коде трудно найти и выявить автоматы, хотя они объективно есть. 2. Логика переключения состояний разбросана по функциям. Нет целостной картины автомата. Вот к чему приходит отход от автоматного программирования. |
Автор: | LKom [ Понедельник, 03 Июнь, 2019 11:31 ] |
Заголовок сообщения: | Re: Тетрис в ДРАКОН-Тех |
https://forum.drakon.su/viewtopic.php?p=103231#p103231 от Четверг, 16 Май, 2019 18:38 LKom писал(а): Сомнительная(ые) по качеству содержания Дракон-схема(ы). Во всех(во многих) иконах Действий указаны процедуры. В языке Дракон для процедур предусмотрено использование икон Вставка. Если же процедуры реализованы в других Дракон-схемах, то должны обязательно использоваться иконы Вставки. При этом нет описания прикладной области, нет даже комментариев. |
Автор: | Степан Митькин [ Понедельник, 03 Июнь, 2019 12:07 ] |
Заголовок сообщения: | Re: Тетрис в ДРАКОН-Тех |
LKom писал(а): Если же процедуры реализованы в других Дракон-схемах, то должны обязательно использоваться иконы Вставки. Как это реализовано в ИС Дракон? Автор схемы должен сам выбрать тип — Вставка или Действие? А что будет, если автор выбрал Действие, когда внутри иконы вызов процедуры? ИС Дракон сообщит об ошибке? Или ИС Дракон автоматически заменит Действие на Вставку, когда внутри иконы есть вызов процедуры? |
Автор: | LKom [ Понедельник, 03 Июнь, 2019 13:02 ] |
Заголовок сообщения: | Re: Тетрис в ДРАКОН-Тех |
В ИС Дракон выбор вида иконы (Вставка или Действие) производит автор алгоритма, так же как и в Вашей среде. 1. В ИС Драконе в иконе Вставка пишут текст иконы Заголовок вызываемой схемы. 2. Есть навигация - непосредственно из иконы Вставка можно перейти к вызываемой схеме, а потом вернуться к вызывавшей иконе. Обеспечивается навигация между всеми схемами проекта. 3. Есть возможность из иконы Вставка создать вызываемую схему, будет создана схема, в иконе Заголовок схемы будет текст из иконы Вставка. --- В Вашей среде имеется только программный код, из которого сложно разобраться с проблемной областью. Проблемная область должна быть написана на естественном, родном языке читателя, возможно не знакомым с используемым программным языком. 4. В ИС Дракон алгоритм проблемной области объединен с программным кодом. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |