В данной статье я опишу основные действия, которые вы должны выполнить, чтобы ваш «рояль» ожил. Не нужно думать, что проект создавался в той же последовательности, в которой я описываю его в этой статье. Было создано более десяти промежуточных вариантов, которые отличались интерфейсом, программным кодом, самой идеей игры. Оптимизация кода шла даже во время написания статьи. В любом случае ваша задача не просто воспроизвести этот проект, но почерпнуть новые идеи, новые приемы программирования на Flash. Не бойтесь экспериментировать, проявлять фантазию…

4.1 Линии игры, планирование интерфейса

Для лучшего понимания дальнейшего кода, нам необходимо разобрать все возможные игровые ситуации. Изобразим их на блок-схеме.

Игровые ситуации
Рис. 9. Игровые ситуации.

Необходимо заметить, во-первых, что последовательность действий в каждом игровом блоке условна. Так в обучающем режиме мы можем не пользоваться кнопкой стирания своих нот, а в игровом режиме игрок может не воспользоваться кнопкой «повторить заданный фрагмент». Во-вторых, каждая стрелка на схеме соответствует какому-либо элементу интерфейса. Во время изложения, последовательно, шаг за шагом мы будем создавать кнопки, реализующие различные возможности программы.

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