После всего этого данный раздел должен быть для вас легкой задачей! Мы будем рассматривать код, необходимый для начала игры крестики-нолики, перезапуска игры, и определения, закончилась ли игра и кто (если кто-то есть) выиграл – все основные моменты.
Как упоминалось в прошлом разделе, в крестиках-ноликах есть девять клеток, одна для каждого возможного хода, или область игры. Также в игре есть клип с именем экземпляра popup. Этот клип содержит четыре ключевых кадра. Первый пуст. Следующий, имеющий метку Game Started, отображается, когда игра начинается; он информирует игрока, куда движется игра и чей ход. Следующий ключевой кадр имеет метку Game Over. Когда игра закончена, отображается этот кадр. Он может отображать любое из трех сообщений: “You won!”(«Вы победили!»), “You lost! ”(«Вы проиграли»), или “Game over. There is no winner”(«Игра окончена. Победителя нет»). Последний ключевой кадр имеет метку Player Left. Этот кадр появляется, когда ваш соперник покидает игру (покидает комнату или чат).
Выберите кадр Game в слое Game Actions и откройте панель Actions. Первая строка выглядит так:
gameInPlay =false;
Это означает, что игра еще не началась. Когда игра начата, эта переменная устанавливается в true. Когда она равна false, пользователь не может получить отклик на нажатие клетки.
Далее в кадре находится следующий условный оператор:
1 if (ES.player ==1){
2 myLetter ="x";
3 hisLetter ="o";
4 myTurn =true;
5}else {
6 myTurn =false;
7 myLetter ="o";
8 hisLetter ="x";
9}
Этот условный оператор прост, но важен. Если вы Игрок 1 (это означает, что переменная player равна 1), то myLetter имеет значение «x», а hisLetter имеет значение «o». Кроме того, myTurn установлена в true. Это означает, что если вы Игрок 1, то вы ходите первым и ваш символ X. Если вы не являетесь Игроком 1, то мы предполагаем (поскольку это игра для двух игроков), что вы являетесь Игроком 2