Описание редактора сценариев для программы "Настоящий Виртуальный Кубик Рубика".
Общие сведения.
Чтобы запустить редактор сценариев выберите команду Сценарий в меню Изменить.
Редактор сценариев содержит два окна редактирования – многострочное вверху и однострочное под ним.
Сценарии пишутся в многострочном окне, в однострочном окне появляются сообщения об ошибках.
Сценарий запускается щелчком по кнопке «Пуск».
Чтобы открыть файл со сценарием щёлкните по кнопке «Загрузить».
При щелчке по кнопке «Сохранить» появляется диалоговое с предложением сохранить сценарий
(если сценарий не был загружен из файла) или перезаписывается файл, из которого был загружен сценарий.
При щелчке по кнопке «Сохранить как» появляется диалоговая панель с предложением сохранить сценарий.
Файл со сценарием для Виртуального Кубика Рубика имеет расширение CRS и значок
.
Файл сценария Виртуального Кубика Рубика - это обычный текстовый файл,
вы можете открывать, изменять и сохранять его с помощью любого текстового редактора.
Вы можете запускать сохранённые сценарии не загружая их в редактор сценариев.
Для этого в меню Файл выберите команду Открыть - Сценарий.
Щелчок по кнопке «Выход» закроет редактор сценариев.
Опции.
"Сценарий для текущего Кубика Рубика". Если выбрана эта опция и если размерность текущего
Виртуального Кубика Рубика совпадает с размерностью, заданной в сценарии, сценарий будет выполнен
на текущем Кубике Рубика.
В противном случае программа сгенерирует новый Виртуальный Кубик Рубика и сценарий , таким образом,
будет выполнен "с нуля".
"Сохранить текущий Кубик Рубика". Если эта опция выбрана, то всякий раз, при
запуске сценария, будет появляться диалоговое окно, с предложением сохранить текущий Кубик Рубика.
"Минимизировать это окно при выполнении сценария". Редактор сценариев будет минимизирован
при запуске сценария и восстановлен после выполнения сценария.
"Разрешить вращения Кубика Рубика". Во время выполнения сценария, сцена с Кубиком Рубика
будет вращаться, если выбрана эта опция, и будет оставаться неподвижной в противном случае.
Руководство по написанию сценариев для программы "Настоящий Виртуальный Кубик Рубика".
На самом деле писать сценарии для Виртуального Кубика Рубика очень просто.
Прежде всего в меню Изменить выберите команду Опции. В появившейся
диалоговой панели выберите опцию "Разрешить видимость осей XYZ".
Щелчком по кнопке «OK» закройте диалоговую панель.
Затем, выбрав команду Сценарий в меню Изменить, запустите редактор сценариев.
Скопируйте его и, через буфер обмена, вставьте в верхнее окно редактирования
редактора сценариев. Запустите сценарий щелчком по кнопке «Пуск». Получилось?
Разберём сценарий детально.
Прежде всего, обратите внимание на первую строку.
В начале сценария всегда должно стоять какое–нибудь число,
определяющее размерность Виртуального Кубика Рубика.
В вышеприведённом примере это число равно пяти и, как вы и видели,
размерность Кубика стала равна 5х5х5.
Далее в сценарии идёт ряд выражений в скобках.
Каждое из них является командой, определяющей вращение выбранного ряда (или рядов!) Виртуального Кубика вокруг выбранной оси на заданный угол.
Например, "X3" в команде "(X3+1)" означает, что нужно повернуть
вокруг оси "X" третий ряд кубиков,
а "Y5" в команде "(Y5+1)" – это поворот вокруг оси
"Y" пятого ряда и т. д.
Ряды кубиков нумеруются, по возрастанию, начиная с 1 в сторону положительного направления оси.
Если вы не разобрались в тексте, то просто взгляните на рисунок слева, на котором
все ряды кубика 5х5х5 пронумерованы.
К примеру, как видно из рисунка, ось "Y" идёт снизу вверх
и поэтому "Y1" здесь самый нижний ряд, а "Y5" – самый верхний.
(Внимание! "X", "Y", "Z" – это буквы латинского алфавита "Икс", "Игрек"
и "Зет" соответственно; вы можете использовать как прописные, так и строчные буквы,
и, поэтому, например, команды (Z5+1) и (z5+1) эквивалентны.)
В конце каждой команды стоит выражение, задающее угол поворота выбранного ряда кубиков.
"+1" здесь означает поворот на +90 градусов, а
"– 1" повернёт выбранный ряд на –90 градусов.
Положительный и отрицательный повороты определяются по обычному, принятому в математике соглашению:
если ось поворота направлена на наблюдателя, то положительным считается поворот,
совершаемый против часовой стрелки, а отрицательным – по часовой стрелке.
На рисунке внизу показаны повороты на +90 градусов (слева), на –90 градусов (справа)
и обозначения их в сценариях.
Вы также можете выражениями "+2" и "–2"задать поворот на 180 градусов. Разумеется,
"+" и "–" в этих выражениях никакой роли не играют (потому, что поворот на +180
градусов равен повороту на –180 градусов), но обязательно должны присутствовать – такое правило!
Поэтому, например, два приведённые ниже сценария, в конечном итоге, производят совершенно
одинаковое действие, хотя и ряды кубиков в каждом из них вращаются в противоположные стороны:
Других поворотов в сценарии задать нельзя, поэтому любая команда сценария должна оканчиваться на
"1" или на "2".
Во всех вышеприведённых сценариях каждая команда определяла поворот одного-единственного ряда кубиков.
Однако существует возможность повернуть сразу несколько рядов кубиков,
если эти ряды расположены непосредственно рядом друг с другом.
Вот пример такой команды: (2X3+1) Здесь "X3+1" как обычно задаёт вращение третьего ряда кубиков вокруг оси
"X" на +90°, а положительное число "2" в начале команды означает,
что необходимо дополнительно повернуть два ряда кубиков, расположенных по
ту сторону третьего ряда, в которую направлена ось поворота - то есть ряды четвёртый и пятый.
Таким образом, эта команда поворачивает сразу три ряда кубиков.
Команда (-2X3+1) также повернёт на +90° кроме третьего ряда кубиков ещё два, но, поскольку число
в начале команды отрицательное, расположены они уже будут с другой стороны
третьего ряда - первый и второй ряды.
Можно и по-другому определить, какие ряды кубиков будут повёрнуты.
Для этого надо просто прибавить к числу, стоящему после буквы, задающей ось поворота, число, стоящее
перед этой буквой. В первом приведённом примере это 3+2=5 и, следовательно,
будет осуществлён поворот рядов с третьего по пятый; второй пример даёт 3+(-2)=1
и, поэтому, будут повёрнуты ряды с первого до третьего.
На рисунке внизу показаны три примера выполнения трёх сценариев: 5 (2 X 3 +1) (слева), 5 (-2 Y 3 +1) (в центре) и 5 (-2 Z 4 +1) (справа).
Два сценария ниже, различные на первый взгляд, на самом деле совершенно эквивалентны:
5
(2X2+1)
(2Y2+1)
(2X2-1)
(2Y2-1)
5
(-2X4+1)
(-2Y4+1)
(-2X4-1)
(-2Y4-1)
Вы можете писать сценарий не только в столбик, но и в одну или несколько строк,
использовать любое количество пробелов как вне, так и внутри скобок, сами скобки могут быть любыми:
круглыми — ( ) или квадратными — [ ] или фигурными — { }.
Наконец, вы можете включить в сценарий какие-либо комментарии, например своё имя и дату написания,
при этом комментарии не могут находиться в начале сценария и внутри скобок и сами не могут содержать скобок.
Этот сценарий будет выполнен без проблем, поскольку всё, что находится
не в начале сценария и не в скобках программа попросту проигнорирует.
Резюме.
Подведём итоги:
В начале сценария всегда должно стоять какое–нибудь число,
определяющее размерность Виртуального Кубика Рубика.
Каждое выражение в скобках является командой, определяющей вращение выбранного ряда
(или рядов) кубика вокруг выбранной оси на заданный угол.
Скобки могут быть любыми: круглыми, квадратными, фигурными.
Внутри скобок допустимо использовать только следующие символы:
пробелы;
цифры 0,1,2,3,4,5,6,7,8,9,0;
знаки "+" и "–";
буквы латинского алфавита "X", "x", "Y", "y", "Z", "z".
Другие символы внутри скобок недопустимы.
Если команда должна повернуть только один ряд кубиков, то она должна начинаться
с одной из букв – "X", "x", "Y", "y", "Z", "z", задающей ось поворота.
После буквы стоит число, которое определяет номер поворачиваемого ряда, при этом
ряды кубиков нумеруются, по возрастанию, начиная с 1 в сторону положительного направления оси.
В конце каждой команды стоит выражение, определяющее угол поворота:
"+1" задаёт поворот на +90°;
"–1" задаёт поворот на –90°;
"+2" и "–2" задают поворот на 180°.
Другие выражения в конце команды недопустимы.
Существует возможность повернуть одной командой сразу несколько рядов кубиков, при условии,
если эти ряды расположены непосредственно рядом друг с другом.
Число, стоящее в начале такой команды, задаёт количество дополнительно поворачиваемых рядов.
Если это число положительное, то дополнительно будут повёрнуты ряды кубиков, расположенные по
ту сторону выбранного ряда, в которую направлена ось поворота, в противном случае
будут повёрнуты ряды, расположенные с другой стороны.
Писать сценарий можно в столбик, в одну или несколько строк,
использовать любое количество пробелов как вне, так и внутри скобок.
Комментарии не могут находиться в начале сценария и внутри скобок и сами не могут содержать скобок.
Примеры сценариев для программы "Настоящий Виртуальный Кубик Рубика"
Вы можете найти примеры интересных сценариев в Интернете здесь, на фирменном сайте.
В настоящее время имеются сценарии для кубиков такой размерности: