игры кубик рубика пазлы электронные компьютерные игры развлечения учебники школьники студенты программы
WWW.ROSSPROGRAMMPRODUCT.COM - Главная страница сайта
English

Документация к программе
"Настоящий Виртуальный Кубик Рубика"


О программе

Руководство по работе

Как писать сценарии

Как собрать?

Как писать сценарии для программы
"Настоящий Виртуальный Кубик Рубика"

Видеоролик поможет вам научиться писать сценарии легко и быстро:
http://www.youtube.com/watch?v=1yHzPI_3pOk

Описание редактора сценариев для программы
"Настоящий Виртуальный Кубик Рубика".


Общие сведения.

  • Чтобы запустить редактор сценариев выберите команду Сценарий в меню Изменить.
  • Редактор сценариев содержит два окна редактирования – многострочное вверху и однострочное под ним.
  • Сценарии пишутся в многострочном окне, в однострочном окне появляются сообщения об ошибках.
  • Сценарий запускается щелчком по кнопке «Пуск».
  • Чтобы открыть файл со сценарием щёлкните по кнопке «Загрузить».
  • При щелчке по кнопке «Сохранить» появляется диалоговое с предложением сохранить сценарий (если сценарий не был загружен из файла) или перезаписывается файл, из которого был загружен сценарий.
  • При щелчке по кнопке «Сохранить как» появляется диалоговая панель с предложением сохранить сценарий.
  • Файл со сценарием для Виртуального Кубика Рубика имеет расширение CRS и значок .
  • Файл сценария Виртуального Кубика Рубика - это обычный текстовый файл, вы можете открывать, изменять и сохранять его с помощью любого текстового редактора.
  • Вы можете запускать сохранённые сценарии не загружая их в редактор сценариев. Для этого в меню Файл выберите команду Открыть - Сценарий.
  • Щелчок по кнопке «Выход» закроет редактор сценариев.

Опции.

  • "Сценарий для текущего Кубика Рубика". Если выбрана эта опция и если размерность текущего Виртуального Кубика Рубика совпадает с размерностью, заданной в сценарии, сценарий будет выполнен на текущем Кубике Рубика.
    В противном случае программа сгенерирует новый Виртуальный Кубик Рубика и сценарий , таким образом, будет выполнен "с нуля".
  • "Сохранить текущий Кубик Рубика". Если эта опция выбрана, то всякий раз, при запуске сценария, будет появляться диалоговое окно, с предложением сохранить текущий Кубик Рубика.
  • "Минимизировать это окно при выполнении сценария". Редактор сценариев будет минимизирован при запуске сценария и восстановлен после выполнения сценария.
  • "Разрешить вращения Кубика Рубика". Во время выполнения сценария, сцена с Кубиком Рубика будет вращаться, если выбрана эта опция, и будет оставаться неподвижной в противном случае.

Руководство по написанию сценариев для программы
"Настоящий Виртуальный Кубик Рубика".


На самом деле писать сценарии для Виртуального Кубика Рубика очень просто.

Прежде всего в меню Изменить выберите команду Опции. В появившейся диалоговой панели выберите опцию "Разрешить видимость осей XYZ". Щелчком по кнопке «OK» закройте диалоговую панель.

Затем, выбрав команду Сценарий в меню Изменить, запустите редактор сценариев.

Теперь рассмотрим пример сценария:

 5
(X1+1)
(X3+1)
(X5+1)
(Y1+1)
(Y3+1)
(Y5+1)
(Z1+1)
(Z3+1)
(Z5+1)
(X1+1)
(X3+1)
(X5+1)

Скопируйте его и, через буфер обмена, вставьте в верхнее окно редактирования редактора сценариев. Запустите сценарий щелчком по кнопке «Пуск». Получилось?

Разберём сценарий детально.

Прежде всего, обратите внимание на первую строку. В начале сценария всегда должно стоять какое–нибудь число, определяющее размерность Виртуального Кубика Рубика. В вышеприведённом примере это число равно пяти и, как вы и видели, размерность Кубика стала равна 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 градусов), но обязательно должны присутствовать – такое правило!

Поэтому, например, два приведённые ниже сценария, в конечном итоге, производят совершенно одинаковое действие, хотя и ряды кубиков в каждом из них вращаются в противоположные стороны:

5
(X1+2)
(X3+2)
(X5+2)
(Y1+2)
(Y3+2)
(Y5+2)
(Z1+2)
(Z3+2)
(Z5+2)
5
(X1-2)
(X3-2)
(X5-2)
(Y1-2)
(Y3-2)
(Y5-2)
(Z1-2)
(Z3-2)
(Z5-2)

