Make sure to run it from a console & enjoy!
Code: Select all
/******************************************************************************/
/* asciixmas */
/* December 1989 Larry Bartz Indianapolis, IN */
/* */
/* */
/* I'm dreaming of an ascii character-based monochrome Christmas, */
/* Just like the one's I used to know! */
/* Via a full duplex communications channel, */
/* At 9600 bits per second, */
/* Even though it's kinda slow. */
/* */
/* I'm dreaming of an ascii character-based monochrome Christmas, */
/* With ev'ry C program I write! */
/* May your screen be merry and bright! */
/* And may all your Christmases be amber or green, */
/* (for reduced eyestrain and improved visibility)! */
/* */
/* */
/* */
/* IMPLEMENTATION */
/* */
/* Feel free to modify the defined string FROMWHO to reflect you, your */
/* organization, your site, whatever. */
/* */
/* This looks a lot better if you can turn off your cursor before execution. */
/* The cursor is distracting but it doesn't really ruin the show. */
/* */
/* At our site, we invoke this for our users just after login and the */
/* determination of terminal type. */
/* */
/* */
/* PORTABILITY */
/* */
/* I wrote this using only the very simplest curses functions so that it */
/* might be the most portable. I was personally able to test on five */
/* different cpu/UNIX combinations. */
/* */
/* */
/* COMPILE */
/* */
/* usually this: */
/* */
/* cc -O xmas.c -lcurses -o xmas -s */
/* */
/******************************************************************************/
@DISPLAY {Hidden = True}
Const #FROMWHO = "From Larry Bartz, Mark Hessling and William McBrine"
Function newwin(nlines, ncols, begy, begx)
Return(CreateConsoleWindow(Nil, ncols, nlines, begx, begy))
EndFunction
Function mvwaddstr(win, y, x, s$)
SelectConsoleWindow(win)
SetConsoleCursor(x, y)
ConsolePrintNR(s$)
SelectConsoleWindow(-1)
EndFunction
Function mvaddstr(y, x, s$)
SetConsoleCursor(x, y)
ConsolePrintNR(s$)
EndFunction
Function mvwaddch(win, y, x, ch)
SelectConsoleWindow(win)
SetConsoleCursor(x, y)
ConsolePrintChr(ch)
SelectConsoleWindow(-1)
EndFunction
Function waddstr(win, s$)
SelectConsoleWindow(win)
ConsolePrintNR(s$)
SelectConsoleWindow(-1)
EndFunction
Function waddch(win, ch)
SelectConsoleWindow(win)
ConsolePrintChr(ch)
SelectConsoleWindow(-1)
EndFunction
Function mvaddch(y, x, ch)
SetConsoleCursor(x, y)
ConsolePrintChr(ch)
EndFunction
Function clear()
ClearConsole()
EndFunction
Function refresh()
RefreshConsole()
EndFunction
Function werase(win)
SelectConsoleWindow(win)
EraseConsole()
SelectConsoleWindow(-1)
EndFunction
Function wrefresh(win)
SelectConsoleWindow(win)
RefreshConsole()
SelectConsoleWindow(-1)
EndFunction
Function touchwin(win)
SelectConsoleWindow(win)
TouchConsoleWindow()
SelectConsoleWindow(-1)
EndFunction
Function overlay(src, dst)
SelectConsoleWindow(dst)
CopyConsoleWindow(src, True)
SelectConsoleWindow(-1)
EndFunction
Function mvwin(win, y, x)
SelectConsoleWindow(win)
MoveConsoleWindow(x, y)
SelectConsoleWindow(-1)
EndFunction
Function napms(ms)
Wait(ms, #MILLISECONDS)
EndFunction
Function lil(win)
mvwaddch(win, 0, 0, 'V')
mvwaddch(win, 1, 0, '@')
mvwaddch(win, 1, 3, '~')
EndFunction
Function midtop(win)
mvwaddstr(win, 0, 2, "yy")
mvwaddstr(win, 1, 2, "0(=)~")
EndFunction
Function bigtop(win)
mvwaddstr(win, 0, 17, "\\/")
mvwaddstr(win, 0, 20, "\\/")
mvwaddch(win, 1, 18, '\\')
mvwaddch(win, 1, 20, '/')
mvwaddstr(win, 2, 19, "|_")
mvwaddstr(win, 3, 18, "/^0\\")
mvwaddstr(win, 4, 17, "//\\")
mvwaddch(win, 4, 22, '\\')
mvwaddstr(win, 5, 7, "^~~~~~~~~// ~~U")
EndFunction
Function bigface(win, noseattr)
mvwaddstr(win, 0, 16, "\\/ \\/")
mvwaddstr(win, 1, 17, "\\Y/ \\Y/")
mvwaddstr(win, 2, 19, "\\=/")
mvwaddstr(win, 3, 17, "^\\o o/^")
mvwaddstr(win, 4, 17, "//( )")
mvwaddstr(win, 5, 7, "^~~~~~~~~// \\")
waddch(win, MakeConsoleChr('O', 0, 31))
waddstr(win, "/")
EndFunction
Function legs1(win)
mvwaddstr(win, 6, 7, "( \\_____( /")
mvwaddstr(win, 7, 8, "( ) /")
mvwaddstr(win, 8, 9, "\\\\ /")
mvwaddstr(win, 9, 11, "\\>/>")
EndFunction
Function legs2(win)
mvwaddstr(win, 6, 7, "(( )____( /")
mvwaddstr(win, 7, 7, "( / |")
mvwaddstr(win, 8, 8, "\\/ |")
mvwaddstr(win, 9, 9, "|> |>")
EndFunction
Function legs3(win)
mvwaddstr(win, 6, 6, "( ()_____( /")
mvwaddstr(win, 7, 6, "/ / /")
mvwaddstr(win, 8, 5, "|/ \\")
mvwaddstr(win, 9, 5, "/> \\>")
EndFunction
Function legs4(win)
mvwaddstr(win, 6, 6, "( )______( /")
mvwaddstr(win, 7, 5, "(/ \\")
mvwaddstr(win, 8, 0, "v___= ----^")
EndFunction
Function initdeer()
InitConsoleColor(31, #RED, #BLACK)
/* set up the windows for our various reindeer */
dotdeer0 = newwin(3, 71, 0, 8)
stardeer0 = newwin(4, 56, 0, 8)
lildeer0 = newwin(7, 54, 0, 8)
middeer0 = newwin(15, 42, 0, 8)
bigdeer0 = newwin(10, 23, 0, 0)
lookdeer0 = newwin(10, 25, 0, 0)
/* lildeer1 */
lildeer1 = newwin(2, 4, 0, 0)
lil(lildeer1)
mvwaddstr(lildeer1, 1, 1, "<>")
/* lildeer2 */
lildeer2 = newwin(2, 4, 0, 0)
lil(lildeer2)
mvwaddstr(lildeer2, 1, 1, "||")
/* lildeer3 */
lildeer3 = newwin(2, 4, 0, 0)
lil(lildeer3)
mvwaddstr(lildeer3, 1, 1, "><")
/* middeer1 */
middeer1 = newwin(3, 7, 0, 0)
midtop(middeer1)
mvwaddstr(middeer1, 2, 3, "\\/")
/* middeer2 */
middeer2 = newwin(3, 7, 0, 0)
midtop(middeer2)
mvwaddch(middeer2, 2, 3, '|')
mvwaddch(middeer2, 2, 5, '|')
/* middeer3 */
middeer3 = newwin(3, 7, 0, 0)
midtop(middeer3)
mvwaddch(middeer3, 2, 2, '/')
mvwaddch(middeer3, 2, 6, '\\')
/* bigdeer1 */
bigdeer1 = newwin(10, 23, 0, 0)
bigtop(bigdeer1)
legs1(bigdeer1)
/* bigdeer2 */
bigdeer2 = newwin(10, 23, 0, 0)
bigtop(bigdeer2)
legs2(bigdeer2)
/* bigdeer3 */
bigdeer3 = newwin(10, 23, 0, 0)
bigtop(bigdeer3)
legs3(bigdeer3)
/* bigdeer4 */
bigdeer4 = newwin(10, 23, 0, 0)
bigtop(bigdeer4)
legs4(bigdeer4)
/* lookdeer1 */
lookdeer1 = newwin(10, 25, 0, 0)
bigface(lookdeer1, noseattr)
legs1(lookdeer1)
/* lookdeer2 */
lookdeer2 = newwin(10, 25, 0, 0)
bigface(lookdeer2, noseattr)
legs2(lookdeer2)
/* lookdeer3 */
lookdeer3 = newwin(10, 25, 0, 0)
bigface(lookdeer3, noseattr)
legs3(lookdeer3)
/* lookdeer4 */
lookdeer4 = newwin(10, 25, 0, 0)
bigface(lookdeer4, noseattr)
legs4(lookdeer4)
EndFunction
Function boxit()
For Local x = 0 To 19 Do mvaddch(x, 7, '|')
For Local x = 0 To 79
If x > 7 Then mvaddch(19, x, '_')
mvaddch(22, x, '_')
Next
EndFunction
Function seas()
mvaddch(4, 1, 'S')
mvaddch(6, 1, 'E')
mvaddch(8, 1, 'A')
mvaddch(10, 1, 'S')
mvaddch(12, 1, 'O')
mvaddch(14, 1, 'N')
mvaddch(16, 1, '`')
mvaddch(18, 1, 'S')
EndFunction
Function greet()
mvaddch(3, 5, 'G')
mvaddch(5, 5, 'R')
mvaddch(7, 5, 'E')
mvaddch(9, 5, 'E')
mvaddch(11, 5, 'T')
mvaddch(13, 5, 'I')
mvaddch(15, 5, 'N')
mvaddch(17, 5, 'G')
mvaddch(19, 5, 'S')
EndFunction
Function fromwho()
mvaddstr(21, 13, #FROMWHO)
EndFunction
Function del_msg()
RefreshConsole()
EndFunction
Function tree()
SelectConsoleWindow(treescrn)
SetConsoleColor(30, #GREEN, #BLACK)
mvwaddch(treescrn, 1, 11, '/')
mvwaddch(treescrn, 2, 11, '/')
mvwaddch(treescrn, 3, 10, '/')
mvwaddch(treescrn, 4, 9, '/')
mvwaddch(treescrn, 5, 9, '/')
mvwaddch(treescrn, 6, 8, '/')
mvwaddch(treescrn, 7, 7, '/')
mvwaddch(treescrn, 8, 6, '/')
mvwaddch(treescrn, 9, 6, '/')
mvwaddch(treescrn, 10, 5, '/')
mvwaddch(treescrn, 11, 3, '/')
mvwaddch(treescrn, 12, 2, '/')
mvwaddch(treescrn, 1, 13, '\\')
mvwaddch(treescrn, 2, 13, '\\')
mvwaddch(treescrn, 3, 14, '\\')
mvwaddch(treescrn, 4, 15, '\\')
mvwaddch(treescrn, 5, 15, '\\')
mvwaddch(treescrn, 6, 16, '\\')
mvwaddch(treescrn, 7, 17, '\\')
mvwaddch(treescrn, 8, 18, '\\')
mvwaddch(treescrn, 9, 18, '\\')
mvwaddch(treescrn, 10, 19, '\\')
mvwaddch(treescrn, 11, 21, '\\')
mvwaddch(treescrn, 12, 22, '\\')
mvwaddch(treescrn, 4, 10, '_')
mvwaddch(treescrn, 4, 14, '_')
mvwaddch(treescrn, 8, 7, '_')
mvwaddch(treescrn, 8, 17, '_')
mvwaddstr(treescrn, 13, 0,
"//////////// \\\\\\\\\\\\\\\\\\\\\\\\")
SetConsoleColor(20, #YELLOW, #BLACK)
mvwaddstr(treescrn, 14, 11, "| |")
mvwaddstr(treescrn, 15, 11, "|_|")
wrefresh(treescrn)
wrefresh(w_del_msg)
EndFunction
Function balls()
overlay(treescrn, treescrn2)
InitConsoleColor(1, #BLUE, #BLACK)
InitConsoleColor(2, #RED, #BLACK)
InitConsoleColor(3, #FUCHSIA, #BLACK)
InitConsoleColor(4, #AQUA, #BLACK)
InitConsoleColor(5, #YELLOW, #BLACK)
InitConsoleColor(6, #WHITE, #BLACK)
ball1 = MakeConsoleChr('@', 0, 1)
ball2 = MakeConsoleChr('@', 0, 2)
ball3 = MakeConsoleChr('@', 0, 3)
ball4 = MakeConsoleChr('@', 0, 4)
ball5 = MakeConsoleChr('@', 0, 5)
ball6 = MakeConsoleChr('@', 0, 6)
mvwaddch(treescrn2, 3, 9, ball1)
mvwaddch(treescrn2, 3, 15, ball2)
mvwaddch(treescrn2, 4, 8, ball3)
mvwaddch(treescrn2, 4, 16, ball4)
mvwaddch(treescrn2, 5, 7, ball5)
mvwaddch(treescrn2, 5, 17, ball6)
mvwaddch(treescrn2, 7, 6, MakeConsoleChr('@', #CONSOLESTYLE_BOLD, 1))
mvwaddch(treescrn2, 7, 18, MakeConsoleChr('@', #CONSOLESTYLE_BOLD, 2))
mvwaddch(treescrn2, 8, 5, MakeConsoleChr('@', #CONSOLESTYLE_BOLD, 3))
mvwaddch(treescrn2, 8, 19, MakeConsoleChr('@', #CONSOLESTYLE_BOLD, 4))
mvwaddch(treescrn2, 10, 4, MakeConsoleChr('@', #CONSOLESTYLE_BOLD, 5))
mvwaddch(treescrn2, 10, 20, MakeConsoleChr('@', #CONSOLESTYLE_BOLD, 6))
mvwaddch(treescrn2, 11, 2, ball1)
mvwaddch(treescrn2, 11, 22, ball2)
mvwaddch(treescrn2, 12, 1, ball3)
mvwaddch(treescrn2, 12, 23, ball4)
wrefresh(treescrn2)
wrefresh(w_del_msg)
EndFunction
Function star()
mvwaddch(treescrn2, 0, 12, MakeConsoleChr('*', #CONSOLESTYLE_STANDOUT))
wrefresh(treescrn2)
wrefresh(w_del_msg)
EndFunction
Function strng1()
SelectConsoleWindow(treescrn2)
SetConsoleColor(10, #YELLOW, #BLACK)
SetConsoleStyle(#CONSOLESTYLE_BOLD)
mvwaddstr(treescrn2, 3, 11, ".;:'")
wrefresh(treescrn2)
wrefresh(w_del_msg)
EndFunction
Function strng2()
SelectConsoleWindow(treescrn2)
SetConsoleColor(11, #RED, #BLACK)
SetConsoleStyle(#CONSOLESTYLE_BOLD)
mvwaddstr(treescrn2, 5, 11, ",.:'")
mvwaddstr(treescrn2, 6, 9, ":'")
wrefresh(treescrn2)
wrefresh(w_del_msg)
EndFunction
Function strng3()
SelectConsoleWindow(treescrn2)
SetConsoleColor(12, #GREEN, #BLACK)
SetConsoleStyle(#CONSOLESTYLE_BOLD)
mvwaddstr(treescrn2, 7, 13, ",.:'")
mvwaddstr(treescrn2, 8, 9, ",.:'")
wrefresh(treescrn2)
wrefresh(w_del_msg)
EndFunction
Function strng4()
SelectConsoleWindow(treescrn2)
SetConsoleColor(13, #WHITE, #BLACK)
SetConsoleStyle(#CONSOLESTYLE_BOLD)
mvwaddstr(treescrn2, 9, 14, ",.:'")
mvwaddstr(treescrn2, 10, 10, ",.:'")
mvwaddstr(treescrn2, 11, 6, ",.:'")
mvwaddch(treescrn2, 12, 5, '\'')
wrefresh(treescrn2)
wrefresh(w_del_msg)
EndFunction
Function strng5()
SelectConsoleWindow(treescrn2)
SetConsoleColor(14, #AQUA, #BLACK)
SetConsoleStyle(#CONSOLESTYLE_BOLD)
mvwaddstr(treescrn2, 11, 16, ",.:'")
mvwaddstr(treescrn2, 12, 12, ",.:'")
/* save a fully lit tree */
overlay(treescrn2, treescrn)
wrefresh(treescrn2)
wrefresh(w_del_msg)
EndFunction
Function blinkit()
if cycle > 4 Then cycle = 0
touchwin(treescrn8)
switch cycle
case 0:
overlay(treescrn3, treescrn8)
case 1:
overlay(treescrn4, treescrn8)
case 2:
overlay(treescrn5, treescrn8)
case 3:
overlay(treescrn6, treescrn8)
case 4:
overlay(treescrn7, treescrn8)
EndSwitch
wrefresh(treescrn8)
wrefresh(w_del_msg)
napms(50)
touchwin(treescrn8)
/*ALL ON************************************************** */
overlay(treescrn, treescrn8)
wrefresh(treescrn8)
wrefresh(w_del_msg)
cycle = cycle + 1
EndFunction
Function TSHOW(win, pause)
touchwin(win)
wrefresh(win)
wrefresh(w_del_msg)
napms(pause)
EndFunction
Function SHOW(win, pause)
mvwin(win, y_pos, x_pos)
wrefresh(win)
wrefresh(w_del_msg)
napms(pause)
EndFunction
Function reindeer()
x_pos = 0
y_pos = 0
For x_pos = 70 To 63 Step -1
/*
If (x_pos < 62)
y_pos = 1
*/
For Local looper = 0 To 3
mvwaddch(dotdeer0, y_pos, x_pos, '.')
wrefresh(dotdeer0)
wrefresh(w_del_msg)
werase(dotdeer0)
wrefresh(dotdeer0)
wrefresh(w_del_msg)
Next
Next
y_pos = 2
bla = x_pos
For x_pos = bla To 51 Step -1
For Local looper = 0 To 3
If x_pos < 56
y_pos = 3
mvwaddch(stardeer0, y_pos, x_pos, '*')
wrefresh(stardeer0)
wrefresh(w_del_msg)
werase(stardeer0)
wrefresh(stardeer0)
Else
mvwaddch(dotdeer0, y_pos, x_pos, '*')
wrefresh(dotdeer0)
wrefresh(w_del_msg)
werase(dotdeer0)
wrefresh(dotdeer0)
EndIf
wrefresh(w_del_msg)
Next
Next
x_pos = 58
For y_pos = 2 To 4
TSHOW(lildeer0, 50)
For Local looper = 0 To 3
SHOW(lildeer3, 50)
SHOW(lildeer2, 50)
SHOW(lildeer1, 50)
SHOW(lildeer2, 50)
SHOW(lildeer3, 50)
TSHOW(lildeer0, 50)
x_pos = x_pos - 2
Next
Next
x_pos = 35
For y_pos = 5 To 9
touchwin(middeer0)
wrefresh(middeer0)
wrefresh(w_del_msg)
For Local looper = 0 To 1
SHOW(middeer3, 50)
SHOW(middeer2, 50)
SHOW(middeer1, 50)
SHOW(middeer2, 50)
SHOW(middeer3, 50)
TSHOW(middeer0, 50)
x_pos = x_pos - 3
Next
Next
napms(2000)
y_pos = 1
For x_pos = 8 To 17
SHOW(bigdeer4, 30)
SHOW(bigdeer3, 30)
SHOW(bigdeer2, 30)
SHOW(bigdeer1, 30)
SHOW(bigdeer2, 30)
SHOW(bigdeer3, 30)
SHOW(bigdeer4, 30)
SHOW(bigdeer0, 30)
Next
x_pos = x_pos - 1
For Local looper = 0 To 5
SHOW(lookdeer4, 40)
SHOW(lookdeer3, 40)
SHOW(lookdeer2, 40)
SHOW(lookdeer1, 40)
SHOW(lookdeer2, 40)
SHOW(lookdeer3, 40)
SHOW(lookdeer4, 40)
Next
SHOW(lookdeer0, 40)
bla = y_pos
For y_pos = bla To 9
For Local looper = 0 To 1
SHOW(bigdeer4, 30)
SHOW(bigdeer3, 30)
SHOW(bigdeer2, 30)
SHOW(bigdeer1, 30)
SHOW(bigdeer2, 30)
SHOW(bigdeer3, 30)
SHOW(bigdeer4, 30)
Next
SHOW(bigdeer0, 30)
Next
y_pos = y_pos - 1
mvwin(lookdeer3, y_pos, x_pos)
wrefresh(lookdeer3)
wrefresh(w_del_msg)
EndFunction
If Not HaveConsole() Then OpenConsole()
EnableAdvancedConsole
SetConsoleOptions({Newline = False, Echo = False, Delay = False})
RefreshConsole
StartConsoleColorMode(False)
HideConsoleCursor
treescrn = newwin(16, 27, 3, 53)
treescrn2 = newwin(16, 27, 3, 53)
treescrn3 = newwin(16, 27, 3, 53)
treescrn4 = newwin(16, 27, 3, 53)
treescrn5 = newwin(16, 27, 3, 53)
treescrn6 = newwin(16, 27, 3, 53)
treescrn7 = newwin(16, 27, 3, 53)
treescrn8 = newwin(16, 27, 3, 53)
w_holiday = newwin(1, 26, 3, 27)
w_del_msg = newwin(1, 12, 23, 60)
mvwaddstr(w_holiday, 0, 0, "H A P P Y H O L I D A Y S")
initdeer()
clear()
werase(treescrn)
touchwin(treescrn)
werase(treescrn2)
touchwin(treescrn2)
werase(treescrn8)
touchwin(treescrn8)
refresh()
napms(1000)
boxit()
del_msg()
napms(1000)
seas()
del_msg()
napms(1000)
greet()
del_msg()
napms(1000)
fromwho()
del_msg()
napms(1000)
tree()
napms(1000)
balls()
napms(1000)
star()
napms(1000)
strng1()
strng2()
strng3()
strng4()
strng5()
napms(1000)
/* set up the windows for our blinking trees */
/* **************************************** */
/* treescrn3 */
overlay(treescrn, treescrn3)
/* balls */
mvwaddch(treescrn3, 4, 18, ' ')
mvwaddch(treescrn3, 7, 6, ' ')
mvwaddch(treescrn3, 8, 19, ' ')
mvwaddch(treescrn3, 11, 22, ' ')
/* star */
mvwaddch(treescrn3, 0, 12, '*')
/* strng1 */
mvwaddch(treescrn3, 3, 11, ' ')
/* strng2 */
mvwaddch(treescrn3, 5, 13, ' ')
mvwaddch(treescrn3, 6, 10, ' ')
/* strng3 */
mvwaddch(treescrn3, 7, 16, ' ')
mvwaddch(treescrn3, 7, 14, ' ')
/* strng4 */
mvwaddch(treescrn3, 10, 13, ' ')
mvwaddch(treescrn3, 10, 10, ' ')
mvwaddch(treescrn3, 11, 8, ' ')
/* strng5 */
mvwaddch(treescrn3, 11, 18, ' ')
mvwaddch(treescrn3, 12, 13, ' ')
/* treescrn4 */
overlay(treescrn, treescrn4)
/* balls */
mvwaddch(treescrn4, 3, 9, ' ')
mvwaddch(treescrn4, 4, 16, ' ')
mvwaddch(treescrn4, 7, 6, ' ')
mvwaddch(treescrn4, 8, 19, ' ')
mvwaddch(treescrn4, 11, 2, ' ')
mvwaddch(treescrn4, 12, 23, ' ')
/* star */
mvwaddch(treescrn4, 0, 12, MakeConsoleChr('*', #CONSOLESTYLE_STANDOUT))
/* strng1 */
mvwaddch(treescrn4, 3, 13, ' ')
/* strng2 */
/* strng3 */
mvwaddch(treescrn4, 7, 15, ' ')
mvwaddch(treescrn4, 8, 11, ' ')
/* strng4 */
mvwaddch(treescrn4, 9, 16, ' ')
mvwaddch(treescrn4, 10, 12, ' ')
mvwaddch(treescrn4, 11, 8, ' ')
/* strng5 */
mvwaddch(treescrn4, 11, 18, ' ')
mvwaddch(treescrn4, 12, 14, ' ')
/* treescrn5 */
overlay(treescrn, treescrn5)
/* balls */
mvwaddch(treescrn5, 3, 15, ' ')
mvwaddch(treescrn5, 10, 20, ' ')
mvwaddch(treescrn5, 12, 1, ' ')
/* star */
mvwaddch(treescrn5, 0, 12, '*')
/* strng1 */
mvwaddch(treescrn5, 3, 11, ' ')
/* strng2 */
mvwaddch(treescrn5, 5, 12, ' ')
/* strng3 */
mvwaddch(treescrn5, 7, 14, ' ')
mvwaddch(treescrn5, 8, 10, ' ')
/* strng4 */
mvwaddch(treescrn5, 9, 15, ' ')
mvwaddch(treescrn5, 10, 11, ' ')
mvwaddch(treescrn5, 11, 7, ' ')
/* strng5 */
mvwaddch(treescrn5, 11, 17, ' ')
mvwaddch(treescrn5, 12, 13, ' ')
/* treescrn6 */
overlay(treescrn, treescrn6)
/* balls */
mvwaddch(treescrn6, 6, 7, ' ')
mvwaddch(treescrn6, 7, 18, ' ')
mvwaddch(treescrn6, 10, 4, ' ')
mvwaddch(treescrn6, 11, 23, ' ')
/* star */
mvwaddch(treescrn6, 0, 12, MakeConsoleChr('*', #CONSOLESTYLE_STANDOUT))
/* strng1 */
/* strng2 */
mvwaddch(treescrn6, 5, 11, ' ')
/* strng3 */
mvwaddch(treescrn6, 7, 13, ' ')
mvwaddch(treescrn6, 8, 9, ' ')
/* strng4 */
mvwaddch(treescrn6, 9, 14, ' ')
mvwaddch(treescrn6, 10, 10, ' ')
mvwaddch(treescrn6, 11, 6, ' ')
/* strng5 */
mvwaddch(treescrn6, 11, 16, ' ')
mvwaddch(treescrn6, 12, 12, ' ')
/* treescrn7 */
overlay(treescrn, treescrn7)
/* balls */
mvwaddch(treescrn7, 3, 15, ' ')
mvwaddch(treescrn7, 6, 7, ' ')
mvwaddch(treescrn7, 7, 18, ' ')
mvwaddch(treescrn7, 10, 4, ' ')
mvwaddch(treescrn7, 11, 22, ' ')
/* star */
mvwaddch(treescrn7, 0, 12, '*')
/* strng1 */
mvwaddch(treescrn7, 3, 12, ' ')
/* strng2 */
mvwaddch(treescrn7, 5, 13, ' ')
mvwaddch(treescrn7, 6, 9, ' ')
/* strng3 */
mvwaddch(treescrn7, 7, 15, ' ')
mvwaddch(treescrn7, 8, 11, ' ')
/* strng4 */
mvwaddch(treescrn7, 9, 16, ' ')
mvwaddch(treescrn7, 10, 12, ' ')
mvwaddch(treescrn7, 11, 8, ' ')
/* strng5 */
mvwaddch(treescrn7, 11, 18, ' ')
mvwaddch(treescrn7, 12, 14, ' ')
napms(1000)
reindeer()
touchwin(w_holiday)
wrefresh(w_holiday)
wrefresh(w_del_msg)
napms(1000)
For Local loopy = 0 To 49 Do blinkit()
DisableAdvancedConsole()
End