цветом и задания номеров столбца и строки ответственна вызывающая программа.

Предлагаемая подпрограмма строит изображения карт размером /строк по 7 столбцов, используя псевдографические и алфавитно-цифровые символы, а также нестандартные символы карточных мастей (коды с 3 по 6). Последние позволяют построить довольно хорошие изображения туза и простых карт от двойки до десятки. Что касается "картинок", то здесь пришлось ограничиться надписями на английском:

JACK (валет), QUEEN (дама) и KING (король).

Изображения немного напоминают те самодельные карты, которыми в недоброй памяти времена пользовались в местах не столь отдаленных, но зато цвет фона получился как в лучших домах Филадельфии и Бостона, когда там играли за карточными столами крытыми зеленым сукном.

Номера карт закодированы следующим образом:

• с 1 по 13—черви,

• с 14 по 26—бубны,

• с 27 по 39 — трефы,

• с 40 по 52 — пики,

• каждая группа кодов (масть) начинается с туза, затем следует двойка и далее по старшинству.

Демонстрационная программа, составленная для отладки подпрограммы, устанавливает текстовый режим с 43 строками, очищает экран и создает фон зеленого цвета. В этой программе объявлен массив из 7 строк по 7 символов для создания изображений, а также заданы "пустая" строка для лицевой стороны и пара строк ("четная" и "нечетная") для вывода изображения обратной стороны.

Затем в циклической части производится вызов подпрограммы построения изображений карт, причем значения координат и номера карт задаются таким образом, чтобы разложить все карты колоды в стопки по мастям. По окончании циклической части программа демонстрирует вывод оборотной стороны и стирание изображения. Для удобства восприятия используется задержка 1 с.

DIM a(l ТО 7) AS STRING * 7

SCREEN 0

WIDTH 80, 43

empty$ == CHR$(249)+" -"+CHR$(249)

odd$ = CHR$(219)+CHR$(176)+CHR$(219)+CHR$(176)+CHR$(219)+

CHR$(176) + CHR$(219)

even$ = CHR$(176)+" "+CHR$ (176)+" "+CHR$ (176)+" "+CHR$ (176)

COLOR 0, 2

CLS

FOR jet = 1 TO 52

row% = <jc% - 1) \ 4 + 2: temp% = (jc% - 1) MOD 4+1

column's. = 17 * tempt - 16 + row%: card% = 13 * temp% + row% - 14

GOSUB drawcard

SLEEP 1 NEXT jc%

card% = -1: row% = 25: column% = 35 GOSUB drawcard