Найти в Дзене

Программирование на Бейсике. Псевдографика

Псевдографикой называют графические изображения, выполненные с помощью одного или нескольких символов. Соответственно, псевдографика выполняется в текстовом режиме.

Псевдографикой вполне можно назвать имя большими буквами, которое мы делали на 1 уроке.

Вот это – тоже псевдографика:

И вот это (если приглядеться, увидишь розу):

-2

Псевдографикой можно создать графический интерфейс программы. Раньше, кстати, так и делали. Вот пример:

-3

Подобные рамки и окошки создаются с использованием специальных символов таблицы ASCII. С некоторыми мы уже знакомы с урока работы с символьной информацией – вспомните результат функции CHR$(178).

Таблица спецсимволов с их кодами:

-4

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

Имейте в виду, что количество цветов для фона – всего 8: от 0 до 7. Цветов для переднего плана – 16: от 0 до 15. Поэтому, если вы планируете сделать фон номером цвета от 8 до 15, то необходимо его «зарисовать» символом с кодом 219 (см. таблицу). Например, заливка фона желтым цветом выглядит так:

-5

Здесь цикл с переменной «S» перебирает все строки от 1-й до 23-й, а вложенный в него цикла с переменной «P» перебирает все позиции в каждой строке, с 1-й до 80-й.

Внутри циклов мы последовательно помещаем курсор с помощью LOCATE в каждую позицию каждой строки и выводим там спецсимвол. В итоге у нас «как бы образуется» фон.

Проблема таких фонов в том, что если мы поверх него будем выводить какой-то текст, то для этого текста мы не сможем указать номер этого фона, т.к. его не существует. Поэтому нашли такое решение этой проблемы: текст выводят на окошке с фоном от 0 до 7.

Например, давайте выведем в центре экрана надпись «QBasic» красным цветом без окошка, попытавшись указать 14-й фон для текста. Получится вот что:

-6

Как и ожидалось, 14-й фон не сработал, вместо него Бейсик сделал 6-й фон. Поэтому красивее будет, если мы поместим надпись в окошко с существующим номером фона от 0 до 7. Чтобы долго не думать, сделаем фон 0:

-7

Повторите самостоятельно такой же результат.

Получился слишком яркий фон, который затеняет собой красную надпись. Это нехорошо. Давайте поменяем цвет текста на зеленый, а также добавим нашему окошку тень символом 176 цветом 14:

-8

При использовании тени пригодится функция STRING$.

На этом, вроде бы, все. Можно заканчивать. В задачнике по данной теме есть много интересных заданий, которые помогут вам «прокачать» свои навыки работы с циклами, используя псевдографику.

Комменты приветствуются, за палец вверх - отдельное спасибо. Удачи!

------------------------------

Список уроков Программирование на Бейсике для начинающих

Следующий урок Создание игры "Угадай число" с использованием псевдографического интерфейса

Предыдущий урок Основные операторы текстового режима

------------------------------

Задания

1. Вывести в центре экрана крест с лучами одного размера. Использовать символ с кодами 176-178 или 219, на ваш выбор. Крест должен занимать всю высоту экрана.

2. Вывести в центре экрана прямоугольник. Горизонтальная и вертикальная стороны должны быть равны соответственно половине ширины и высоты экрана. Символ любой.

  • Незакрашенный прямоугольник.
  • Закрашенный прямоугольник.

3. Вывести диагональный крест в центре экрана. Высота креста должны соответствовать высоте экрана. Символ 254.

4. Рисуем флаги.

  • Флаг Германии. Ширина во всю ширину экрана, высота 21 строка. Символ любой.
  • Флаг Франции. Ширина 78 символов, высота во всю высоту экрана. Символ любой.
  • Флаг Швеции. Во весь экран. Символ любой.
  • Флаг Норвегии. Во весь экран. Символ любой.
Наука
7 млн интересуются