Jump to content
IGNORED

2015 Holiday Demo Contest


Opry99er

Recommended Posts

1 CALL CLEAR

2 CALL SCREEN(9)

3 PRINT ". HO HO HO HAPPY HOLIDAYS FELLOW TI'ERS :) "

4 CALL SAY "HOW HOW HOW"

5 GOTO 5

 

My first programming attempt ever so don't be too harsh :)

 

Edit - hmm it doesn't show all my spaces in my code :/

 

Happy Holidays.rtf

Wordpad of my code just in case

Edited by Iwantgames:)
  • Like 1
Link to comment
Share on other sites

Name of Demo: Traditional

Author: Tursi

Story: I always do a Christmas tree. ;)

Code (10 lines):

 

REM BY M.BRENT AKA TURSI 11/10/2015

100 DIM NT(14)::CALL CLEAR::CALL COLOR(1,13,5,2,16,1,3,9,1,4,12,1,5,16,5,6,16,5,7,16,5,8,2,2)::CALL CHARPAT(89,Y$)
110 CALL COLOR(9,10,1,10,2,13,11,2,13,12,2,13,13,2,13)::CALL CHAR(33,RPT$("F",16)&"80C0E0F0F8FCFEFF0103070F1F3F7FFF")::B$="183C3C18"
120 CALL CHAR(44,"00003C7EFFFF7E3C0F0F070703030101DBDBBDBDBD7E7E7EF0F0E0E0C0C0808",88,"",96,"0000000001071F7F01071F7F"&RPT$("F",24)&"80E0F8FEFFFFFFFF")
130 A$=RPT$("F",14)&"00"&RPT$("E7",::CALL CHAR(100,"0000000080E0F8FE",48,A$,50,A$,56,A$,58,A$)::CALL HCHAR(19,1,33,192)::CALL CHAR(104,B$,112,B$)
140 A$="00"&RPT$("F",14)&RPT$("E7",::CALL CHAR(51,A$,53,A$,59,A$,61,A$)::A$="0000006699997E81"::CALL CHAR(54,A$,62,A$)::CALL CHAR(120,B$,128,B$)
150 A$="BO,ACN-CQJ6ARI0CSI3CQT>ARS8CSS;CQOXARM`E"::FOR A=1 TO 39 STEP 4::R=ASC(SEG$(A$,A,1))-64::C=ASC(SEG$(A$,A+1,1))-64::CH=ASC(SEG$(A$,A+2,1))::CN=ASC(SEG$(A$,A+3,1))-64
160 FOR B=0 TO CN-1::CALL HCHAR(R,C+B,CH+B)::NEXT B::NEXT A::S$="DJJKJHFCAACHEF"::FOR A=1 TO 14:=ASC(SEG$(S$,A,1))-65::NT(A)=147*(1.059463^X)::NEXT A::CALL CHAR(66,Y$)
170 FOR A=1 TO 13::C=INT(A/2)::CALL HCHAR(3+A,14-C,35)::CALL HCHAR(3+A,15-C,33,C*2+1)::CALL HCHAR(3+A,16+C,34)::NEXT A::CALL SCREEN(5)
180 FOR A=1 TO 28::R=RND*16+1::C=RND*13+10::CALL GCHAR(R,C,X)::CALL HCHAR(R,C,104+INT(RND*4)*8,-(X=33))::CALL SPRITE(#A,42,15,R*12,(C-10)*19+1,4,1)::NEXT A
190 DISPLAY AT(1,6):"MERRB CHRISTMAS"::FOR A=1 TO 14::CALL SOUND(300,NT(A),0)::NEXT A::FOR A=0 TO 1::CALL KEY(0,K,S)::A=A+(S=0)::CALL COLOR(10+RND*3.1,RND*15+1,13)::NEXT A

This was a freaking challenge, I didn't manage to fit a snowflake generator, so I stole Owen's ;)

 

I also didn't get the tuning right on the music (my apologies in advance), but that's my limit and not a limit of the software, in theory. Press any key to exit. Also, the lines are REALLY long - most of them are within a couple of tokens of the max. If you edit by hand, you'll have to use the enter, edit, and extend trick. In Classic99 make sure you use Paste XB, not regular paste, since that allows the longer lines to paste in one shot.

 

I actually drew this one out on graph paper, which I haven't done for a while. ;)

 

Line 100 - sets up an array for notes (because I needed more than 10), clears the screen, sets some colors, and makes a copy of the pattern for 'Y' cause I use that character group for lights.

Line 110 - sets the rest of the colors, loads the first chars, and saves a string for more chars.

Line 120 - all char definitions

Line 130 - More chars, and draws the ground

Line 140 - still more chars. I overlap some on purpose to save space when I only wanted one of the char patterns.

Line 150 - The string is an encoding of where to draw - Row, Column, Character, Count. Row, Column and Count are encoded such that 'A' = 1, the character is literal. When the count is more than 1, it increments the character as it draws - this is used to make the angel, the base, and the gift boxes. This spills into line 160.

Line 160 - second half of draw loop. Second loop calculates the song - S$ is the music listed as half-notes above D (lowest note in the song). Here 'A' indicates 0 half-notes. The bad tuning is probably errors in my transposition, or errors in the constants used in the math. I do this preprocessing so the song would play faster, but in the end I delay so long for each note it probably didn't matter, I could have done the math. Finally, had room here to redefine 'B' with the 'Y' character pattern.

Line 170 - This draws the tree, getting wider every other row. It's also the first line I had room left to set the screen color.

Line 180 - Sets up 'snowflake' sprites and also tries to place random lights on the tree - they use the same random numbers and a GCHAR checks if it's okay to place the light. Rather than an IF statement which would cost lines, the HCHAR uses -(X=33) for the count, which will be 1 if the character was a part of the tree, and 0 if not. The sprite command uses some rough scaling to try and spread the sprites out, and slow horizontal motion to make them a little steppy.

Line 190 - Displays the text greeting (didn't have room for 'FROM TURSI'), plays the little tune, then waits for a keypress. When no key is pressed, the A=A+(S=0) prevents the loop from incrementing. (In retrospect, I could have just done "A=S" and saved a few tokens). During the KEY loop, the lights are randomly blinked with CALL COLOR.

 

Tough challenge, though.. I spent far too long on those 10 lines... ;)

  • Like 3
Link to comment
Share on other sites

I have put a good 3 hours into this new demo and it is really killing me. Just two more lines is all I need!!!! :)

 

10 is really tight. I originally thought 15 or 20, but was worried that if we had 10 or more entries that it would not fit into one program... All that said, it may not all fit into 1 program anyway, so the 10 line limit might just be keeping us from putting out finely crafted holiday demos.

 

I'll leave it at 10 unless the majority of folks have other opinions.

Link to comment
Share on other sites

10 is really tight. I originally thought 15 or 20, but was worried that if we had 10 or more entries that it would not fit into one program... All that said, it may not all fit into 1 program anyway, so the 10 line limit might just be keeping us from putting out finely crafted holiday demos.

 

I'll leave it at 10 unless the majority of folks have other opinions.

 

What is that about the entries fitting into one program ? Would you merge all entries into one XB program or what is happening ?

 

:|

 

Anyway, keep it as is. 10 lines that is.

 

;)

