Файлы проекта.

В папке нашего проекта у нас должны остаться файлы:
igra.swf - основной файл нашего проекта
igra.htm - html-страница, загружающая файл igra.swf. При публикации вашего проекта этот файл формируется автоматически.
help.swf - файл со справкой
obr1.swf, obr2.swf, obr3.swf и т.д. - файлы с образцами узоров.

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

Кроме этого для каждого .swf файла у вас должен остаться файл c расширением fla их можно скопировать в отдельную папку они пригодятся вам, когда вы захотите освежить в памяти ваши шаги или для того чтобы использовать созданные фрагменты программного кода в других ваших проектах.

Сухой остаток.

Итак мы не только создали логическую игру, но и познакомились с

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

Достоинства и недостатки проекта.

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

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

Для создания проектора откройте .swf файл в Flash Player и выберете команду File - Create Projector В результате у вас будет создан .exe файл, который можно будет запускать самостоятельно.

Математическое решение

Напоследок хочется привести математическое доказательство того, что в данной игре можно построить любой узор:

Сначала научимся "переключать" одну клетку. Для такого переключения надо "щёлкнуть" по одному разу каждую клетку креста, сопряжённого с этой клеткой. Клетка, находящаяся на пересечение креста переключится 15 раз, 8 раз по горизонтали и 7 раз по вертикали. Соответственно, раз число 15 - нечетное, она изменит цвет. Все прочие клетки креста переключатся по 10 раз и, следовательно, сохранят свой цвет. Все остальные клетки поля вне креста переключатся по 2 раза и тоже сохранят цвет.

Теперь решим задачу для произвольного узора. Будем перебирать все клетки узора в произвольном порядке одну за другой, каждую по одному разу. Каждую клетку узора будем "переключать" описанным выше способом. Если число клеток узора n, то нам потребуется 15n щелчков.

Существует и другой способ. Будем перебирать все клетки доски в произвольном порядке одну за другой, каждую по одному разу. Для каждой клетки поля будем определять, сколько клеток надо переключить в сопряжённом с ней кресте. Если это число нечётное, на этой клетке надо "щёлкнуть", если оно чётное - "щёлкать" не надо. Этот способ гарантирует, что абсолютно любой узор можно получить максимум за 64 щелчка.