COLOR 12: LOCATE 2*1+1-1, 5*]-1: PRINT CHR$ (219) ;

DO 'начало цикла игры у$ = ""

DO: v$ = INKEY$: LOOP UNTIL (LEN(v$) > 1 OR v$ = CHR$ (13) ) ik = 0: ]k = 0 SELECT CASE RIGHT$ (v$ , 1)

CASE "P": 1k = 1

CASE "M": ]k = 1

CASE "K": :)k = -1

CAS'Е "H": ik = -1 END SELECT IF ik О О OR ]k О О THEN 'по нажатию стрелки

ii = i + ik: 33 = з + ]k

IF 11 < 1 THEN BEEP: ll = 1

IF ll > 10 THEN BEEP: 11 = 10

IF 3] < 1 THEN BEEP: 33 = 1

IF 33 > 10 THEN BEEP: 33 = 10

LOCATE 2*1+1-1, 5*3-1

PRINT " ";

1 = 11: 3 = 33

COLOR 12: LOCATE 2*1+1-1, 5*3-1: PRINT CHR$ (219) ;

Выбор квадрата осуществляется нажатием клавиши Enter При попадании на мину все квадраты с минами помечаются восклицательными знаками и программа выходит из цикла игры Если мины нет, то в квадрат выводится количество соседних мин или пробел в случае отсутствия мин в соседних квадратах В последнем случае программа выполняет автоматический выбор всех соседних квадратов свободных от мин

ELSE 'по нажатию Enter IF fld(i,3) > 8 THEN 'неудачный выбор FOR l = 1 ТО 10 FOR э = 1 ТО 10 kcol = fid (з., з) IF kcol > 8 THEN

LOCATE 2*1,5*3: COLOR 12 : PRINT " I " ;

END IF NEXT э NEXT l EXIT DO

ELSE 'благополучный выбор Ip = l: lp = з GOSUB show

IF fid(1,3) = 0 THEN cleared% = 1 DO WHILE cleared% > 0

'пока был открыт пустой квадрат cleared% = 0 'счетчик для show FOR ik = 1 ТО 10 FOR :)k = 1 ТО 10

IF SCREEN(2 * ik, 5 * ]k) = 32 THEN

'если около пустого квадрата FOR k = 1 ТО 8 lp = ik + di] (k) IF lp > 0 AND lp < 11 THEN 3p = ]k + di3(k + 2)