Приложения__________________________________ 253

CASE 13: а(4) = CHR$(249) + "KING " + CHR$ (249) END SELECT a(5) = a(3): a(6) = a(2)

END IF END IF j% = row%

FOR i% = 1 TO 7 'показ карты LOCATE j%, clmn% PRINT a(i%) ;

j% = j% + 1 NEXT it COLOR 7, 0 RETURN 'показ стопки showcards:

SELECT CASE ish% 'выбор позиции по номеру стопки CASE I TO 7: row% = 2: clmn% = 8 * ish% + 2 CASE 8: rowt = 2: clmn% = 2 CASE 9 ТО 10: row% = 2: clmn% = 8 * ish% - 6 CASE 11 ТО 12: row% = 10: clmn% = 8 * ish% - 22 CASE 13: row% = 10: clmn% = 2 END SELECT

last% = ptrs(ish%) 'количество карт в стопке IF last% = О THEN 'при пустой стопке card% = 60 'код места для стопки GOSUB drawcard ELSE

IF ish% < 8 THEN 'для верхнего ряда стопок

FOR jsh% = 1 ТО last% - 1 'с первой карты до предпоследней card% == stacks(ish%, jsh%) "код карты IF card% > 0 THEN GOSUB drawcard: row% = row% + 1 NEXT jsh% END IF

card% = stacks(ish%, last%) "код верхней карты GOSUB drawcard END IF RETURN

'чтение номера стека и позиции в стеке readpos:

mymouse(16) = 3 'читать состояние курсора DO

ist% = 0

CALL absolute(mouseptr&)

IF mymouse(17) * oldm% > 0 THEN

'срабатывает в момент нажатия i% = mymouse(18): j% = mymouse(19) IF j% > 160 THEN enough% = 1: RETURN

'выход по желанию игрока IF i% MOD 64 > О AND j% > 0 THEN

i% = i% \ 64 ' определение позиции по горизонтали SELECT CASE i% 'определение позиции по вертикали CASE I TO 7 'для стеков с 1 по 7 temp% = ptrs(i%) IF temp% > 0 THEN 'стек не пустой