Edited by sometimes99er
  • Like 1
Link to comment
Share on other sites

Yes... I want to merge all programs into one chained program, between which the user can hit "enter" to advance to the next demo. Call it a selectable screen saver to have running next to the tree when Santa brings a loved one a TI, monitor, and cassette deck for Christmas.

 

 

Some adjustments will be necessary, I am sure... But I would like to try. :)

 

With the disk issues I am having, I will likely have to type all these programs in by hand onto my TI so that I can produce cassettes.

Link to comment
Share on other sites

(from the entries thread)

 

 

 

Is there a trick to entering lines that long?

 

Yes, type as much of the line as you can, right to the beeping part. Press enter. Then edit the line, and you should be able to extend it. Make sure you don't type unnecessary spaces (for instance, around the colons or parentheses).

If you are using Classic99, using "edit->paste xb" will enter the long lines for you by allowing longer input AND stripping spaces automatically.

 

Link to comment
Share on other sites

To bad I can not use RXB.

I can write and use small Assembly with no 32K in scratch pad RAM with CALL EXECUTE

I can embed and execute VDP Sound lists to repeat forever with CALL IO

I can move the entire VDP screen or definitions to and from VDP RAM with CALL MOVES

I can change VDP modes to Text or Split Screen with CALL POKER

 

You could do a lot with just 10 lines in RXB. Maybe the next contest could use RXB.

Link to comment
Share on other sites

To bad I can not use RXB.

I can write and use small Assembly with no 32K in scratch pad RAM with CALL EXECUTE

I can embed and execute VDP Sound lists to repeat forever with CALL IO

I can move the entire VDP screen or definitions to and from VDP RAM with CALL MOVES

I can change VDP modes to Text or Split Screen with CALL POKER

 

You could do a lot with just 10 lines in RXB. Maybe the next contest could use RXB.

 

It's Christmas time fun...

 

You might have fun doing that in RXB even if it doesn't qualify for the compilation or competition. I'd love to see those techniques put to use and I bet others would love to see what can be done too!

 

-M@

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...