NEXT ic% FOR ist% = 1 TO 13 'раскладка стопок на столе
SELECT CASE ist% 'выбор позиции по номеру стопки CASE 1 ТО 7: row% = 2: column% = 8 * ist% + 5 CASE 8: row% = 14: column% = 3 CASE 9 ТО 12: row% = 9 * ist% - 76: column% = 72 CASE 13: row% = 23: column% = 3 END SELECT
last% = ptrs(ist%) 'количество карт в стопке IF last% = О THEN 'при пустой стопке card% = 60 ' код места для стопки GOSUB drawcard ELSE
IF ist% < 8 THEN 'для верхнего ряда стопок
FOR jst% = 1 ТО last% - 1 'с первой карты до предпоследней card% = stacks(ist%, jst%) 'код карты IF card% > О THEN GOSUB drawcard: row% = row% + 1 NEXT jst% END IF
card% = stacks(ist%, last%) 'код верхней карты GOSUB drawcard END IF SLEEP 1 NEXT ist% END
Полный текст игровой программы под названием SOLIT . ВАЗ приведен в "Приложениях". В ней реализуются следующие правила перемещения карт, сформулированные применительно к номерам стеков:
• в стеки 9-12 карты могут перекладываться из стеков 1 - 8 в соответствии с мастями находящихся там карт строго по порядку возрастания ранга (то есть по порядку номеров),
• в любой из пустых стеков 9-12 может быть положен только туз,
• в стеки 1-7 карты могут перекладываться из стеков 1-12 строго по убыванию ранга, но с чередованием цвета масти,
• в пределах стеков 1-7 разрешается перемещать стопки открытых карт,
• если при снятии карты сверху в стеках 1-7 оказалась закрытая карта, то ее можно открыть,
• если какой-либо из стеков 1 - 7 оказался пустым, то в него разрешается положить только короля,
• в стек 8 перекладывается по одной карте лицевой стороной вверх из стека 13,
• если стек 13 пустой, то в него можно одновременно переложить все карты из стека 8 лицевой стороной вниз.
Для выбора "источника" и "приемника" в этой программе используется мышь, что значительно удобнее клавиатуры. Для выбора источника необходимо поместить курсор на изображение карты и нажать любую кнопку мыши. На изображение выбранного источника указывает маркер в виде стрелки. Выбор источника можно отменить, повторно указав на ту же карту. При корректном выборе приемника программа перемещает изображение карты или стопки карт на указанное мышью место по нажатию лю-