Приложения 237

ВЕЕР: IF pl% > О THEN i% = pl% ELSE i% = pr% 'задать его ELSE 'иначе DO 'начало цикла выбора варианта var% = var% * q% 'сменить вариант IF var% > О THEN i% = pl% ELSE i% = pr%

'задать позицию фишки LOCATE 13: PRINT S PACE $ (70)

'стереть старое положение указателя LOCATE 13, 12 + б * i%: PRINT "л"

'показать новое положение указателя DO: KEY$ = INKEY$: LOOP UNTIL LEN(KEY$) > 0 LOOP UNTIL KEX$ = CHR$(13) 'конец цикла выбора варианта END IF arws(empty%) = arws(i%): arws (i%) = 0

'изменить коды в массиве GOSUB arrow 'стереть изображение фишки на старом месте SWAP i%, empty%

GOSUB arrow 'создать изображение фищки на новом месте temp% = 0 'для проверки совпадения FOR i% = 1 ТО 4 'цикл проверки совпадения

temp% = temp% + arws(10 - i%) - arws(i%) 'счет совпадений NEXT i% IF temp% > 7 THEN

'если коды совпали с конечным положением фишек, то LOCATE 15, 30: COLOR 15, 0 'повышенной яркостью PRINT "УРА!!! Вы выиграли!" 'выдать поздравительное сообщение COLOR 7, О: EXIT DO

'восстановить яркость и закончить игру END IF

LOOP 'конец цикла игры SYSTEM END

arrow: 'подпрограмма вывода изображения фишки SELECT CASE arws(i%) 'выбор по коду фишки CASE IS = -1 'в случае кода синей фишки COLOR 4, 1 'красные символы на синем фоне smb$ = " " + CHR$(17) + " "

'треугольник, указывающий налево CASE IS = 0 'в случае кода пустого места

smb$ = " " 'пустая строка

CASE IS = 1 'в случае кода красной фишки COLOR 1,4 'синие символы на красном фоне smb$ = " " + CHR$(16) + " "

'треугольник, указывающий направо

END SELECT 'конец оператора выбора clmn% = 10 + 6 * i% 'вычисление положения столбца LOCATE 10, с1пю%: PRINT " " 'построение верхней трети фишки LOCATE 11, clmn%: PRINT smb$ 'построение средней трети фишки LOCATE 12, clmn%: PRINT " " 'построение нижней трети фишки COLOR 7, 0 " 'восстановление цвета и фона RETURN 'возврат из подпрограммы