Season's greetings

Show off your project created with Hollywood
Post Reply
User avatar
airsoftsoftwair
Posts: 5450
Joined: Fri Feb 12, 2010 2:33 pm
Location: Germany
Contact:

Season's greetings

Post by airsoftsoftwair »

This is the 20000th post on the Hollywood forums and it's a nice coincidence that it correlates with Christmas so let's celebrate both with a Hollywood port of the famous asciixmas program from December 1989 that was used on many BBSs back in the day to send season's greetings to all callers :)

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
Post Reply