10 DIM T(8) 20 POKE 53280,9:POKE 53281,7 30 PRINT CHR$(147) 40 FOR N=1 TO 417 50 READ M,P 60 POKE 1024+M,P: POKE 55296+M,9 70 NEXT 80 GET C$:IF C$="" GOTO 80 90 LET E=3 100 POKE 53280,5:POKE 53281,5 110 PRINT CHR$(147) 120 FOR N=1 TO 132 130 READ M,P: POKE 1024+M,P: POKE 55296+M,1 140 NEXT 150 PRINT CHR$(158): POKE 781,19:POKE 782,0:POKE 783,0:SYS 65520 160 PRINT " PUT"E""CHR$(5)CHR$(113)CHR$(158)" IN EVERY CELL SO THAT" 170 PRINT " THERE ARE EXACTLY"(E*3)CHR$(5)CHR$(113)CHR$(158)" ON EVERY SIDE." 180 PRINT CHR$(13)" PRESS ("CHR$(5)"A"CHR$(158)"-"CHR$(5)"H"CHR$(158)") TO SELECT ONE CANDY TO EAT " 190 FOR C=1 TO 8:T(C)=E:NEXT 200 FOR C=1 TO 8:V=T(C):GOSUB 3000:NEXT 210 GET C$:IF C$="" GOTO 210 220 Y=0 230 IF ASC(C$)>=65 AND ASC(C$)<=72 THEN Y=ASC(C$)-64 240 IF Y=0 THEN GOTO 210 250 N=0 260 IF Y=1 AND (T(4)=1 OR T(6)=1) THEN N=2 270 IF Y=2 AND T(8)=1 AND T(4)=1 THEN N=2 280 IF Y=3 AND (T(6)=1 OR T(8)=1) THEN N=2 290 IF Y=4 AND T(2)=1 AND T(6)=1 THEN N=2 300 IF Y=5 AND (T(2)=1 OR T(8)=1) THEN N=2 310 IF Y=6 AND T(4)=1 AND T(8)=1 THEN N=2 320 IF Y=7 AND (T(2)=1 OR T(4)=1) THEN N=2 330 IF Y=8 AND T(2)=1 AND T(6)=1 THEN N=2 340 IF Y>0 THEN IF T(Y)=1 THEN N=1 350 IF N>0 THEN POKE 781,19:POKE 782,0:POKE 783,0:SYS 65520:PRINT " " 360 IF N=1 THEN PRINT " DO NOT EAT "CHR$(5)CHR$(Y+64)CHR$(158)": IT IS THE LAST ":PRINT " ":GOTO 210 370 IF N=2 THEN PRINT " PLEASE DO NOT EAT "CHR$(5)CHR$(Y+64)CHR$(158)"! ":PRINT " ":GOTO 210 380 IF Y>0 THEN T(Y)=T(Y)-1:V=T(Y):C=Y:GOSUB 3000 390 IF Y=2 OR Y=4 OR Y=6 OR Y=8 THEN A1=0:B1=0:A2=0:B2=0:GOSUB 1000 400 IF Y=1 OR Y=3 OR Y=5 OR Y=7 THEN A1=0:B1=0:A2=0:B2=0:GOSUB 2000 410 IF A1>0 THEN T(A1)=T(A1)-1:C=A1:V=T(A1):GOSUB 3000:T(B1)=T(B1)+1:C=B1:V=T(B1):GOSUB 3000 420 IF A2>0 THEN T(A2)=T(A2)-1:C=A2:V=T(A2):GOSUB 3000:T(B2)=T(B2)+1:C=B2:V=T(B2):GOSUB 3000 430 IF A1>0 THEN POKE 781,19:POKE 782,0:POKE 783,0:SYS 65520 440 IF A1>0 AND A2=0 THEN PRINT " MOVING "CHR$(5)CHR$(113)CHR$(158)" FROM "CHR$(5)CHR$(A1+64)CHR$(158)" TO "CHR$(5)CHR$(B1+64)CHR$(158)" " 450 IF A1>0 AND A2>0 THEN PRINT "MOVING "CHR$(5)CHR$(113)CHR$(158)" FROM "CHR$(5)CHR$(A1+64)CHR$(158)" TO "CHR$(5)CHR$(B1+64)CHR$(158)" AND "CHR$(5)CHR$(113)CHR$(158)" FROM "CHR$(5)CHR$(A2+64)CHR$(158)" TO "CHR$(5)CHR$(B2+64)CHR$(158)"" 460 IF A1>0 THEN PRINT " THERE ARE STILL 9 "CHR$(5)CHR$(113)CHR$(158)" ON EACH SIDE! " 470 IF A1>0 AND T(2)=1 AND T(4)=1 AND T(6)=1 AND T(8)=1 THEN POKE 781,22:POKE 782,0:POKE 783,0:SYS 65520:PRINT " TIME TO STOP EATING! PRESS ANY KEY " 480 IF A1>0 AND T(2)=1 AND T(4)=1 AND T(6)=1 AND T(8)=1 THEN GET C$:IF C$="" GOTO 480 490 IF A1>0 AND T(2)=1 AND T(4)=1 AND T(6)=1 AND T(8)=1 THEN POKE 781,18:POKE 782,0:POKE 783,0:SYS 65520:PRINT CHR$(13)CHR$(159)" I HOPE YOU ENJOYED LEONARDO'S MAGIC " 500 IF A1>0 AND T(2)=1 AND T(4)=1 AND T(6)=1 AND T(8)=1 THEN PRINT " TRICK FROM CODEX ATLANTICUS, F.958R " 510 IF A1>0 AND T(2)=1 AND T(4)=1 AND T(6)=1 AND T(8)=1 THEN PRINT " DEVELOPED BY "CHR$(158)"MARIANO TOMATIS"CHR$(159)" (2023) " 520 IF A1>0 AND T(2)=1 AND T(4)=1 AND T(6)=1 AND T(8)=1 THEN PRINT " THANK YOU FOR PLAYING! ":GOTO 550 530 IF A1>0 THEN PRINT CHR$(13)" PRESS ("CHR$(5)"A"CHR$(158)"-"CHR$(5)"H"CHR$(158)") TO EAT ANOTHER CANDY " 540 GOTO 210 550 GET C$:IF C$="" GOTO 550 560 RESTORE 570 GOTO 20 1000 D=INT(RND(0)*2) 1010 IF Y=2 AND T(8)=1 THEN A1=4:B1=3 1020 IF Y=2 AND T(4)=1 THEN A1=8:B1=1 1030 IF Y=2 AND A1=0 AND D=0 THEN A1=4:B1=3 1040 IF Y=2 AND A1=0 AND D=1 THEN A1=8:B1=1 1050 IF Y=4 AND T(2)=1 THEN A1=6:B1=5 1060 IF Y=4 AND T(6)=1 THEN A1=2:B1=3 1070 IF Y=4 AND A1=0 AND D=0 THEN A1=6:B1=5 1080 IF Y=4 AND A1=0 AND D=1 THEN A1=2:B1=3 1090 IF Y=6 AND T(8)=1 THEN A1=4:B1=5 1100 IF Y=6 AND T(4)=1 THEN A1=8:B1=7 1110 IF Y=6 AND A1=0 AND D=0 THEN A1=4:B1=5 1120 IF Y=6 AND A1=0 AND D=1 THEN A1=8:B1=7 1130 IF Y=8 AND T(6)=1 THEN A1=2:B1=1 1140 IF Y=8 AND T(2)=1 THEN A1=6:B1=7 1150 IF Y=8 AND A1=0 AND D=0 THEN A1=2:B1=1 1160 IF Y=8 AND A1=0 AND D=1 THEN A1=6:B1=7 1170 RETURN 2000 IF Y=1 THEN A1=4:B1=3:A2=6:B2=7 2010 IF Y=3 THEN A1=8:B1=1:A2=6:B2=5 2020 IF Y=5 THEN A1=2:B1=3:A2=8:B2=7 2030 IF Y=7 THEN A1=2:B1=1:A2=4:B2=5 2040 RETURN 3000 IF C=1 THEN S=174 3010 IF C=2 THEN S=179 3020 IF C=3 THEN S=184 3030 IF C=4 THEN S=384 3040 IF C=5 THEN S=584 3050 IF C=6 THEN S=579 3060 IF C=7 THEN S=574 3070 IF C=8 THEN S=374 3080 O=0 3090 IF V>=2 THEN POKE O+S+1024,81:POKE O+S+55296,1 3100 IF V<2 THEN POKE O+S+1024,32 3110 O=1 3120 IF V>=8 THEN POKE O+S+1024,81:POKE O+S+55296,1 3130 IF V<8 THEN POKE O+S+1024,32 3140 O=2 3150 IF V>=4 THEN POKE O+S+1024,81:POKE O+S+55296,1 3160 IF V<4 THEN POKE O+S+1024,32 3170 O=40 3180 IF V>=6 THEN POKE O+S+1024,81:POKE O+S+55296,1 3190 IF V<6 THEN POKE O+S+1024,32 3200 O=41 3210 IF V=1 OR V=3 OR V=5 OR V>6 THEN POKE O+S+1024,81:POKE O+S+55296,1 3220 IF V=0 OR V=2 OR V=4 OR V=6 THEN POKE O+S+1024,32 3230 O=42 3240 IF V>=6 THEN POKE O+S+1024,81:POKE O+S+55296,1 3250 IF V<6 THEN POKE O+S+1024,32 3260 O=80 3270 IF V>=4 THEN POKE O+S+1024,81:POKE O+S+55296,1 3280 IF V<4 THEN POKE O+S+1024,32 3290 O=81 3300 IF V=9 THEN POKE O+S+1024,81:POKE O+S+55296,1 3310 IF V<9 THEN POKE O+S+1024,32 3320 O=82 3330 IF V>=2 THEN POKE O+S+1024,81:POKE O+S+55296,1 3340 IF V<2 THEN POKE O+S+1024,32 3350 RETURN 4010 DATA 0,105,47,108,48,98,49,98,50,98,51,98,52,98,53,123,86,98,87,160 4020 DATA 88,160,89,160,90,160,91,160,92,160,93,160,94,252,125,225,126,160,127,160 4030 DATA 128,160,129,160,130,160,131,160,132,160,133,160,134,160,135,252,138,13,139,1 4040 DATA 140,18,141,9,142,1,143,14,144,15,146,20,147,15,148,13,149,1,150,20 4050 DATA 151,9,152,19,164,108,165,160,166,160,167,160,168,160,169,160,170,160,171,160 4060 DATA 172,160,173,160,174,160,175,160,191,123,204,160,205,160,206,160,207,160,208,160 4070 DATA 209,160,210,160,211,160,212,160,213,160,214,160,215,236,219,236,220,97,222,225 4080 DATA 223,251,224,226,225,97,226,108,227,226,228,251,229,127,230,108,231,126,232,254 4090 DATA 233,226,234,226,235,97,243,108,244,160,245,160,246,160,247,160,248,160,249,160 4100 DATA 250,160,251,160,252,160,253,160,254,160,255,252,256,98,259,97,260,97,262,225 4110 DATA 263,225,264,98,265,123,266,97,269,97,270,97,272,127,273,127,275,126,283,225 4120 DATA 284,160,285,160,286,160,287,160,288,236,289,126,294,251,295,160,296,126,299,97 4130 DATA 300,97,302,225,303,225,305,126,306,97,309,97,310,97,313,127,314,127,325,254 4140 DATA 326,160,327,160,328,126,329,225,330,160,331,236,332,225,333,160,334,160,335,97 4150 DATA 339,97,340,97,341,108,342,225,343,225,346,127,348,108,349,127,350,126,352,123 4160 DATA 354,127,355,97,365,160,366,160,367,126,369,124,370,126,371,126,372,225,373,126 4170 DATA 374,225,375,97,379,226,380,226,381,226,382,124,383,226,384,226,385,126,387,226 4180 DATA 388,226,389,126,392,124,393,226,394,226,404,225,405,160,406,126,408,123,412,124 4190 DATA 413,123,414,225,415,97,422,225,423,251,424,251,425,251,426,225,427,251,429,255 4200 DATA 430,236,431,226,432,123,444,108,445,126,447,255,451,124,452,98,453,97,454,225 4210 DATA 455,97,462,124,463,225,464,225,465,124,466,225,467,225,468,225,469,225,484,127 4220 DATA 485,126,487,97,488,108,494,124,495,127,503,225,504,225,506,225,507,225,508,225 4230 DATA 509,225,524,255,527,97,528,126,530,255,531,124,532,226,533,124,534,123,535,225 4240 DATA 538,255,539,127,543,225,544,225,546,225,547,225,548,124,549,255,550,123,552,123 4250 DATA 564,126,566,225,568,124,569,226,571,225,572,124,573,123,574,124,575,124,576,97 4260 DATA 578,97,579,225,583,124,584,226,586,124,587,226,589,124,590,226,591,226,602,123 4270 DATA 604,123,606,97,607,225,611,126,613,97,615,108,616,126,618,127,619,255,626,225 4280 DATA 627,251,628,251,629,251,631,108,632,252,635,255,636,236,637,226,638,123,641,255 4290 DATA 643,123,644,97,645,97,647,225,649,108,650,126,651,108,653,97,654,225,656,97 4300 DATA 659,108,660,226,661,123,667,225,668,225,669,124,671,255,672,255,673,123,674,225 4310 DATA 675,225,681,124,682,98,683,255,684,108,685,126,689,124,691,225,693,123,694,97 4320 DATA 695,108,696,126,699,124,700,123,701,124,702,123,707,225,708,225,710,108,711,126 4330 DATA 712,127,713,127,714,225,715,225,721,127,722,98,723,98,724,126,726,97,727,225 4340 DATA 731,225,733,127,734,124,735,255,740,225,741,123,742,124,743,123,747,225,748,225 4350 DATA 750,254,751,98,752,254,753,255,754,255,755,255,756,123,758,123,763,108,764,123 4360 DATA 766,97,767,124,768,123,771,255,774,97,775,97,780,97,781,124,782,123,783,124 4370 DATA 784,123,787,124,788,226,790,126,793,226,794,126,795,124,796,226,797,226,802,127 4380 DATA 803,255,805,124,806,97,811,97,812,225,813,108,814,126,815,225,819,225,820,124 4390 DATA 821,123,824,225,844,127,846,225,848,97,852,225,853,124,859,236,860,123,861,124 4400 DATA 864,225,868,13,869,5,870,19,871,13,872,5,873,18,875,50,876,48,877,50 4410 DATA 878,51,885,126,886,124,887,124,892,124,899,97,900,124,903,108,904,126,939,124 4420 DATA 940,123,942,108,943,126,980,124,981,226,982,126,999,233,13,12,14,5,15,15 4430 DATA 16,39,17,19,19,81,21,20,22,9,23,3,24,20,25,1,26,3,92,85 4440 DATA 93,67,94,67,95,67,96,67,97,114,98,67,99,67,100,67,101,67,102,114 4450 DATA 103,67,104,67,105,67,106,67,107,73,132,66,133,1,137,66,138,2,142,66 4460 DATA 143,3,147,66,172,66,177,66,182,66,187,66,212,66,217,66,222,66,227,66 4470 DATA 252,66,257,66,262,66,267,66,292,107,293,67,294,67,295,67,296,67,297,91 4480 DATA 298,67,299,67,300,67,301,67,302,91,303,67,304,67,305,67,306,67,307,115 4490 DATA 332,66,333,8,337,66,342,66,343,4,347,66,372,66,377,66,382,66,387,66 4500 DATA 412,66,417,66,422,66,427,66,452,66,457,66,462,66,467,66,492,107,493,67 4510 DATA 494,67,495,67,496,67,497,91,498,67,499,67,500,67,501,67,502,91,503,67 4520 DATA 504,67,505,67,506,67,507,115,532,66,533,7,537,66,538,6,542,66,543,5 4530 DATA 547,66,572,66,577,66,582,66,587,66,612,66,617,66,622,66,627,66,652,66 4540 DATA 657,66,662,66,667,66,692,74,693,67,694,67,695,67,696,67,697,113,698,67 4550 DATA 699,67,700,67,701,67,702,113,703,67,704,67,705,67,706,67,707,75