русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Основные цвета их светлые оттенки


Дата добавления: 2013-12-23; просмотров: 887; Нарушение авторских прав


Библиотека CRT

Паскаль содержит небольшое число встроенных команд, но зато может расширять свои возможности за счёт создания новых команд. Не обязательно описывать новые команды прямо в тексте программы. Можно подключить описания, хранящиеся в отдельных файлах – модулях. Универсальные модули, пригодные для подключения ко многим программам называются библиотеками. Библиотеки группируют команды по темам, например, библиотека, отвечающая за мультипликацию, библиотека, организующая вывод музыки и т.д… Некоторые библиотеки входят в поставку PascalABC. Они называются стандартными библиотеками. К ним относится и библиотека CRT. При её подключении возникает специальное текстовое окно для ввода и вывода. Большинство команд из CRT относятся к управлению выводом текста в это окно. Но в CRT входят также команды управления клавиатурой.

Для подключения к программе библиотеки используется команда USES, после которой указывается одна или (через запятую) несколько библиотек (например, uses crt; ). Эта команда располагается в следующей после заголовка строке, до других описаний.

При включении в программу библиотеки CRT, можно использовать такие новые команды:

 

1. TextSize(высота); Устанавливает размер символов в пунктах (по умолчанию 10 пунктов). Пункт - отрезок 1/3 мм.

2. CRTWindowSize(ширина,высота); Устанавливает размер текстового окна в символах.

3. Window(x1,y1,x2,y2); Определяет на экране текущее окно (в котором в дальнейшем будет происходить весь ввод-вывод). Устанавливает курсор в левый верхний угол текущего окна. Координаты задаются в символах текущего размера.

4. ClrScr; Очищает цветом фона все текстовое окно (или текущее окно, установленное процедурой window). Устанавли­вает курсор в левый верхний угол очищенного окна.

5. ClrEol; Очищает все символы с позиции курсора до конца строки без перемещения курсора.



6. DelLine; Удаляет строку, содержащую курсор.

7. InsLine; Вставляет пустую строку в позиции курсора.

8. HideCursor; Скрывает текстовый курсор.

9. ShowCursor; Делает текстовый курсор видимым.

10. TextBold; Устанавливает жирный стиль символов.

11. TextNormal; Устанавливает нормальный стиль символов.

12. TextColor(цвет); Устанавливает цвет текста, печатаемого после этой команды. Цвета, используемые в этой и следующей команде, указываются либо числом, либо английским словом-константой:

0 Black чёрный   8 DarkGray тёмно-серый
1 Blue синий   9 LightBlue светло-синий
2 Green зелёный   10 LightGreen светло-зелёный
3 Cyan бирюзовый   11 LightCyan голубой
4 Red красный   12 LightRed светло-красный
5 Magenta малиновый   13 LightMagenta сиреневый
6 Brown коричневый   14 Yellow жёлтый
7 LightGray серый   15 White белый

13. TextBackGround(цвет); Устанавливает цвет фона позади печатаемых после этой команды символов. Если после этой команды применить ClrScr, то поменяется цвет всего окна.

14. GotoXY(x,y); Перемещает курсор в позицию (x,y). Ближайший ввод или вывод начнётся с этой позиции.

15. ScrollingOff; / ScrollingOn; Отключает / включает прокрутку при выводе.

 

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

16. Ожидание нажатия одного символа: readkey; В разделе VAR объявляется переменная типа char для хранения одного символа. Используется она так: kl:=readkey;

17. В некоторых случаях нужно посмотреть нажатую клавишу, не ожидая её нажатия (не нажато, ну что ж, пойдём дальше). В этих случаях удобно использовать функцию keypressed; булевского типа. Она даёт true, если нажата хоть какая-нибудь клавиша и false, если ничего не нажато.

Обычно readkey и keypressed используют совместно: если нажато, посмотрим, что нажато. Например, if keypressed then kl:=readkey;

 

 

Рассмотрим пример задачи с использованием библиотеки CRT. Нужно организовать заставку к игре «Смертельная битва». Пусть слово «Смертельная» движется слева направо, а «битва» - немного ниже справа налево. Дойдя до середины, слова должны остановиться.

Движение организуем так: в цикле верхнее слово ставим каждый раз правее, а нижнее – левее. Чтобы за словами не оставался след, мы верхнее слово начинаем с пробела (который затирает предыдущую букву), а нижнее слово оканчиваем пробелом. Начальные и конечные координаты подбираем так, чтобы слова в последний раз стали ровно посередине экрана. Чтобы при движении курсор не моргал около слова, мы отключаем его.

 
 
program zastavka; uses crt; var x1,x2:integer; begin TextSize(12); //Зададим размер символов CRTWindowSize(80,25); //Зададим размер экрана Textbackground(0); clrscr; //Затемним и очистим экран textcolor(12); //Зададим красный цвет текста x1:=1; x2:=69; //Задаём начальные координаты слов HideCursor; //Отключим курсор repeat gotoxy(x1,12); write(' СМЕРТЕЛЬНАЯ'); //Верхнее слово gotoxy(x2,14); write('БИТВА '); //Нижнее слово sleep(50); //Делаем задержку x1:=x1+1; x2:=x2-1; //Перемещаем слова until x1>33; end.

 


Команда sleep(50); позволяет замедлить движение.

Второй пример: Пусть слово «МЯЧИК» летает по экрану, отражаясь от его краёв. При каждом отражении слово меняет цвет. Остановка движения – по нажатию любой клавиши. Движение организуем так. Ставим слово в текущих координатах, делаем паузу и стираем слово (написав на его месте пробелы). Затем меняем координаты и ставим его на новом месте.

 
 

 

 


Следующая задача – более сложная, уже целый проект: Написать программу – клавиатурный тренажёр. В пустом окне сверху вниз движется случайно выбранная русская заглавная буква случайного цвета (след не затирается). Если нажать клавишу с этой буквой, новая буква начнёт падать в новом столбце. Если нажать неправильный символ, увеличивается счётчик ошибок, а буква продолжает падение. Если буква доходит до конца столбца, новая буква появляется в соседнем столбце. Когда заканчивается последний столбец, окно очищается, и выводятся результаты. Чем раньше мы нажимаем правильную букву, тем больше пустой остаток в данном столбце. Сумма таких остатков и будет нашим результатом – очками.

Для выбора случайной буквы мы придумаем случайный номер буквы (в пределах от 1 до 33) и возьмём её под этим номером из алфавита, который хранится в строковой переменной. (Подробности о работе со строками - при изучении этой темы).

 
 

 




<== предыдущая лекция | следующая лекция ==>
Лаб. 9. Задачи с условными циклами | Лаб. 10. Задачи с использованием циклов и библиотек CRT и SOUNDS


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.007 сек.