Comment
Author: Admin | 2025-04-28
Как написать игру? Это очень сложный и трудный вопрос. Что же попробуем ответить на него с практической точки зрения или стороны, как Вам угодно. Рассмотрим игру сапер (минер). Готовая флешка игры сапер (минер) онлайн взята с сайта - http://flash-game-online.narod.ru/. Луше всего показывать алгоритм игры с примера Игра сапер (минер) онлайн - для установки флажка нажмите на флажок сверху левой кнопкой мышки и перенесите его на клетку, для фиксации нажмите еще раз левой кнопкой мыши - для отмены флажка необходимо его еще раз перенести его на эту клетку - для начала новой игры нажмите на иконку смайлика Алгоритм игры сапер (минер) Всем Вам прекрасно известно про игру сапер (минер) – правильно ее назвыть сапер, а не минер , которая запускается и работает под Windows. Игра представляет собой прямоугольное поле состоящее из клеток. Среди всехэтих полей расположено какое-то количество мин, при попадании на которые игра оканчивается. Здесь уместно выражение – «Сапер ошибается один раз». Соответственно все клетки скрыты и игрок предварительно не знает, под какой клеткой что. После попадания на пустую клетку, где нет мины. Игрок в минера увидит информацию в форме цифр, сколько мин находится рядом. Обладая подобной информацией игрок может просчитать расположение ближайших бомб или отсутствие таковых. Игра оканчивается тогда, когда пользователь находит все мины. Вот в этом и заключен алгоритм игры сапер (минер). Функциональная структура Реализация игры сапер следующая: 1. Подготовка, на этом этапе нам необходимо сформировать поле и расставить мины. Следующий момент подготовки – расставить цифры на поле, информирующие нас о количестве бомб. 2. Сам процесс игры. Игрок выбирает клетку. После выбора анализируем, значение проверяем на результат – конец игры, продолжить или выигрыш. Программная реализация Рассмотрим программную реализацию. Пока в общих словах, дальше попробуем добавить более подробный пример и коды Сгенерировать мины на поле можно с помощью следующего псевдо-кода: …int n,m; // размеры поля mxnint Field[nxm]; // само поле// расставим мины на полеfor(i=0; inum_mines;i++) Field[rand()%nxm]=-1;// Установим информацию на пустых клетках о количестве мин находящихся рядомfor(i=0;in;i++)for(j=0;jm;j++){mine_counter=0;if(Field[i+m*j-1]==-1)mine_counter++; // есть мина слева?if(Field[i+m*j+1]==-1)mine_counter++; // есть мина справа?if(Field[i+m*(j-1)]==-1)mine_counter++; // есть мина вверху?if(Field[i+m*(j+1)]==-1)mine_counter++; // есть мина внизу относительно текущей клетки?// так же пройдем по краямif(Field[i+m*(j+1)+1]==-1)mine_counter++;if(Field[i+m*(j-1)-1]==-1)mine_counter++;if(Field[i+m*(j+1)-1]==-1)mine_counter++;if(Field[i+m*(j-1)+1]==-1)mine_counter++;// +---------+------------+---------+// | клетка1 | клетка2 | клетка3 |// | клетка4 | текущ. поз | клетка6 |// | клетка7 | клетка8 | клетка9 |// +---------+------------+---------+Field[i]=mine_counter; // сохраним о количестве мин}… Проверить куда нажали кнопкой можно так. …int pos; // входящая позиция от мышкиif(Field[pos]==-1)user_message="you loose, try again"; // проиграли… Вот собственно и все. Чтобы игрушка сапер (минер) получилась красочной, необходимо добавить чуточку графики. Об этом чуть позже... К стати, если Вы знаете язык action script и имеете опыт работы во флеш, то сможете написть сапер (минер) онлайн.
Add Comment