Основные цвета их светлые оттенки
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. Нужно организовать заставку к игре «Смертельная битва». Пусть слово «Смертельная» движется слева направо, а «битва» - немного ниже справа налево. Дойдя до середины, слова должны остановиться.
Движение организуем так: в цикле верхнее слово ставим каждый раз правее, а нижнее – левее. Чтобы за словами не оставался след, мы верхнее слово начинаем с пробела (который затирает предыдущую букву), а нижнее слово оканчиваем пробелом. Начальные и конечные координаты подбираем так, чтобы слова в последний раз стали ровно посередине экрана. Чтобы при движении курсор не моргал около слова, мы отключаем его.
|
Команда sleep(50); позволяет замедлить движение.
Второй пример: Пусть слово «МЯЧИК» летает по экрану, отражаясь от его краёв. При каждом отражении слово меняет цвет. Остановка движения – по нажатию любой клавиши. Движение организуем так. Ставим слово в текущих координатах, делаем паузу и стираем слово (написав на его месте пробелы). Затем меняем координаты и ставим его на новом месте.
Следующая задача – более сложная, уже целый проект: Написать программу – клавиатурный тренажёр. В пустом окне сверху вниз движется случайно выбранная русская заглавная буква случайного цвета (след не затирается). Если нажать клавишу с этой буквой, новая буква начнёт падать в новом столбце. Если нажать неправильный символ, увеличивается счётчик ошибок, а буква продолжает падение. Если буква доходит до конца столбца, новая буква появляется в соседнем столбце. Когда заканчивается последний столбец, окно очищается, и выводятся результаты. Чем раньше мы нажимаем правильную букву, тем больше пустой остаток в данном столбце. Сумма таких остатков и будет нашим результатом – очками.
Для выбора случайной буквы мы придумаем случайный номер буквы (в пределах от 1 до 33) и возьмём её под этим номером из алфавита, который хранится в строковой переменной. (Подробности о работе со строками - при изучении этой темы).
Дата добавления: 2014-12-18; просмотров: 964;