********************************************** * Vintage Computing Christmas Challenge 2021 * ********************************************** Author: Felix Nardella System: Commodore 64 Language used: BASIC v2 Length of source code: 176 byte Length of executable file: 151 byte Instructions on how to run the code: I used the VICE 3.5 emulator (https://vice-emu.sourceforge.io/). To run this program you need to install the VICE and then drag and drop the prg file into it. Complete source code: 1 a$="**":b$(0)="*":fori=0to2:forx=1to4:b$(x)=b$(x-1)+a$ 2 a=len(b$(x-1)):b=20-a/2:printspc(b)b$(x-1):next 3 b$(0)=b$(0)+"**":a$=a$+"**":next:fori=0to1:printspc(18)"***":next Description of how the code works: a$="**":b$(0)="*" : ............ Initializes the variable a$ and array b$() fori=0to2 : .................... Start the cycle to draw the 3 parts into which the tree has been divided forx=1to4: ................. Start the cycle to draw the 4 lines of which each part of the tree is made b$(x)=b$(x-1)+a$ : ..... Updates the b$() array that contains the number of * of each row of each part of the tree a=len(b$(x-1)) : ....... Variable a contains the length of the line that corresponds to the number of * b=20-a/2 : ............. Variable B contains the number of spaces to be calculated for each row of * printspc(b)b$(x-1) : ... Print the spaces and * of each line next: ...................... Increase x; End of cycle b$(0)=b$(0)+"**" : ......... Update the number of * contents of the first row of each part of the tree a$=a$+"**" : ............... Update the number of * to be added to each row after the first of each part next : ......................... Increase i; End of cycle fori=0to1 : .................... Start the cycle to draw the end of the tree printspc(18)"***" : ........ Print 18 spaces and the 3 * in the center next: .......................... Increase i; End of cycle