bdd2

"В лесу родилась ёлочка" в интерпретации 1С

Опубликовал Евгений Мартыненков (JohnyDeath) в раздел Сообщество - Архив

Давным-давно видел интерпретацию всем известной песенки "В лесу родилась ёлочка" под код Delphi (к сожалению, автора не знаю). Недавно наткнулся снова и снова улыбнулся. Решил переложить код в 1С. Смотрим что получилось. ;)
Процедура Лес()
	Ёлочка = СоздатьОбъект("Ёлка");	
	Пока Ёлочка.Жива()=1 Цикл
		Ёлочка.Возраст=Ёлочка.Возраст+1;
		Если (ТекущееВремяГода()="Зима") или (ТекущееВремяГода()="Лето")  Тогда
			Ёлочка.Стройность = 1;
			Ёлочка.Цвет = глПолучитьЦвет("Зеленый");
		КонецЕсли;
		
		Метель = СоздатьОбъект("Метель");
		Метель.ОткрытьФайл("D:\Music\NSYNC - Bye Bye Bye.mp3");
		Система.Уснуть(1000);
		Метель.Воспроизвести();
		
		Мороз = СоздатьОбъект("Мороз");
		Мороз.Укутать(Ёлочка);
		Если Ёлочка.Замерзла()=1 Тогда
			Ёлочка.Жива(0); 
			Возврат;
		КонецЕсли;
		
		Заяц = СоздатьОбъект("Заяц");
		Заяц.Трусливый = 1;
		Заяц.Цвет = глПолучитьЦвет("Серый");
		ЛК = Ёлочка.ЛеваяКоордината;
		ВК = Ёлочка.ВерхняяКоордината;		
		Пока 1=1 Цикл
			Заяц.ЛеваяКоордината = ЛК;
			ЛК=ЛК+1;
			Заяц.НижняяКоордината = ВК + Окр(abs(sin(ЛК*pi/180)*10)); 
		КонецЦикла;
		
		КомандаСистемы("wolf3d.exe /evil");
		
		СкопироватьВБуфер(Ёлочка);
		Праздник = СоздатьОбъект("Праздник");
		ВставитьИзБуфера(Ёлочка, Праздник);
		Ёлочка.ЗагрузитьСкинИзФайла("нарядная.jpg");
		Дети = СоздатьОбъект("Дети");
		Для й=1 По Ёлочка.Радость.РазмерСписка() Цикл
			Дети.Настроение=Дети.Настроение+Ёлочка.Радость.ПолучитьЗначение(й);
		КонецЦикла;
	КонецЦикла;
КонецПроцедуры //Лес()

См. также

Добавить вознаграждение
Комментарии
1. Евгений Мартыненков (JohnyDeath) 291 24.01.08 12:53 Сейчас в теме
Будут предложения/замечания?
2. Герман (German) 919 24.01.08 17:16 Сейчас в теме
Надо в коментах песню пустить ... а то целиком в код погружаешься
3. Александр Лысковец (sterling) 24.01.08 17:45 Сейчас в теме
Пока 1=1 Цикл
Заяц.ЛеваяКоордината = ЛК;
ЛК=ЛК+1;
Заяц.НижняяКоордината = ВК + Окр(abs(sin(ЛК*pi/180)*10));
КонецЦикла;

тут меня зациклило ))
zveruganet; +1 Ответить 2
4. Евгений Мартыненков (JohnyDeath) 291 24.01.08 18:29 Сейчас в теме
(3) ну да, наверное точнее будет так:
Код
Пока (Заяц.Устал()=0) и (Ёлочка.Жива()=1) Цикл
Заяц.ЛеваяКоордината = ЛК;
ЛК=ЛК+1;
Заяц.НижняяКоордината = ВК + Окр(abs(sin(ЛК*pi/180)*10)); 
КонецЦикла;
Показать полностью
5. Сhe Burashka (CheBurator) 25.01.08 00:56 Сейчас в теме
поржал реально.. особенно про зайца
6. rutony rutony (rutony) 54 25.01.08 15:21 Сейчас в теме
7. script Мальчинко (script) 184 26.01.08 00:55 Сейчас в теме
8. Денис Д (Alice) 28.01.08 12:47 Сейчас в теме
Код
Процедура ВыходЕсть(Веревка) Экспорт
  ИнициалиацияВеревки(Веревка.ЭтотОбъект(),Константы.Мыло.Получить());
  Петля= Веревка.ПолучитьФормуПетли();
  Петля.ОткрытьМодально(10);
  Табуретко = ПолучитьCOMОбъект("Furniture.Stool");
  глРазместитьТелоНаПредмете(Табуретко,ВариантРазмещенияТела.Вертикально);
  глТело.Голова.Расположить(Петля.Получитьобласть("ОбластьПетли"));
  Сообщить("В моей смерти винить Б. Нуралиева");
  Табуретко.ShiftAside(3);
  ЗавершитьРаботуСистемы(Ложь);
