Дедукция
Когда игрок проигрывает, функция showSolution создает пять новых экземпляров клипа и с их помощью отображает правильный вариант. В ролике, это решение располагается в нижней части игрового поля.
function
showSolution() {
// Размещаем правильный вариант внизу экрана.
for
(i
=
0
; i
<
5
; i
+
+
) {
attachMovie(
"rock"
,
"solution"
+
i,
1001
+
i);
clip
=
_root[
"solution"
+
i];
clip._x
=
solutionx
+
i
*
horizSpace;
clip._y
=
solutiony;
clip.foroAndStop(solution[i]
+
2
);
}
}
На рис. 14.6 показан фрагмент ролика, когда игра уже проиграна. Функция showSolution поместила правильную последовательность (решение) внизу экрана.
Рис. 14.6. Игра проиграна, код поместил правильную последовательность решения внизу экрана
Единственный оставшийся фрагмент кода – небольшой сценарий, прикрепленный к кнопке в каждом клипе "rock". Его задача состоит в том, чтобы переключать цвета один за другим и возвращаться к первому кадру (пустому месту), если пользователь щелкнул определенное число раз. Этот код также проверяет свойство active, чтобы убедиться, что ряд – текущий.
on
(press) {
if
(active) {
f
=
_currentFrame
+
1
;
if
(f
>
6
)
f
=
1
;
gotoAndStop(f);
}
}
К сведению
He забудьте присвоить последним двум кадрам клипа "rock" метки "white” и "black". Также обязательно поместите кнопку Done внутрь клипа "done", которому потом необходимо присвоить имя "done" в панели Linkage Properties. К сожалению, это необходимо, так как ActionScript не может динамически создавать кнопки сами по себе. Считайте, что клип "done" – это просто "обертка" для кнопки Done.
Другие возможности
Важно помнить о том, что если вы хотите изменить какие – либо элементы игры, надо соответственно подкорректировать константы, представленные в начале кода. Если вы не будете о этом забывать, с игрой можно делать практически что угодно.
Чтобы изменить уровень сложности игры попробуйте изменить количество попыток угадать решение. Также можно увеличить или уменьшить число цветов и мест для них.