1 'TWELVE.BA - BY Don Phillip Gibson 2 DIMA(12),A$(12),E(12):B$=" ":FORA=1TO12:READA(A):NEXT:DATA41,209,121,225,91,234,58,138,146,218,241,71:FORA=1TO12:READA$(A):NEXT:DATA"Partridge","","","","","Geese","Swans","Maids","Ladies","Lords","Pipers","Drummers":FORA=1TO12:READE(A):NEXT 3 DATA49,254,166,271,135,238,62,142,151,222,246,78 4 SWITCH=1:L=10:CLS:L$="":A=1:GOSUB19:GOSUB17:A=2:GOSUB19:GOSUB16:L=L-2:A=3:GOSUB19:GOSUB15:L=L-1:A=4:GOSUB19:GOSUB14:A=5:GOSUB19:GOSUB13:L=L-1:A=6:GOSUB19:GOSUB12:L=L-1:A=7:GOSUB19:GOSUB11:L=L-1:A=8:GOSUB19:GOSUB10 5 L=L-1:A=9:GOSUB19:GOSUB9:L=L-1:A=10:GOSUB19:GOSUB8:L=L-1:A=11:GOSUB19:GOSUB7:L=L+9:A=12:GOSUB19:L$="last":GOSUB6:GOTO18 6 A=12:GOSUB25:SOUND1975,2*L:GOSUB31:SOUND2636,L:SOUND2348,L:SOUND2216,L:SOUND2636,L 7 A=11:GOSUB25:SOUND1975,2*L:GOSUB31:SOUND2636,L:SOUND2348,L:SOUND2216,L:SOUND2636,L 8 A=10:GOSUB25:SOUND1975,2*L:GOSUB31:SOUND2636,L:SOUND2348,L:SOUND2216,L:SOUND2636,L 9 A=9:GOSUB25:SOUND1975,2*L:GOSUB31:SOUND2636,L:SOUND2348,L:SOUND2216,L:SOUND2636,L 10 A=8:GOSUB25:SOUND1975,2*L:GOSUB31:SOUND2636,L:SOUND2348,L:SOUND2216,L:SOUND2636,L 11 A=7:GOSUB25:SOUND1975,2*L:GOSUB31:SOUND2636,L:SOUND2348,L:SOUND2216,L:SOUND2636,L 12 A=6:GOSUB25:SOUND1975,2*L:GOSUB31:SOUND2636,L:SOUND2348,L+1:SOUND2216,L+2:SOUND2636,L+3 13 L=L+3:A=5:GOSUB25:SOUND1975,5*L:GOSUB31:SOUND1758,2.5*L:SOUND2092,2.5*L:SOUND1975,8*L:IFL$="last"THEN14ELSEL=L-3 14 A=4:GOSUB25:SOUND1975,L:SOUND2216,L:SOUND2348,L:SOUND2636,L:GOSUB31:SOUND2959,2*L 15 A=3:GOSUB25:SOUND2348,2*L:GOSUB31:SOUND3516,2*L:SOUND2959,2*L:IFL$="last"THENL=L+6 16 A=2:GOSUB25:SOUND2636,L:SOUND2959,L:SOUND3134,L:SOUND3516,L:GOSUB31:SOUND3950,2*L:IFL$="last"THENL=L+6 17 A=1:GOSUB25:SOUND2348,L:SOUND2216,L:GOSUB31:SOUND1975,2*L:SOUND1758,L:SOUND2216,L:SOUND2348,L:SOUND2959,L:SOUND2636,2*L:SOUND2959,6*L:PRINTCHR$(27)+"q":RETURN 18 SWITCH=0:FORA=12TO1STEP-1'final box 19 I=INT(A(A)/40):X1=((A(A)-(I*40))*6)-2:Y1=(I*8)-2:I=INT(E(A)/40):X2=((E(A)-(I*40))*6)+6:Y2=(I*8)+9:IFL$="last"THENLINE(X1+1,Y1+1)-(X2-1,Y2-1),1,BFELSELINE(X1,Y1)-(X2,Y2),1,B 20 BOW=X1+((X2-X1)/2):MID=((Y2-Y1)/2)+Y1:LINE(BO,Y1)-(BO,Y2),SW:LINE(X1,MI)-(X2,MI),SW:IFL$<>"last"THEN22ELSENEXTA:FORK=1TO1000:NEXT:PRINT@296,"Run";:PRINT@315,"Menu"; 21 K$="":K$=INKEY$:IFK$=""THEN21ELSEIFK$="M"THENMENUELSEIFK$="R"THEN4ELSE21 22 PSET(BO-6,Y1-2):PSET(BO+6,Y1-2):PSET(BO-5,Y1-1):PSET(BO-5,Y1-3):PSET(BO+5,Y1-1):PSET(BO+5,Y1-3):PSET(BO-4,Y1-1):PSET(BO-4,Y1-3):PSET(BO+4,Y1-1):PSET(BO+4,Y1-3):PSET(BO-3,Y1-1):PSET(BO-3,Y1-3):PSET(BO+3,Y1-1):PSET(BO+3,Y1-3):PSET(BO-2,Y1-1) 23 PSET(BO-2,Y1-3):PSET(BO+2,Y1-1):PSET(BO+2,Y1-3):PSET(BO-1,Y1-2):PSET(BO+1,Y1-2):PSET(BO,Y1-2):SOUND3950,L:SOUND3950,L:SOUND3950,2*L:SOUND2959,L:SOUND2959,L:SOUND2959,2*L:SOUND3134,L:SOUND2959,L:SOUND2636,L+(L/8):SOUND2348,L+(L/6):SOUND2216,L+(L/4) 24 SOUND2636,L+(L/2):SOUND2348,8*L:LINE(X1,Y1)-(X2,Y2),1,BF:FORK=1TO50:NEXT:PRINTCHR$(27)+"p":GOSUB31:FORK=1TO50:NEXT:RETURN 25 ONAGOTO26,27,28,29,30 26 PRINT@A(A),LEFT$(B$,(LEN(A$(A)))):RETURN 27 PRINT@209," ":PRINT@249," ":RETURN 28 PRINT@121," ":PRINT@162," ":RETURN 29 PRINT@225," ":PRINT@266," ":RETURN 30 PRINT@91," ":PRINT@131," ":RETURN 31 ONAGOTO32,33,34,35,36 32 PRINT@A(A),A$(A):RETURN 33 PRINT@209,"Turtle":PRINT@249,"doves":RETURN 34 PRINT@121,"French":PRINT@162,"hens":RETURN 35 PRINT@225,"Calling":PRINT@266,"birds":RETURN 36 PRINT@91,"Gold":PRINT@131,"rings":RETURN