КонецПроцедуры
Показать полностью
Uncore; Трям; Serjik78; Amber; Serj1C; Romanius; lustin; Gromgard; Valet; zaic; Вадимко; Solomonoff; JohnyDeath; +13 Ответить
9. Сергей (passerg) 28.01.08 13:59 Сейчас в теме
Давно так не смеялся! +!
Alice, бесподобно!!!
10. Леонид (leo stopper) 02.02.08 18:45 Сейчас в теме
11. Вадим 1С911.BY (Вадимко) 182 06.02.08 18:34 Сейчас в теме
12. Олег (all_2) 23.04.08 14:14 Сейчас в теме
+++, здоровый юмор повышает производительность труда
zveruganet; +1 Ответить
13. Natalia Feria (panteranew) 42 27.07.08 22:06 Сейчас в теме
14. Альтаир (Altair777) 633 03.10.08 15:16 Сейчас в теме
15. Serj (Serj1C) 458 17.12.08 13:13 Сейчас в теме
16. Максим (Fuego) 413 19.12.08 16:40 Сейчас в теме
Код
program Елочка; 
Begin 
    Лес.елочка.create(); 
    While not Лес.елочка.dead do 
    Begin 
    
        лес.елочка.age := лес.елочка.age + 1; 
        if зима or лето then 
        begin 
            лес.елочка.plain := true; 
            лес.елочка.color := cl_green; 
        end; 
        
        метель.filename:="'D:"Music"NSYNC - Bye Bye Bye.mp3"'; 
        метель.open; 
        sleep(1000); 
        метель.play; 
        мороз.укутать(лес.елочка); 
        GetMessage(H, лес.елочка.handle, 0, 0); 
        if h.uint = wm_замерзла then 
            dead := true; 
    end; 
    
    лес.заяц.create; 
    лес.заяц.трусливый := true; 
    лес.заяц.color := cl_gray; 
    x := лес.елочка.left; 
    y := лес.елочка.top; 
    While x 
    Begin 
        лес.заяц.left := x; 
        inc(x); 
        лес.заяц.top := y round( abs(sin(x*pi/180)*10) ); 
    end; 
    
    Winexec("'wolf3d.exe /evil"',0); 
    лес.елочка.cuttoclipboard; 
    Праздник.pastefromclipboard; 
    Праздник.елочка.skin.loadfromfile("'нарядная.jpg"' ); 
    For i:=1 to SizeOf(Праздник.елочка.радость) do 
        Праздник.Дети.Настроение Праздник.елочка.радость; 
End. 
Показать полностью


Усё это боянчег, но улыбает :) Вчера тоже чёта написал - милости прошу: http://infostart.ru/blogs/310/
17. Евгений Мартыненков (JohnyDeath) 291 19.12.08 16:44 Сейчас в теме
(16) Да, боянчег, о чём я честно написал в шапке.
А ты сделал вид, что сам написал ;) Да... и спасибо за ссылку на этот же блог! )))
Видать празднование в полном разгаре )))
18. Максим (Fuego) 413 19.12.08 17:08 Сейчас в теме
Да не :) Парням ссылку давал, и забыл в буфер свою скопировать :)) http://infostart.ru/blogs/899/ И вид я не делал - я именно по приведенному в комментарии тексту и надумал. От нечего делать вчера :)
19. Антон (woozee) 45 07.12.09 17:09 Сейчас в теме
Если описывается процесс про прыгание зайца - почему не описывается процесс прихода ёлочки на праздник?:)) а то получается что она "телепортировалась" с места рождения )) У елочки по умолчанию же нету свойства "ходить" )) Надо прикрутить в общем ;)
20. Михаил Рыков (zveruganet) 70 12.01.10 22:30 Сейчас в теме
её вырезали (срубили) и вставили (почти пришла {явилась}) на праздник, так что процесс вполне описан