10REM" YuleLog - Mode 5
20REM John Davis - '96.
30*TV255,1
40MODE7
50VDU23,1,0;0;0;0;
60PRINT" * Y U L E L O
G *"
70PRINT'" Save on those heating bi
lls this winter. Let your computer
keep you warm..."
80PRINT" This program is also curr
ently running in a shop window."
90PRINT'CHR$(145)+STRING$(39,",");
100PRINT" The program runs until yo
u Escape."
110PRINTCHR$(145)+STRING$(39,",");
120PRINTTAB(12)"Press SPACE to start f
ire."
130G=GET
140MODE5
150VDU23,1,0;0;0;0;
160GCOL0,1
170FORN=1023TO992STEP-6
180MOVE0,N:DRAW1279,N
190NEXT
200GCOL0,3
210MOVE0,992:DRAW1279,992
220VDU5:GCOL0,2:MOVE32,1023
230PRINT"* MERRY CHRISTMAS *"
240VDU4:VDU23,1,0;0;0;0;
250GCOL0,2
260MOVE0,6:DRAW1279,6
270MOVE0,0:DRAW1279,0
280GCOL0,3
290MOVE191,992:DRAW191,0
300MOVE1088,992:DRAW1088,0
310GCOL0,1
320FORN%=1TO40
330MOVE0,RND(805)+5
340R%=RND(90)
350PLOT17,90+R%,90+R%
360NEXT
370FORN%=1TO40
380MOVE1279,RND(805)+185
390R%=RND(90)
400PLOT17,-90-R%,-90-R%
410NEXT
420GCOL0,3
430FORN%=910TO0STEP-82
440MOVE0,N%:DRAW191,N%
450MOVE1088,N%:DRAW1279,N%
460NEXT
470FORN%=910TO0STEP-164
480MOVE50,N%:DRAW50,N%-82
490MOVE1230,N%:DRAW1230,N%-82
500NEXT
510GCOL0,1
520MOVE256,240:FORN%=1TO6:READA%:PLOT1
,A%,-28:NEXT
530DATA-10,-6,-1,0,2,8
540MOVE256,246
550FORN%=1TO12:READA%:PLOT1,64,A%:NEXT
560DATA-22,-15,-10,-5,-2,-1,1,2,5,10,1
5,22
570MOVE256,70
580RESTORE560
590FORN%=1TO12:READA%:PLOT1,64,A%:NEXT
600MOVE1024,240
610RESTORE530
620FORN%=1TO6:READA%:PLOT1,-A%,-28:NEX
T
630FORN%=230TO90STEP-20
640RESTORE560
650MOVE256,N%
660FORM%=1TO12
670GCOL0,0+(1ANDRND(1)>.7)+(1ANDRND(1)
>.8)
680READA%:PLOT17,64,A%
690NEXT:NEXT
700FORR%=24TO12STEP-4:MOVE500,100-R%*2
:FORN=0TO(2*PI)STEP.4:GCOL0,RND(2):PLOT1
7,R%*COSN,R%*SINN:NEXT:NEXT
710GCOL0,1
720FORN%=31TO3STEP-6
730MOVE192,N%:DRAW1080,N%
740NEXT
750VDU28,3,8,16,1
760COLOUR1
770REM" Fire
780REPEAT
790GCOL0,RND(2)
800X%=RND(600)+340
810Z%=X%+RND(50)*SGN(RND)
820Y%=56-56*ABS(X%-640)/310
830X1%=X%+RND(100):X2%=X%-RND(100)
840MOVEX%,216-Y%:MOVEX1%,246-Y%
850PLOT85,X2%,246-Y%
860PLOT85,Z%,440+RND(400)
870IFRND(1)>.5X1%=X2%
880GCOL0,0:DRAWX1%,246-Y%
890PRINT
900GCOL0,RND(2)
910X%=RND(680)+300:S%=SGN(RND)
920MOVEX%-RND(30)*S%,750:MOVEX%,850
930PLOT85,X%+RND(20)*S%,800
940GCOL0,0
950Z%=Z%+RND(30)*S%
960MOVEZ%+25,736:MOVEZ%-25,736
970PLOT85,Z%,630-RND(350)
980PRINTTAB(RND(12),7)"."
990UNTIL0