Других поворотов в сценарии задать нельзя, поэтому любая команда сценария должна оканчиваться на "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)

Вы можете писать сценарий не только в столбик, но и в одну или несколько строк, использовать любое количество пробелов как вне, так и внутри скобок, сами скобки могут быть любыми: круглыми — ( ) или квадратными — [ ] или фигурными — { }.

Наконец, вы можете включить в сценарий какие-либо комментарии, например своё имя и дату написания, при этом комментарии не могут находиться в начале сценария и внутри скобок и сами не могут содержать скобок.

Вот пример сценария с комментариями:

12           Определяется кубик 12х12х12
(3X5-1)   Поворот вокруг оси X 5-го, 6-го, 7-го и 8-го рядов на -90°
(3Y5-1)   Поворот вокруг оси Y 5-го, 6-го, 7-го и 8-го рядов на -90°
(3Z5-1)   Поворот вокруг оси Z 5-го, 6-го, 7-го и 8-го рядов на -90°
(3X5+2)  Поворот вокруг оси X 5-го, 6-го, 7-го и 8-го рядов на 180°
(3Y5+2)  Поворот вокруг оси Y 5-го, 6-го, 7-го и 8-го рядов на 180°
(3Z5+2)  Поворот вокруг оси Z 5-го, 6-го, 7-го и 8-го рядов на 180°
(3X5+1)  Поворот вокруг оси X 5-го, 6-го, 7-го и 8-го рядов на +90°
(3Y5+1)  Поворот вокруг оси Y 5-го, 6-го, 7-го и 8-го рядов на +90°
(3Z5+1)  Поворот вокруг оси Z 5-го, 6-го, 7-го и 8-го рядов на +90°

Copyright © 2006 г. РОССПРОГРАММПРОДУКТ ®.

Этот сценарий будет выполнен без проблем, поскольку всё, что находится не в начале сценария и не в скобках программа попросту проигнорирует.

Резюме.


Подведём итоги:

  1. В начале сценария всегда должно стоять какое–нибудь число, определяющее размерность Виртуального Кубика Рубика.
  2. Каждое выражение в скобках является командой, определяющей вращение выбранного ряда (или рядов) кубика вокруг выбранной оси на заданный угол.
  3. Скобки могут быть любыми: круглыми, квадратными, фигурными.
  4. Внутри скобок допустимо использовать только следующие символы:
    • пробелы;
    • цифры 0,1,2,3,4,5,6,7,8,9,0;
    • знаки "+" и "–";
    • буквы латинского алфавита "X", "x", "Y", "y", "Z", "z".
    Другие символы внутри скобок недопустимы.
  5. Если команда должна повернуть только один ряд кубиков, то она должна начинаться с одной из букв – "X", "x", "Y", "y", "Z", "z", задающей ось поворота.
  6. После буквы стоит число, которое определяет номер поворачиваемого ряда, при этом ряды кубиков нумеруются, по возрастанию, начиная с 1 в сторону положительного направления оси.
  7. В конце каждой команды стоит выражение, определяющее угол поворота:
    • "+1" задаёт поворот на +90°;
    • "–1" задаёт поворот на –90°;
    • "+2" и "–2" задают поворот на 180°.
    Другие выражения в конце команды недопустимы.
  8. Существует возможность повернуть одной командой сразу несколько рядов кубиков, при условии, если эти ряды расположены непосредственно рядом друг с другом. Число, стоящее в начале такой команды, задаёт количество дополнительно поворачиваемых рядов. Если это число положительное, то дополнительно будут повёрнуты ряды кубиков, расположенные по ту сторону выбранного ряда, в которую направлена ось поворота, в противном случае будут повёрнуты ряды, расположенные с другой стороны.
  9. Писать сценарий можно в столбик, в одну или несколько строк, использовать любое количество пробелов как вне, так и внутри скобок.
  10. Комментарии не могут находиться в начале сценария и внутри скобок и сами не могут содержать скобок.

Примеры сценариев для программы
"Настоящий Виртуальный Кубик Рубика"

Вы можете найти примеры интересных сценариев в Интернете здесь, на фирменном сайте.

В настоящее время имеются сценарии для кубиков такой размерности:

2x2x2
3x3x3
4x4x4
5x5x5
6x6x6
7x7x7
8x8x8
9x9x9
10x10x10
11x11x11
12x12x12




Copyright © 2006 г. РОССПРОГРАММПРОДУКТ ®.


О программе

Руководство по работе

Как писать сценарии

Как собрать?