Скачать Новогодняя шутка - Елочка

17.06.1994
Скачать файл (43,72 Кб)




!ChrTree.pas - это новогодняя шутка для программистов на
Паскале - изложение известной новогодней песенки на TP 6.0. Вы
можете клавишей F8 выполнить программу пошагово и убедиться,
что назначение каждой процедуры соответствует ее названию -
строке песенки.

    Назначение модулей:

TreeGvar (Global VARiables) - глобальные переменные и констан-
           ты, в т.ч. цвета, количество снежинок и пр., длитель-
           ности процессов и т.д.
TreeInit - инициализация программы, разбор параметров, справоч-
           ный экран.
TreeMain - основные подпрограммы - детализация процедур !ChrTree.pas
MainUtil - детализация процедур TreeMain.pas
TreeUtil - различные вспомогательные подпрограммы, в т.ч. изме-
           нение палитры EGA.
TreGraph - обеспечивает одновременное выполнение фоновой и
           foreground графики.
TreMusic - фоновая музыка.
EgaVga.obj - драйвер EgaVga.

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

    Некоторые комментарии к TreGraph: процедуры, начинающиеся с
Tree - это вызов соответствующих процедур модуля Graph с уста-
новлением признака, что в данный момент работает графика, чтобы
предотвратить их прерывание фоновыми PutPixel и GetPixel (иначе
на экране будет твориться безобразие). Остальные процедуры, пе-
ременные и т.п. - просто вызов одноименных вещей из Graph. Они
вынесены в TreGraph только для того, чтобы в других модулях не
писать uses Graph и тем самым исключить случайную ошибку - вы-
зов какой-либо графической процедуры без установления признака
ее работы. На результат их вынос в TreGraph никак не влияет -
файл EXE от этого совершенно не меняется.

    Чтобы убедиться, что мелодия и мигание звезд - фоновые,
можно в процессе выполнения программы нажать Pause.