В первой части программы производится вывод на экран изображения коробочки и фишек.

DEFINT I-N

DIM Sqrs<16) AS INTEGER 'массив для кодов фишек

CLS

Тор$ = CHR$(201): Shelf$ = CHR$(199)

Bottom$ = CHR$(200): Wall$ = CHR$(186)

FOR I = 1 TO 3

Top$ = Top$ + CHR$<205) + CHR$(205) + CHR$(209) Shelf $ = Shelf $ + CHR$(196) + CHR$(196) + CHR$(197) Bottom$ = Bottom$ + CHR$(205) + CHR$(205) + CHR$(207) Wall$ = Wall$ + CHR$(32) + CHR$(32) + CHR$(179)

NEXT

Top$ = Top$ + CHR$(205) + CHR$(205) + CHR$(187)

Shelf$ = Shelf$ + CHR$(196) + CHR$(196) + CHR$(182)

Bottom$ = Bottom$ + CHR$(205) + CHR$(205) + CHR$(188)

Wall$ = Wall$ + CHR$(32) + CHR$(32) + CHR$ (186)

PRINT Top$: PRINT Wall$ 'построение рамки

FOR I = 2 TO 4

PRINT Shelf$: PRINT Wall$

NEXT

PRINT Bottom$;

Затем задается псевдослучайное расположение фишек.

FOR I = О ТО 14: Sqrs(I) =1+1: NEXT I

'формирование исходного состояния Sqrs<15) = 0 RANDOMIZE TIMER FOR IC = О ТО 13

JC = INT(RND * (15 - IC)) + IC

IF JC 0 IC THEN GOSUB ChSqrs NEXT

После этого производится подсчет количества беспорядков и в случае нечетности перестановка первой пары чисел в массиве.

GOSUB Mesh IF MC MOD 2 > О THEN

IC = 0: JC = 1: GOSUB ChSqrs END IF

Выбранная расстановка фишек выводится на экран и начинается цикл игры.

FOR I = О ТО 14: GOSUB ShSqr: NEXT I

'вывод исходного состояния DO 'начало цикла игры

По нажатию клавиши со стрелкой определяется направление сдвига или по нажатию клавиши q выход из цикла по желанию играющего.

DO: Кеу$ = INKEY$: LOOP UNTIL LEN(Key$) > О

'ввод с клавиатуры