RETURN

drsqr: 'построение изображения поля доски с фишкой i = (k - 1) \ 8 + 1: з = (k - 1) MOD 8+1

LIME (26 * i + 26, 21 * j - 15)-(26 * i + 50, 21 * j + 4) , 8, BF temp% = rvr(i, j) IF temp% О О THEM icol = 3 + tempt

CIRCLE (26 * i + 38, 21 * j - 6), 10, icol PAINT (26 * i + 38, 21 * j - 6), icol

IF tempt > 0 THEN kfrst = kfrst + 1 ELSE kscnd = kscnd + 1 END IF RETURN

getlst: 'составление списка возможных ходов ptr =0: kr = 3 - 2 * kpir FOR k = 1 TO 64

i = (k - 1) \ 8 + 1: j = (k - 1) MOD 8+1 IF rvr(i, j) =0 THEN 'фишку ставят в пустую клетку FOR kd = 1 ТО 8 'цикл по направлениям GOSUB chck 'проверка по направлению IF ОК% = 1 THEN 'занесение в список ptr = ptr + 1 1st (ptr) = k

EXIT FOR 'достаточно одного направления END IF NEXT kd END IF NEXT k RETURN

chng: 'изменение состояния фишек k = Ist(kptr)

i = (k - 1) \ 8 + 1: j = (k - 1) MOD 8+1 rvr(i, j) = kr

FOR kd = 1 TO 8 'цикл по направлениям GOSUB chck 'проверка по направлению IF OK% = 1 THEN 'замена цвета фишек на свой DO

ii = ii - id: jj = jj - jd rvr(ii, jj) = kr LOOP UNTIL i = ii AND j = jj END IF NEXT kd

GOSUB showscore 'показ доски RETURN chck:

'проверка возможности хода для заданных позиции и направления ii = i: id = dij (kd) 33 = j: jd = -dij(kd + 2)

OKt = 0: knext = 0 ' признак первого шага DO 'шаги по дальности ii = ii + id: IF ii < 1 OR ii > 8 THEN EXIT DO

'границы по горизонтали 3J =° 33 + Jd: IF jj < 1 OR 33 > 8 THEN EXIT DO

'границы по вертикали temp% = rvr(ii, jj)