FOR i% = 8 ТО 12: ptrs(i%) = 0: NEXT i%
'стопки с 8 по 12 пустые last% = 52
FOR ic% = 1 ТО 7 'цикл раскладки по уровням FOR jc% = ic% ТО 7 'цикл раскладки по стопкам i% = 1 + RND * (last% - 1)
'выбор номера карты в колоде card% = stacks(13, i%) 'извлечение карты из колоды stacks(13, i%) = stacks(13, last%)
'последняя карты на месте извлеченной last% = last% - 1 'уменьшение размера колоды IF ic% = jc% THEN card% = -card%
'переворачивание верхней карты
stacks(jc%, ic%) = card% 'укладывание карты в стопку NEXT jc%
ptrs(ic%) = ic% 'количество карт в стопке МЕХТ ic%
ptrs(13) = last% FOR ish% = 1 ТО 13 'раскладка стопок на столе
GOSUB showcards NEXT ish% 'игровой цикл DO
enough% = 0
mymouse(16) = 1 'показать курсор CALL absolute(mouseptrfi)
mark% = 0 'признак чтения адреса источника GOSUB readpos
IF enough% = 1 THEN EXIT DO 'выход по выбору игрока IF ist% = 13 THEN 'работа со стеком 13 IF jst% > 0 THEN 'перекладывание карты в стек 8 ipri% = ptrs(8) + 1: iist% = ptrs(13) stacks(8, ipri%) = -stacks(13, iist%) ptrs(8) = ipri%: ptrs(13) = iist% - 1 ELSE 'возврат всех карт из стека 8 last% = ptrs(8) : ist% = 8 FOR ic% = 1 ТО last%
stacks(13, ic%) = -stacks(8, last% + 1 - ic%) NEXT ic%
ptrs(8) = 0: ptrs(13) = last% pri% = 13 END IF
mymouse(16) = 2 'спрятать курсор CALL absolute(mouseptrf)
ish% = 8: GOSUB showcards 'показ стопок ish% = 13: GOSUB showcards
ELSE 'работа со стеками с 1 по 12 new% = stacks(ist%, jst%)
IF new% < 0 THEN 'переворачивание карты в стеках с 1 по 7 mymouse(16) = 2 'спрятать курсор CALL absolute(mouseptrfi) stacks(ist%, jst%) = -newt ish% = ist%: GOSUB showcards 'показ карты ELSE 'адрес приемника с 1 по 7 или с 9 по 12