Информационный сервер для программистов: Исходники со всего света. Паскальные исходники со всего света
  Powered by Поисковый сервер Яndex: Найдется ВСЁ!
На Главную Pascal Форум Информер Страны мира
   Графические Игры    >>    chrtree
   
 
 Новогодняя шутка - Елочка  Василий Рабец 17.06.1994

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



42k 
 

!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. Если есть вопросы и замечания (которых, конечно, должно возникнуть много, потому что целью было только нарисовать текст .pas и картинки, соответствующие песенке, и не более того) - вот координаты, с удовольствием отвечу: e-mail: rabets@icph20.sherna.msk.su Адрес: 142 432 Московская обл. Ногинский р-н п. Черноголовка Школьный б-р, 18, кв. 241 Рабцу В.С. 23-11-92 В.С. Рабец