• Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
  • Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;


Иллюстрированный самоучитель по Delphi 7 для начинающих

Начало игры

В начале игры нужно расставить мины, затем для каждой клетки поля подсчитать, сколько мин находится в соседних клетках. Процедура NewGame (ее текст приведен в листинге 15.3) решает эту задачу.

Листинг 15.3. Процедура NewGame.

// новая игра – генерирует новое поле
procedure NewGame ();
row,col: integer; // координаты клетки (индексы массива)
n: integer; // количество поставленных мин
k: integer; // кол-во мин в соседних клетках
begin
// Очистим эл-ты массива, соответствующие клеткам
// игрового поля
for row: = 1 to MR do
for col: = 1 to MC do Pole[row,col]: = 0;
// расставим мины
Randomize О; // инициализация ГСЧ
n: = 0; // кол-во мин
repeat
row: = Random(MR) + 1;
col: = Random(MC) + 1;
if (Pole[row,col] <> 9) then begin
Pole[row,col]: = 9; n: = n+1;
end;
until (n = NM);
// для каждой клетки вычислим // кол-во мин в соседних клетках
for row: = 1 to MR do
for col: = 1 to MC do
if (Pole[row,col] <> 9) then
begin k: = 0;
if Pole[row-l,col-l] = 9 then k = k + 1;
if Pole[row-1,col] =' 9 then k = k + 1;
if Pole[row-1,col+1] = 9 then k = k + 1;
if Pole[row,col-1] = 9 then k = k + 1;
if Pole[row,col+1] = 9 then k = k + 1;
if Pole[row+1,col-1] = 9 then k = k + 1;
if Pole[row+1,col] = 9 then k = k + 1;
if Pole[row+l,col+l] = 9 then k: = k + 1;
Pole[row,col]: = k;
end;
status: = 0; // начало игры
nMin: = 0; // нет обнаруженных мин
nFlag: = 0; // нет поставленных флагов
end;

После того как процедура NewGame расставит мины, процедура showPole (ее текст приведен в листинге 15.4) выводит изображение игрового поля.

Листинг 15.4. Процедура ShowPole.

// Показывает поле
Procedure ShowPoie(Canvas: TCanvas; status: integer);
var
row,col: integer;
begin
for row: = 1 to MR do
for col: = 1 to MC do
Kletka(Canvas, row, col, status);
end;
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.