Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_21.ADF » G/IDIOT

G/IDIOT

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_21.ADF
Filename: G/IDIOT
Read OK:
File size: 141B bytes
Load address: FFFF0E00
Exec address: FFFF802B
Duplicates

There are 2 duplicate copies of this file in the archive:

File contents
   10REM Idiot's Delight Patience
   35IF PAGE>&E00 OSCLI"KEY0 P%=PA.|MFORI=0 TO (TOP-PAGE)STEP4:I!&E00=I!P%:NEXT|MPA.=&E00|MO.|MRUN|M":OSCLI"FX138,0,128":END
   40*FX200
   50MODE7
   60VDU23,1,0;0;0;0;
   70ONERRORRUN
   80PROCinitcards:PROCshuffle:PROCdeal:PROCchars:PROCinit
   90PRINT CHR$141;CHR$134;CHR$157;CHR$132;SPC4;"IDIOT'S DELIGHT PATIENCE";SPC6;CHR$156
  100PRINT CHR$141;CHR$134;CHR$157;CHR$132;SPC4;"IDIOT'S DELIGHT PATIENCE";SPC6;CHR$156
  110PRINT'TAB(11);"(C) HeadFirst 1991"
  120PRINT'"The object of the game is to move the"'"cards so that you can take out the"'"Aces and build on them in ascending"'"order of suit."
  130PRINT"The bottom card of one of the files"'"(1-9) may be placed on the bottom of"'"another file under a card one higher"'"of the opposite colour."
  140PRINT"The bottom card can be removed to build"'"the four foundations (P-S) in ascending"'"order of suit (Ace to King)."
  150PRINT"If one complete vertical file becomes"'"empty, any number of cards from the"'"bottom of any other file can be put"'"there."
  160PRINT"The seven spares (A-G) can be either"'"used for building the foundations or forbuilding on the bottom cards of the "'"vertical files."
  170PRINTTAB(13,24);CHR$134;"Press SPACE";
  180REPEAT UNTIL INKEY-99
  190MODE1
  200VDU23,1,0;0;0;0;19,2,2;0;:COLOUR130:CLS
  210PROCtableau
  220REPEAT
  230COLOUR3:COLOUR130
  240PRINTTAB(0,29)SPC30;
  250PRINTTAB(0,30)SPC35;
  260PRINTTAB(0,29)"Move from ";
  270REPEAT f%=GET-48:UNTIL (f%>0 AND f%<10) OR (f%>16 AND f%<24)
  280PRINT CHR$(f%+48);" to ";
  290REPEAT t%=GET-48:UNTIL ((t%>0 AND t%<10) OR (t%>31 AND t%<36)) AND t%<>f%
  300PRINT CHR$(t%+48)
  310IF FNcheckmove(f%,t%)=FALSE PRINTTAB(0,30)"Move disallowed...";CHR$7;:TIME=0:REPEATUNTILTIME>100:UNTIL0
  320PROCmove(f%,t%)
  330UNTIL FNcheckwon
  340COLOUR0:COLOUR130
  350PRINTTAB(0,30)SPC35;
  360PRINTTAB(0,30)"Congratulations - you completed it..."
  370TIME=0:REPEAT UNTIL TIME>200
  380AARGH!
  390DEF PROCinitcards
  400DIM card%(52)
  410FOR x%=1 TO 4
  420FOR y%=1 TO 13
  430card%(y%+(x%-1)*13)=y%*16+x%
  440NEXT,
  450card%(0)=52
  460ENDPROC
  470DEFPROCshuffle
  480x%=RND(-TIME)
  490FOR x%=1 TO 52
  500y%=RND(52)
  510z%=card%(y%):card%(y%)=card%(x%):card%(x%)=z%
  520NEXT
  530ENDPROC
  540DEFPROCdeal
  550DIM triangle%(9,16)
  560DIM spare%(7)
  570DIM foundation%(4)
  580FOR x%=1 TO 9
  590 FOR y%=1 TO 10-x%
  600 triangle%(x%,y%)=FNgetcard
  610NEXT
  620triangle%(x%,0)=10-x%
  630NEXT
  640FORI=1TO7:spare%(I)=FNgetcard
  650NEXT
  660ENDPROC
  670DEFFNgetcard
  680card%(0)=card%(0)-1
  690=card%(card%(0)+1)
  700DEFPROCtableau
  710COLOUR3:COLOUR130
  720PRINTTAB(8,1)"IDIOT'S DELIGHT PATIENCE"
  730FOR x%=1 TO 9
  740FOR y%=1 TO triangle%(x%,0)
  750 PROCf(triangle%(x%,y%),x%*4-3,y%+3)
  760NEXT,
  770FOR x%=1 TO 7
  780PROCf(spare%(x%),36,x%+18)
  790NEXT
  800COLOUR3:COLOUR130
  810FOR x%=1 TO 9
  820PRINTTAB(x%*4-2,3);x%:NEXT
  830FOR x%=1 TO 7
  840PRINTTAB(39,x%+18);CHR$(x%+64);:NEXT
  850FOR x%=1 TO 4
  860PRINTTAB(x%*4+7,23);CHR$(x%+79);:NEXT
  870ENDPROC
  880DEFFNcheckmove(f%,t%)
  890IF f%>0 AND f%<10 fc%=triangle%(f%,triangle%(f%,0))
  900IF f%>16 AND f%<24 fc%=spare%(f%-16)
  910IF t%>0 AND t%<10 tc%=triangle%(t%,triangle%(t%,0))
  920IF t%>31 AND t%<36 tc%=foundation%(t%-31)
  930IF t%>31 AND t%<36 AND fc%-tc%=16 =TRUE
  940IF t%>0 AND t%<10 AND (tc% DIV16)-(fc% DIV16)=1 AND (fc% AND 1)=((tc% AND 1) EOR 1) =TRUE
  950IF t%>0 AND t%<10 AND tc%=0 =TRUE
  960IF t%>31 AND t%<36 AND tc%=0 AND (fc% DIV16)=1 =TRUE
  970=FALSE
  980DEFPROCmove(f%,t%)
  990IF t%<10 AND tc%=0 AND f%<10 PROCmanymoves:ENDPROC
 1000IF t%<10 triangle%(t%,0)=triangle%(t%,0)+1:PROCf(fc%,t%*4-3,triangle%(t%,0)+3):triangle%(t%,triangle%(t%,0))=fc%
 1010IF t%>31 PROCf(fc%,(t%-31)*4+6,24):foundation%(t%-31)=fc%
 1020IF f%<10 triangle%(f%,0)=triangle%(f%,0)-1:PROCf(triangle%(f%,triangle%(f%,0)),f%*4-3,triangle%(f%,0)+3)
 1030IF f%>16 spare%(f%-16)=-1:FORx%=f%-17 TO 7:PROCf(spare%(x%),36,x%+18):NEXT
 1040ENDPROC
 1050DEFFNcheckwon
 1060y%=0
 1070FOR x%=1 TO 4
 1080 y%=y%+(foundation%(x%)DIV16):NEXT
 1090=(y%=52)
 1100DEFPROCmanymoves
 1110PRINTTAB(0,30)"Choose card to move from: ";
 1120FOR x%=1 TO triangle%(f%,0)
 1130c%=triangle%(f%,x%)
 1140c$=CHR$(223+(c% MOD16))
 1150c%=c% DIV16
 1160IF c%>1 AND c%<10 c$=CHR$(48+c%)+c$
 1170IF c%=1 c$="A"+c$
 1180IF c%=10 c$=CHR$229+c$
 1190IF c%=11 c$="J"+c$ ELSE IF c%=12 c$="Q"+c$ ELSE IF c%=13 c$="K"+c$
 1200PRINTTAB(26,30)c$;" (Y/N)?"
 1210REPEAT A$=GET$:UNTIL INSTR("YN",A$):IF A$="N" NEXT:ENDPROC ELSE IF A$="Y" y%=x%:x%=triangle%(f%,0):NEXT
 1220FOR x%=y% TO triangle%(f%,0)
 1230triangle%(f%,0)=triangle%(f%,0)-1
 1240triangle%(t%,0)=triangle%(t%,0)+1
 1250triangle%(t%,triangle%(t%,0))=triangle%(f%,x%)
 1260PROCf(triangle%(f%,x%),t%*4-3,triangle%(t%,0)+3)
 1270PROCf(triangle%(f%,triangle%(f%,0)),f%*4-3,triangle%(f%,0)+3)
 1280NEXT
 1290ENDPROC
 1300DEFPROCchars
 1310VDU23,224,54,127,127,127,62,28,8,0
 1320VDU23,225,8,28,62,127,127,127,28,62
 1330VDU23,226,0,8,28,62,127,62,28,8
 1340VDU23,227,8,28,28,107,127,107,8,28
 1350VDU23,228,&66,&CC,&99,&33,&66,&CC,&99,&33
 1360VDU23,229,78,91,81,81,81,91,78,0
 1370VDU23,230,0,&4C,&19,&33,&66,&4C,&19,&33
 1380VDU23,231,0,&CC,&99,&33,&66,&CC,&99,&33
 1390VDU23,232,0,&CC,&98,&32,&66,&CC,&98,&32
 1400VDU23,233,&66,&CC,&98,&32,&66,&CC,&98,&32
 1410VDU23,234,&66,&CC,&98,&32,&66,&CC,&98,0
 1420VDU23,235,&66,&CC,&99,&33,&66,&CC,&99,0
 1430VDU23,236,&66,&4C,&19,&33,&66,&4C,&19,0
 1440VDU23,237,&66,&4C,&19,&33,&66,&4C,&19,&33
 1450z$=CHR$(228)+CHR$(228)+CHR$(228)
 1460ENDPROC
 1470DEFPROCf(C%,x%,y%)
 1480LOCAL s%,v%,c$
 1490IF C%=-1 VDU31,x%,y%:COLOUR1:COLOUR131:PRINT y$:ENDPROC
 1500IF C%=0 y%=y%+1:VDU31,x%,y%,32,32,32,31,x%,y%+1,32,32,32,31,x%,y%+2,32,32,32,31,x%,y%+3,32,32,32:ENDPROC
 1510IF C% AND 1 COLOUR1 ELSE COLOUR0
 1520COLOUR131
 1530s%=(C% AND &F0)DIV16:v%=(C% AND &F):c$=CHR$(s%+48):IF s%=1 c$="A" ELSE IF s%=10 c$=CHR$(229) ELSE IF s%=11 c$="J" ELSE IF s%=12 c$="Q" ELSE IF s%=13 c$="K"
 1540c$=c$+" "+CHR$(v%+223)
 1550VDU31,x%,y%:PRINTc$
 1560VDU31,x%,y%+1:PRINTSPC3
 1570VDU31,x%,y%+2:PRINTSPC3
 1580c$=RIGHT$(c$+" "+LEFT$(c$,1),3)
 1590VDU31,x%,y%+3:PRINTc$
 1600COLOUR130
 1610VDU31,x%,y%+4:PRINTSPC3
 1620VDU31,x%,y%+5:PRINTSPC3
 1630ENDPROC
 1640:
 1650DEFPROCinit
 1660z$=CHR$(230)+CHR$(231)+CHR$(232)
 1670y$=CHR$230+CHR$231+CHR$232+CHR$10+CHR$8+CHR$8+CHR$8+CHR$237+CHR$228+CHR$233+CHR$10+CHR$8+CHR$8+CHR$8+CHR$237+CHR$228+CHR$233+CHR$10+CHR$8+CHR$8+CHR$8+CHR$236+CHR$235+CHR$234
 1680ENDPROC

� Idiot's Delight Patience
#m� �>&E00 �"KEY0 P%=PA.|MFORI=0 TO (TOP-PAGE)STEP4:I!&E00=I!P%:NEXT|MPA.=&E00|MO.|MRUN|M":�"FX138,0,128":�
(
*FX200
2�7
<�23,1,0;0;0;0;
F�
P*�initcards:�shuffle:�deal:�chars:�init
Z?� �141;�134;�157;�132;�4;"IDIOT'S DELIGHT PATIENCE";�6;�156
d?� �141;�134;�157;�132;�4;"IDIOT'S DELIGHT PATIENCE";�6;�156
n�'�11);"(C) HeadFirst 1991"
x��'"The object of the game is to move the"'"cards so that you can take out the"'"Aces and build on them in ascending"'"order of suit."
���"The bottom card of one of the files"'"(1-9) may be placed on the bottom of"'"another file under a card one higher"'"of the opposite colour."
�w�"The bottom card can be removed to build"'"the four foundations (P-S) in ascending"'"order of suit (Ace to King)."
���"If one complete vertical file becomes"'"empty, any number of cards from the"'"bottom of any other file can be put"'"there."
���"The seven spares (A-G) can be either"'"used for building the foundations or forbuilding on the bottom cards of the "'"vertical files."
� �13,24);�134;"Press SPACE";
�� � �-99
��1
�"�23,1,0;0;0;0;19,2,2;0;:�130:�
��tableau
��
��3:�130
��0,29)�30;
��0,30)�35;
�0,29)"Move from ";
0� f%=�-48:� (f%>0 � f%<10) � (f%>16 � f%<24)
� �(f%+48);" to ";
";� t%=�-48:� ((t%>0 � t%<10) � (t%>31 � t%<36)) � t%<>f%
,� �(t%+48)
6H� �checkmove(f%,t%)=� �0,30)"Move disallowed...";�7;:�=0:���>100:�0
@�move(f%,t%)
J� �checkwon
T�0:�130
^�0,30)�35;
h2�0,30)"Congratulations - you completed it..."
r�=0:� � �>200
|
AARGH!
�� �initcards
�� card%(52)
�� x%=1 � 4
�� y%=1 � 13
� card%(y%+(x%-1)*13)=y%*16+x%
��,
�card%(0)=52
��
�
��shuffle
�x%=�(-�)
�� x%=1 � 52
�y%=�(52)
�1z%=card%(y%):card%(y%)=card%(x%):card%(x%)=z%
�
�

��deal
&� triangle%(9,16)
0� spare%(7)
:� foundation%(4)
D� x%=1 � 9
N � y%=1 � 10-x%
X triangle%(x%,y%)=�getcard
b�
ltriangle%(x%,0)=10-x%
v�
��I=1�7:spare%(I)=�getcard
��
��
�
ݤgetcard
�card%(0)=card%(0)-1
�=card%(card%(0)+1)
�
��tableau
��3:�130
�$�8,1)"IDIOT'S DELIGHT PATIENCE"
�� x%=1 � 9
�� y%=1 � triangle%(x%,0)
�% �f(triangle%(x%,y%),x%*4-3,y%+3)
��,
� x%=1 � 7
�f(spare%(x%),36,x%+18)
�
 �3:�130
*� x%=1 � 9
4�x%*4-2,3);x%:�
>� x%=1 � 7
H�39,x%+18);�(x%+64);:�
R� x%=1 � 4
\�x%*4+7,23);�(x%+79);:�
f�
pݤcheckmove(f%,t%)
z4� f%>0 � f%<10 fc%=triangle%(f%,triangle%(f%,0))
�%� f%>16 � f%<24 fc%=spare%(f%-16)
�4� t%>0 � t%<10 tc%=triangle%(t%,triangle%(t%,0))
�*� t%>31 � t%<36 tc%=foundation%(t%-31)
�#� t%>31 � t%<36 � fc%-tc%=16 =�
�I� t%>0 � t%<10 � (tc% �16)-(fc% �16)=1 � (fc% � 1)=((tc% � 1) � 1) =�
�� t%>0 � t%<10 � tc%=0 =�
�,� t%>31 � t%<36 � tc%=0 � (fc% �16)=1 =�
�=�
���move(f%,t%)
�(� t%<10 � tc%=0 � f%<10 �manymoves:�
�p� t%<10 triangle%(t%,0)=triangle%(t%,0)+1:�f(fc%,t%*4-3,triangle%(t%,0)+3):triangle%(t%,triangle%(t%,0))=fc%
�9� t%>31 �f(fc%,(t%-31)*4+6,24):foundation%(t%-31)=fc%
�h� f%<10 triangle%(f%,0)=triangle%(f%,0)-1:�f(triangle%(f%,triangle%(f%,0)),f%*4-3,triangle%(f%,0)+3)
D� f%>16 spare%(f%-16)=-1:�x%=f%-17 � 7:�f(spare%(x%),36,x%+18):�
�
ݤcheckwon
$y%=0
.� x%=1 � 4
8! y%=y%+(foundation%(x%)�16):�
B=(y%=52)
L��manymoves
V(�0,30)"Choose card to move from: ";
`� x%=1 � triangle%(f%,0)
jc%=triangle%(f%,x%)
tc$=�(223+(c% �16))
~
c%=c% �16
�!� c%>1 � c%<10 c$=�(48+c%)+c$
�� c%=1 c$="A"+c$
�� c%=10 c$=�229+c$
�=� c%=11 c$="J"+c$ � � c%=12 c$="Q"+c$ � � c%=13 c$="K"+c$
��26,30)c$;" (Y/N)?"
�I� A$=�:� �"YN",A$):� A$="N" �:� � � A$="Y" y%=x%:x%=triangle%(f%,0):�
�� x%=y% � triangle%(f%,0)
�%triangle%(f%,0)=triangle%(f%,0)-1
�%triangle%(t%,0)=triangle%(t%,0)+1
�2triangle%(t%,triangle%(t%,0))=triangle%(f%,x%)
�1�f(triangle%(f%,x%),t%*4-3,triangle%(t%,0)+3)
�>�f(triangle%(f%,triangle%(f%,0)),f%*4-3,triangle%(f%,0)+3)
�

�
��chars
$�23,224,54,127,127,127,62,28,8,0
(%�23,225,8,28,62,127,127,127,28,62
2!�23,226,0,8,28,62,127,62,28,8
<$�23,227,8,28,28,107,127,107,8,28
F+�23,228,&66,&CC,&99,&33,&66,&CC,&99,&33
P"�23,229,78,91,81,81,81,91,78,0
Z)�23,230,0,&4C,&19,&33,&66,&4C,&19,&33
d)�23,231,0,&CC,&99,&33,&66,&CC,&99,&33
n)�23,232,0,&CC,&98,&32,&66,&CC,&98,&32
x+�23,233,&66,&CC,&98,&32,&66,&CC,&98,&32
�)�23,234,&66,&CC,&98,&32,&66,&CC,&98,0
�)�23,235,&66,&CC,&99,&33,&66,&CC,&99,0
�)�23,236,&66,&4C,&19,&33,&66,&4C,&19,0
�+�23,237,&66,&4C,&19,&33,&66,&4C,&19,&33
�z$=�(228)+�(228)+�(228)
��
���f(C%,x%,y%)
�� s%,v%,c$
�$� C%=-1 �31,x%,y%:�1:�131:� y$:�
�c� C%=0 y%=y%+1:�31,x%,y%,32,32,32,31,x%,y%+1,32,32,32,31,x%,y%+2,32,32,32,31,x%,y%+3,32,32,32:�
�� C% � 1 �1 � �0
��131
��s%=(C% � &F0)�16:v%=(C% � &F):c$=�(s%+48):� s%=1 c$="A" � � s%=10 c$=�(229) � � s%=11 c$="J" � � s%=12 c$="Q" � � s%=13 c$="K"
c$=c$+" "+�(v%+223)
�31,x%,y%:�c$
�31,x%,y%+1:�3
"�31,x%,y%+2:�3
,c$=�c$+" "+�c$,1),3)
6�31,x%,y%+3:�c$
@�130
J�31,x%,y%+4:�3
T�31,x%,y%+5:�3
^�
h:
r
��init
|z$=�(230)+�(231)+�(232)
�iy$=�230+�231+�232+�10+�8+�8+�8+�237+�228+�233+�10+�8+�8+�8+�237+�228+�233+�10+�8+�8+�8+�236+�235+�234
��
�
00000000  0d 00 0a 1e f4 20 49 64  69 6f 74 27 73 20 44 65  |..... Idiot's De|
00000010  6c 69 67 68 74 20 50 61  74 69 65 6e 63 65 0d 00  |light Patience..|
00000020  23 6d e7 20 90 3e 26 45  30 30 20 ff 22 4b 45 59  |#m. .>&E00 ."KEY|
00000030  30 20 50 25 3d 50 41 2e  7c 4d 46 4f 52 49 3d 30  |0 P%=PA.|MFORI=0|
00000040  20 54 4f 20 28 54 4f 50  2d 50 41 47 45 29 53 54  | TO (TOP-PAGE)ST|
00000050  45 50 34 3a 49 21 26 45  30 30 3d 49 21 50 25 3a  |EP4:I!&E00=I!P%:|
00000060  4e 45 58 54 7c 4d 50 41  2e 3d 26 45 30 30 7c 4d  |NEXT|MPA.=&E00|M|
00000070  4f 2e 7c 4d 52 55 4e 7c  4d 22 3a ff 22 46 58 31  |O.|MRUN|M":."FX1|
00000080  33 38 2c 30 2c 31 32 38  22 3a e0 0d 00 28 0a 2a  |38,0,128":...(.*|
00000090  46 58 32 30 30 0d 00 32  06 eb 37 0d 00 3c 12 ef  |FX200..2..7..<..|
000000a0  32 33 2c 31 2c 30 3b 30  3b 30 3b 30 3b 0d 00 46  |23,1,0;0;0;0;..F|
000000b0  07 ee 85 f9 0d 00 50 2a  f2 69 6e 69 74 63 61 72  |......P*.initcar|
000000c0  64 73 3a f2 73 68 75 66  66 6c 65 3a f2 64 65 61  |ds:.shuffle:.dea|
000000d0  6c 3a f2 63 68 61 72 73  3a f2 69 6e 69 74 0d 00  |l:.chars:.init..|
000000e0  5a 3f f1 20 bd 31 34 31  3b bd 31 33 34 3b bd 31  |Z?. .141;.134;.1|
000000f0  35 37 3b bd 31 33 32 3b  89 34 3b 22 49 44 49 4f  |57;.132;.4;"IDIO|
00000100  54 27 53 20 44 45 4c 49  47 48 54 20 50 41 54 49  |T'S DELIGHT PATI|
00000110  45 4e 43 45 22 3b 89 36  3b bd 31 35 36 0d 00 64  |ENCE";.6;.156..d|
00000120  3f f1 20 bd 31 34 31 3b  bd 31 33 34 3b bd 31 35  |?. .141;.134;.15|
00000130  37 3b bd 31 33 32 3b 89  34 3b 22 49 44 49 4f 54  |7;.132;.4;"IDIOT|
00000140  27 53 20 44 45 4c 49 47  48 54 20 50 41 54 49 45  |'S DELIGHT PATIE|
00000150  4e 43 45 22 3b 89 36 3b  bd 31 35 36 0d 00 6e 1f  |NCE";.6;.156..n.|
00000160  f1 27 8a 31 31 29 3b 22  28 43 29 20 48 65 61 64  |.'.11);"(C) Head|
00000170  46 69 72 73 74 20 31 39  39 31 22 0d 00 78 89 f1  |First 1991"..x..|
00000180  27 22 54 68 65 20 6f 62  6a 65 63 74 20 6f 66 20  |'"The object of |
00000190  74 68 65 20 67 61 6d 65  20 69 73 20 74 6f 20 6d  |the game is to m|
000001a0  6f 76 65 20 74 68 65 22  27 22 63 61 72 64 73 20  |ove the"'"cards |
000001b0  73 6f 20 74 68 61 74 20  79 6f 75 20 63 61 6e 20  |so that you can |
000001c0  74 61 6b 65 20 6f 75 74  20 74 68 65 22 27 22 41  |take out the"'"A|
000001d0  63 65 73 20 61 6e 64 20  62 75 69 6c 64 20 6f 6e  |ces and build on|
000001e0  20 74 68 65 6d 20 69 6e  20 61 73 63 65 6e 64 69  | them in ascendi|
000001f0  6e 67 22 27 22 6f 72 64  65 72 20 6f 66 20 73 75  |ng"'"order of su|
00000200  69 74 2e 22 0d 00 82 92  f1 22 54 68 65 20 62 6f  |it."....."The bo|
00000210  74 74 6f 6d 20 63 61 72  64 20 6f 66 20 6f 6e 65  |ttom card of one|
00000220  20 6f 66 20 74 68 65 20  66 69 6c 65 73 22 27 22  | of the files"'"|
00000230  28 31 2d 39 29 20 6d 61  79 20 62 65 20 70 6c 61  |(1-9) may be pla|
00000240  63 65 64 20 6f 6e 20 74  68 65 20 62 6f 74 74 6f  |ced on the botto|
00000250  6d 20 6f 66 22 27 22 61  6e 6f 74 68 65 72 20 66  |m of"'"another f|
00000260  69 6c 65 20 75 6e 64 65  72 20 61 20 63 61 72 64  |ile under a card|
00000270  20 6f 6e 65 20 68 69 67  68 65 72 22 27 22 6f 66  | one higher"'"of|
00000280  20 74 68 65 20 6f 70 70  6f 73 69 74 65 20 63 6f  | the opposite co|
00000290  6c 6f 75 72 2e 22 0d 00  8c 77 f1 22 54 68 65 20  |lour."...w."The |
000002a0  62 6f 74 74 6f 6d 20 63  61 72 64 20 63 61 6e 20  |bottom card can |
000002b0  62 65 20 72 65 6d 6f 76  65 64 20 74 6f 20 62 75  |be removed to bu|
000002c0  69 6c 64 22 27 22 74 68  65 20 66 6f 75 72 20 66  |ild"'"the four f|
000002d0  6f 75 6e 64 61 74 69 6f  6e 73 20 28 50 2d 53 29  |oundations (P-S)|
000002e0  20 69 6e 20 61 73 63 65  6e 64 69 6e 67 22 27 22  | in ascending"'"|
000002f0  6f 72 64 65 72 20 6f 66  20 73 75 69 74 20 28 41  |order of suit (A|
00000300  63 65 20 74 6f 20 4b 69  6e 67 29 2e 22 0d 00 96  |ce to King)."...|
00000310  81 f1 22 49 66 20 6f 6e  65 20 63 6f 6d 70 6c 65  |.."If one comple|
00000320  74 65 20 76 65 72 74 69  63 61 6c 20 66 69 6c 65  |te vertical file|
00000330  20 62 65 63 6f 6d 65 73  22 27 22 65 6d 70 74 79  | becomes"'"empty|
00000340  2c 20 61 6e 79 20 6e 75  6d 62 65 72 20 6f 66 20  |, any number of |
00000350  63 61 72 64 73 20 66 72  6f 6d 20 74 68 65 22 27  |cards from the"'|
00000360  22 62 6f 74 74 6f 6d 20  6f 66 20 61 6e 79 20 6f  |"bottom of any o|
00000370  74 68 65 72 20 66 69 6c  65 20 63 61 6e 20 62 65  |ther file can be|
00000380  20 70 75 74 22 27 22 74  68 65 72 65 2e 22 0d 00  | put"'"there."..|
00000390  a0 8c f1 22 54 68 65 20  73 65 76 65 6e 20 73 70  |..."The seven sp|
000003a0  61 72 65 73 20 28 41 2d  47 29 20 63 61 6e 20 62  |ares (A-G) can b|
000003b0  65 20 65 69 74 68 65 72  22 27 22 75 73 65 64 20  |e either"'"used |
000003c0  66 6f 72 20 62 75 69 6c  64 69 6e 67 20 74 68 65  |for building the|
000003d0  20 66 6f 75 6e 64 61 74  69 6f 6e 73 20 6f 72 20  | foundations or |
000003e0  66 6f 72 62 75 69 6c 64  69 6e 67 20 6f 6e 20 74  |forbuilding on t|
000003f0  68 65 20 62 6f 74 74 6f  6d 20 63 61 72 64 73 20  |he bottom cards |
00000400  6f 66 20 74 68 65 20 22  27 22 76 65 72 74 69 63  |of the "'"vertic|
00000410  61 6c 20 66 69 6c 65 73  2e 22 0d 00 aa 20 f1 8a  |al files."... ..|
00000420  31 33 2c 32 34 29 3b bd  31 33 34 3b 22 50 72 65  |13,24);.134;"Pre|
00000430  73 73 20 53 50 41 43 45  22 3b 0d 00 b4 0c f5 20  |ss SPACE";..... |
00000440  fd 20 a6 2d 39 39 0d 00  be 06 eb 31 0d 00 c8 22  |. .-99.....1..."|
00000450  ef 32 33 2c 31 2c 30 3b  30 3b 30 3b 30 3b 31 39  |.23,1,0;0;0;0;19|
00000460  2c 32 2c 32 3b 30 3b 3a  fb 31 33 30 3a db 0d 00  |,2,2;0;:.130:...|
00000470  d2 0c f2 74 61 62 6c 65  61 75 0d 00 dc 05 f5 0d  |...tableau......|
00000480  00 e6 0b fb 33 3a fb 31  33 30 0d 00 f0 0f f1 8a  |....3:.130......|
00000490  30 2c 32 39 29 89 33 30  3b 0d 00 fa 0f f1 8a 30  |0,29).30;......0|
000004a0  2c 33 30 29 89 33 35 3b  0d 01 04 18 f1 8a 30 2c  |,30).35;......0,|
000004b0  32 39 29 22 4d 6f 76 65  20 66 72 6f 6d 20 22 3b  |29)"Move from ";|
000004c0  0d 01 0e 30 f5 20 66 25  3d a5 2d 34 38 3a fd 20  |...0. f%=.-48:. |
000004d0  28 66 25 3e 30 20 80 20  66 25 3c 31 30 29 20 84  |(f%>0 . f%<10) .|
000004e0  20 28 66 25 3e 31 36 20  80 20 66 25 3c 32 34 29  | (f%>16 . f%<24)|
000004f0  0d 01 18 16 f1 20 bd 28  66 25 2b 34 38 29 3b 22  |..... .(f%+48);"|
00000500  20 74 6f 20 22 3b 0d 01  22 3b f5 20 74 25 3d a5  | to ";..";. t%=.|
00000510  2d 34 38 3a fd 20 28 28  74 25 3e 30 20 80 20 74  |-48:. ((t%>0 . t|
00000520  25 3c 31 30 29 20 84 20  28 74 25 3e 33 31 20 80  |%<10) . (t%>31 .|
00000530  20 74 25 3c 33 36 29 29  20 80 20 74 25 3c 3e 66  | t%<36)) . t%<>f|
00000540  25 0d 01 2c 0e f1 20 bd  28 74 25 2b 34 38 29 0d  |%..,.. .(t%+48).|
00000550  01 36 48 e7 20 a4 63 68  65 63 6b 6d 6f 76 65 28  |.6H. .checkmove(|
00000560  66 25 2c 74 25 29 3d a3  20 f1 8a 30 2c 33 30 29  |f%,t%)=. ..0,30)|
00000570  22 4d 6f 76 65 20 64 69  73 61 6c 6c 6f 77 65 64  |"Move disallowed|
00000580  2e 2e 2e 22 3b bd 37 3b  3a d1 3d 30 3a f5 fd 91  |...";.7;:.=0:...|
00000590  3e 31 30 30 3a fd 30 0d  01 40 10 f2 6d 6f 76 65  |>100:.0..@..move|
000005a0  28 66 25 2c 74 25 29 0d  01 4a 0f fd 20 a4 63 68  |(f%,t%)..J.. .ch|
000005b0  65 63 6b 77 6f 6e 0d 01  54 0b fb 30 3a fb 31 33  |eckwon..T..0:.13|
000005c0  30 0d 01 5e 0f f1 8a 30  2c 33 30 29 89 33 35 3b  |0..^...0,30).35;|
000005d0  0d 01 68 32 f1 8a 30 2c  33 30 29 22 43 6f 6e 67  |..h2..0,30)"Cong|
000005e0  72 61 74 75 6c 61 74 69  6f 6e 73 20 2d 20 79 6f  |ratulations - yo|
000005f0  75 20 63 6f 6d 70 6c 65  74 65 64 20 69 74 2e 2e  |u completed it..|
00000600  2e 22 0d 01 72 11 d1 3d  30 3a f5 20 fd 20 91 3e  |."..r..=0:. . .>|
00000610  32 30 30 0d 01 7c 0a 41  41 52 47 48 21 0d 01 86  |200..|.AARGH!...|
00000620  10 dd 20 f2 69 6e 69 74  63 61 72 64 73 0d 01 90  |.. .initcards...|
00000630  0f de 20 63 61 72 64 25  28 35 32 29 0d 01 9a 0e  |.. card%(52)....|
00000640  e3 20 78 25 3d 31 20 b8  20 34 0d 01 a4 0f e3 20  |. x%=1 . 4..... |
00000650  79 25 3d 31 20 b8 20 31  33 0d 01 ae 20 63 61 72  |y%=1 . 13... car|
00000660  64 25 28 79 25 2b 28 78  25 2d 31 29 2a 31 33 29  |d%(y%+(x%-1)*13)|
00000670  3d 79 25 2a 31 36 2b 78  25 0d 01 b8 06 ed 2c 0d  |=y%*16+x%.....,.|
00000680  01 c2 0f 63 61 72 64 25  28 30 29 3d 35 32 0d 01  |...card%(0)=52..|
00000690  cc 05 e1 0d 01 d6 0d dd  f2 73 68 75 66 66 6c 65  |.........shuffle|
000006a0  0d 01 e0 0c 78 25 3d b3  28 2d 91 29 0d 01 ea 0f  |....x%=.(-.)....|
000006b0  e3 20 78 25 3d 31 20 b8  20 35 32 0d 01 f4 0c 79  |. x%=1 . 52....y|
000006c0  25 3d b3 28 35 32 29 0d  01 fe 31 7a 25 3d 63 61  |%=.(52)...1z%=ca|
000006d0  72 64 25 28 79 25 29 3a  63 61 72 64 25 28 79 25  |rd%(y%):card%(y%|
000006e0  29 3d 63 61 72 64 25 28  78 25 29 3a 63 61 72 64  |)=card%(x%):card|
000006f0  25 28 78 25 29 3d 7a 25  0d 02 08 05 ed 0d 02 12  |%(x%)=z%........|
00000700  05 e1 0d 02 1c 0a dd f2  64 65 61 6c 0d 02 26 15  |........deal..&.|
00000710  de 20 74 72 69 61 6e 67  6c 65 25 28 39 2c 31 36  |. triangle%(9,16|
00000720  29 0d 02 30 0f de 20 73  70 61 72 65 25 28 37 29  |)..0.. spare%(7)|
00000730  0d 02 3a 14 de 20 66 6f  75 6e 64 61 74 69 6f 6e  |..:.. foundation|
00000740  25 28 34 29 0d 02 44 0e  e3 20 78 25 3d 31 20 b8  |%(4)..D.. x%=1 .|
00000750  20 39 0d 02 4e 13 20 e3  20 79 25 3d 31 20 b8 20  | 9..N. . y%=1 . |
00000760  31 30 2d 78 25 0d 02 58  1e 20 74 72 69 61 6e 67  |10-x%..X. triang|
00000770  6c 65 25 28 78 25 2c 79  25 29 3d a4 67 65 74 63  |le%(x%,y%)=.getc|
00000780  61 72 64 0d 02 62 05 ed  0d 02 6c 19 74 72 69 61  |ard..b....l.tria|
00000790  6e 67 6c 65 25 28 78 25  2c 30 29 3d 31 30 2d 78  |ngle%(x%,0)=10-x|
000007a0  25 0d 02 76 05 ed 0d 02  80 1d e3 49 3d 31 b8 37  |%..v.......I=1.7|
000007b0  3a 73 70 61 72 65 25 28  49 29 3d a4 67 65 74 63  |:spare%(I)=.getc|
000007c0  61 72 64 0d 02 8a 05 ed  0d 02 94 05 e1 0d 02 9e  |ard.............|
000007d0  0d dd a4 67 65 74 63 61  72 64 0d 02 a8 17 63 61  |...getcard....ca|
000007e0  72 64 25 28 30 29 3d 63  61 72 64 25 28 30 29 2d  |rd%(0)=card%(0)-|
000007f0  31 0d 02 b2 16 3d 63 61  72 64 25 28 63 61 72 64  |1....=card%(card|
00000800  25 28 30 29 2b 31 29 0d  02 bc 0d dd f2 74 61 62  |%(0)+1)......tab|
00000810  6c 65 61 75 0d 02 c6 0b  fb 33 3a fb 31 33 30 0d  |leau.....3:.130.|
00000820  02 d0 24 f1 8a 38 2c 31  29 22 49 44 49 4f 54 27  |..$..8,1)"IDIOT'|
00000830  53 20 44 45 4c 49 47 48  54 20 50 41 54 49 45 4e  |S DELIGHT PATIEN|
00000840  43 45 22 0d 02 da 0e e3  20 78 25 3d 31 20 b8 20  |CE"..... x%=1 . |
00000850  39 0d 02 e4 1c e3 20 79  25 3d 31 20 b8 20 74 72  |9..... y%=1 . tr|
00000860  69 61 6e 67 6c 65 25 28  78 25 2c 30 29 0d 02 ee  |iangle%(x%,0)...|
00000870  25 20 f2 66 28 74 72 69  61 6e 67 6c 65 25 28 78  |% .f(triangle%(x|
00000880  25 2c 79 25 29 2c 78 25  2a 34 2d 33 2c 79 25 2b  |%,y%),x%*4-3,y%+|
00000890  33 29 0d 02 f8 06 ed 2c  0d 03 02 0e e3 20 78 25  |3).....,..... x%|
000008a0  3d 31 20 b8 20 37 0d 03  0c 1b f2 66 28 73 70 61  |=1 . 7.....f(spa|
000008b0  72 65 25 28 78 25 29 2c  33 36 2c 78 25 2b 31 38  |re%(x%),36,x%+18|
000008c0  29 0d 03 16 05 ed 0d 03  20 0b fb 33 3a fb 31 33  |)....... ..3:.13|
000008d0  30 0d 03 2a 0e e3 20 78  25 3d 31 20 b8 20 39 0d  |0..*.. x%=1 . 9.|
000008e0  03 34 14 f1 8a 78 25 2a  34 2d 32 2c 33 29 3b 78  |.4...x%*4-2,3);x|
000008f0  25 3a ed 0d 03 3e 0e e3  20 78 25 3d 31 20 b8 20  |%:...>.. x%=1 . |
00000900  37 0d 03 48 1b f1 8a 33  39 2c 78 25 2b 31 38 29  |7..H...39,x%+18)|
00000910  3b bd 28 78 25 2b 36 34  29 3b 3a ed 0d 03 52 0e  |;.(x%+64);:...R.|
00000920  e3 20 78 25 3d 31 20 b8  20 34 0d 03 5c 1c f1 8a  |. x%=1 . 4..\...|
00000930  78 25 2a 34 2b 37 2c 32  33 29 3b bd 28 78 25 2b  |x%*4+7,23);.(x%+|
00000940  37 39 29 3b 3a ed 0d 03  66 05 e1 0d 03 70 16 dd  |79);:...f....p..|
00000950  a4 63 68 65 63 6b 6d 6f  76 65 28 66 25 2c 74 25  |.checkmove(f%,t%|
00000960  29 0d 03 7a 34 e7 20 66  25 3e 30 20 80 20 66 25  |)..z4. f%>0 . f%|
00000970  3c 31 30 20 66 63 25 3d  74 72 69 61 6e 67 6c 65  |<10 fc%=triangle|
00000980  25 28 66 25 2c 74 72 69  61 6e 67 6c 65 25 28 66  |%(f%,triangle%(f|
00000990  25 2c 30 29 29 0d 03 84  25 e7 20 66 25 3e 31 36  |%,0))...%. f%>16|
000009a0  20 80 20 66 25 3c 32 34  20 66 63 25 3d 73 70 61  | . f%<24 fc%=spa|
000009b0  72 65 25 28 66 25 2d 31  36 29 0d 03 8e 34 e7 20  |re%(f%-16)...4. |
000009c0  74 25 3e 30 20 80 20 74  25 3c 31 30 20 74 63 25  |t%>0 . t%<10 tc%|
000009d0  3d 74 72 69 61 6e 67 6c  65 25 28 74 25 2c 74 72  |=triangle%(t%,tr|
000009e0  69 61 6e 67 6c 65 25 28  74 25 2c 30 29 29 0d 03  |iangle%(t%,0))..|
000009f0  98 2a e7 20 74 25 3e 33  31 20 80 20 74 25 3c 33  |.*. t%>31 . t%<3|
00000a00  36 20 74 63 25 3d 66 6f  75 6e 64 61 74 69 6f 6e  |6 tc%=foundation|
00000a10  25 28 74 25 2d 33 31 29  0d 03 a2 23 e7 20 74 25  |%(t%-31)...#. t%|
00000a20  3e 33 31 20 80 20 74 25  3c 33 36 20 80 20 66 63  |>31 . t%<36 . fc|
00000a30  25 2d 74 63 25 3d 31 36  20 3d b9 0d 03 ac 49 e7  |%-tc%=16 =....I.|
00000a40  20 74 25 3e 30 20 80 20  74 25 3c 31 30 20 80 20  | t%>0 . t%<10 . |
00000a50  28 74 63 25 20 81 31 36  29 2d 28 66 63 25 20 81  |(tc% .16)-(fc% .|
00000a60  31 36 29 3d 31 20 80 20  28 66 63 25 20 80 20 31  |16)=1 . (fc% . 1|
00000a70  29 3d 28 28 74 63 25 20  80 20 31 29 20 82 20 31  |)=((tc% . 1) . 1|
00000a80  29 20 3d b9 0d 03 b6 1d  e7 20 74 25 3e 30 20 80  |) =...... t%>0 .|
00000a90  20 74 25 3c 31 30 20 80  20 74 63 25 3d 30 20 3d  | t%<10 . tc%=0 =|
00000aa0  b9 0d 03 c0 2c e7 20 74  25 3e 33 31 20 80 20 74  |....,. t%>31 . t|
00000ab0  25 3c 33 36 20 80 20 74  63 25 3d 30 20 80 20 28  |%<36 . tc%=0 . (|
00000ac0  66 63 25 20 81 31 36 29  3d 31 20 3d b9 0d 03 ca  |fc% .16)=1 =....|
00000ad0  06 3d a3 0d 03 d4 11 dd  f2 6d 6f 76 65 28 66 25  |.=.......move(f%|
00000ae0  2c 74 25 29 0d 03 de 28  e7 20 74 25 3c 31 30 20  |,t%)...(. t%<10 |
00000af0  80 20 74 63 25 3d 30 20  80 20 66 25 3c 31 30 20  |. tc%=0 . f%<10 |
00000b00  f2 6d 61 6e 79 6d 6f 76  65 73 3a e1 0d 03 e8 70  |.manymoves:....p|
00000b10  e7 20 74 25 3c 31 30 20  74 72 69 61 6e 67 6c 65  |. t%<10 triangle|
00000b20  25 28 74 25 2c 30 29 3d  74 72 69 61 6e 67 6c 65  |%(t%,0)=triangle|
00000b30  25 28 74 25 2c 30 29 2b  31 3a f2 66 28 66 63 25  |%(t%,0)+1:.f(fc%|
00000b40  2c 74 25 2a 34 2d 33 2c  74 72 69 61 6e 67 6c 65  |,t%*4-3,triangle|
00000b50  25 28 74 25 2c 30 29 2b  33 29 3a 74 72 69 61 6e  |%(t%,0)+3):trian|
00000b60  67 6c 65 25 28 74 25 2c  74 72 69 61 6e 67 6c 65  |gle%(t%,triangle|
00000b70  25 28 74 25 2c 30 29 29  3d 66 63 25 0d 03 f2 39  |%(t%,0))=fc%...9|
00000b80  e7 20 74 25 3e 33 31 20  f2 66 28 66 63 25 2c 28  |. t%>31 .f(fc%,(|
00000b90  74 25 2d 33 31 29 2a 34  2b 36 2c 32 34 29 3a 66  |t%-31)*4+6,24):f|
00000ba0  6f 75 6e 64 61 74 69 6f  6e 25 28 74 25 2d 33 31  |oundation%(t%-31|
00000bb0  29 3d 66 63 25 0d 03 fc  68 e7 20 66 25 3c 31 30  |)=fc%...h. f%<10|
00000bc0  20 74 72 69 61 6e 67 6c  65 25 28 66 25 2c 30 29  | triangle%(f%,0)|
00000bd0  3d 74 72 69 61 6e 67 6c  65 25 28 66 25 2c 30 29  |=triangle%(f%,0)|
00000be0  2d 31 3a f2 66 28 74 72  69 61 6e 67 6c 65 25 28  |-1:.f(triangle%(|
00000bf0  66 25 2c 74 72 69 61 6e  67 6c 65 25 28 66 25 2c  |f%,triangle%(f%,|
00000c00  30 29 29 2c 66 25 2a 34  2d 33 2c 74 72 69 61 6e  |0)),f%*4-3,trian|
00000c10  67 6c 65 25 28 66 25 2c  30 29 2b 33 29 0d 04 06  |gle%(f%,0)+3)...|
00000c20  44 e7 20 66 25 3e 31 36  20 73 70 61 72 65 25 28  |D. f%>16 spare%(|
00000c30  66 25 2d 31 36 29 3d 2d  31 3a e3 78 25 3d 66 25  |f%-16)=-1:.x%=f%|
00000c40  2d 31 37 20 b8 20 37 3a  f2 66 28 73 70 61 72 65  |-17 . 7:.f(spare|
00000c50  25 28 78 25 29 2c 33 36  2c 78 25 2b 31 38 29 3a  |%(x%),36,x%+18):|
00000c60  ed 0d 04 10 05 e1 0d 04  1a 0e dd a4 63 68 65 63  |............chec|
00000c70  6b 77 6f 6e 0d 04 24 08  79 25 3d 30 0d 04 2e 0e  |kwon..$.y%=0....|
00000c80  e3 20 78 25 3d 31 20 b8  20 34 0d 04 38 21 20 79  |. x%=1 . 4..8! y|
00000c90  25 3d 79 25 2b 28 66 6f  75 6e 64 61 74 69 6f 6e  |%=y%+(foundation|
00000ca0  25 28 78 25 29 81 31 36  29 3a ed 0d 04 42 0c 3d  |%(x%).16):...B.=|
00000cb0  28 79 25 3d 35 32 29 0d  04 4c 0f dd f2 6d 61 6e  |(y%=52)..L...man|
00000cc0  79 6d 6f 76 65 73 0d 04  56 28 f1 8a 30 2c 33 30  |ymoves..V(..0,30|
00000cd0  29 22 43 68 6f 6f 73 65  20 63 61 72 64 20 74 6f  |)"Choose card to|
00000ce0  20 6d 6f 76 65 20 66 72  6f 6d 3a 20 22 3b 0d 04  | move from: ";..|
00000cf0  60 1c e3 20 78 25 3d 31  20 b8 20 74 72 69 61 6e  |`.. x%=1 . trian|
00000d00  67 6c 65 25 28 66 25 2c  30 29 0d 04 6a 17 63 25  |gle%(f%,0)..j.c%|
00000d10  3d 74 72 69 61 6e 67 6c  65 25 28 66 25 2c 78 25  |=triangle%(f%,x%|
00000d20  29 0d 04 74 16 63 24 3d  bd 28 32 32 33 2b 28 63  |)..t.c$=.(223+(c|
00000d30  25 20 83 31 36 29 29 0d  04 7e 0d 63 25 3d 63 25  |% .16))..~.c%=c%|
00000d40  20 81 31 36 0d 04 88 21  e7 20 63 25 3e 31 20 80  | .16...!. c%>1 .|
00000d50  20 63 25 3c 31 30 20 63  24 3d bd 28 34 38 2b 63  | c%<10 c$=.(48+c|
00000d60  25 29 2b 63 24 0d 04 92  14 e7 20 63 25 3d 31 20  |%)+c$..... c%=1 |
00000d70  63 24 3d 22 41 22 2b 63  24 0d 04 9c 16 e7 20 63  |c$="A"+c$..... c|
00000d80  25 3d 31 30 20 63 24 3d  bd 32 32 39 2b 63 24 0d  |%=10 c$=.229+c$.|
00000d90  04 a6 3d e7 20 63 25 3d  31 31 20 63 24 3d 22 4a  |..=. c%=11 c$="J|
00000da0  22 2b 63 24 20 8b 20 e7  20 63 25 3d 31 32 20 63  |"+c$ . . c%=12 c|
00000db0  24 3d 22 51 22 2b 63 24  20 8b 20 e7 20 63 25 3d  |$="Q"+c$ . . c%=|
00000dc0  31 33 20 63 24 3d 22 4b  22 2b 63 24 0d 04 b0 18  |13 c$="K"+c$....|
00000dd0  f1 8a 32 36 2c 33 30 29  63 24 3b 22 20 28 59 2f  |..26,30)c$;" (Y/|
00000de0  4e 29 3f 22 0d 04 ba 49  f5 20 41 24 3d be 3a fd  |N)?"...I. A$=.:.|
00000df0  20 a7 22 59 4e 22 2c 41  24 29 3a e7 20 41 24 3d  | ."YN",A$):. A$=|
00000e00  22 4e 22 20 ed 3a e1 20  8b 20 e7 20 41 24 3d 22  |"N" .:. . . A$="|
00000e10  59 22 20 79 25 3d 78 25  3a 78 25 3d 74 72 69 61  |Y" y%=x%:x%=tria|
00000e20  6e 67 6c 65 25 28 66 25  2c 30 29 3a ed 0d 04 c4  |ngle%(f%,0):....|
00000e30  1d e3 20 78 25 3d 79 25  20 b8 20 74 72 69 61 6e  |.. x%=y% . trian|
00000e40  67 6c 65 25 28 66 25 2c  30 29 0d 04 ce 25 74 72  |gle%(f%,0)...%tr|
00000e50  69 61 6e 67 6c 65 25 28  66 25 2c 30 29 3d 74 72  |iangle%(f%,0)=tr|
00000e60  69 61 6e 67 6c 65 25 28  66 25 2c 30 29 2d 31 0d  |iangle%(f%,0)-1.|
00000e70  04 d8 25 74 72 69 61 6e  67 6c 65 25 28 74 25 2c  |..%triangle%(t%,|
00000e80  30 29 3d 74 72 69 61 6e  67 6c 65 25 28 74 25 2c  |0)=triangle%(t%,|
00000e90  30 29 2b 31 0d 04 e2 32  74 72 69 61 6e 67 6c 65  |0)+1...2triangle|
00000ea0  25 28 74 25 2c 74 72 69  61 6e 67 6c 65 25 28 74  |%(t%,triangle%(t|
00000eb0  25 2c 30 29 29 3d 74 72  69 61 6e 67 6c 65 25 28  |%,0))=triangle%(|
00000ec0  66 25 2c 78 25 29 0d 04  ec 31 f2 66 28 74 72 69  |f%,x%)...1.f(tri|
00000ed0  61 6e 67 6c 65 25 28 66  25 2c 78 25 29 2c 74 25  |angle%(f%,x%),t%|
00000ee0  2a 34 2d 33 2c 74 72 69  61 6e 67 6c 65 25 28 74  |*4-3,triangle%(t|
00000ef0  25 2c 30 29 2b 33 29 0d  04 f6 3e f2 66 28 74 72  |%,0)+3)...>.f(tr|
00000f00  69 61 6e 67 6c 65 25 28  66 25 2c 74 72 69 61 6e  |iangle%(f%,trian|
00000f10  67 6c 65 25 28 66 25 2c  30 29 29 2c 66 25 2a 34  |gle%(f%,0)),f%*4|
00000f20  2d 33 2c 74 72 69 61 6e  67 6c 65 25 28 66 25 2c  |-3,triangle%(f%,|
00000f30  30 29 2b 33 29 0d 05 00  05 ed 0d 05 0a 05 e1 0d  |0)+3)...........|
00000f40  05 14 0b dd f2 63 68 61  72 73 0d 05 1e 24 ef 32  |.....chars...$.2|
00000f50  33 2c 32 32 34 2c 35 34  2c 31 32 37 2c 31 32 37  |3,224,54,127,127|
00000f60  2c 31 32 37 2c 36 32 2c  32 38 2c 38 2c 30 0d 05  |,127,62,28,8,0..|
00000f70  28 25 ef 32 33 2c 32 32  35 2c 38 2c 32 38 2c 36  |(%.23,225,8,28,6|
00000f80  32 2c 31 32 37 2c 31 32  37 2c 31 32 37 2c 32 38  |2,127,127,127,28|
00000f90  2c 36 32 0d 05 32 21 ef  32 33 2c 32 32 36 2c 30  |,62..2!.23,226,0|
00000fa0  2c 38 2c 32 38 2c 36 32  2c 31 32 37 2c 36 32 2c  |,8,28,62,127,62,|
00000fb0  32 38 2c 38 0d 05 3c 24  ef 32 33 2c 32 32 37 2c  |28,8..<$.23,227,|
00000fc0  38 2c 32 38 2c 32 38 2c  31 30 37 2c 31 32 37 2c  |8,28,28,107,127,|
00000fd0  31 30 37 2c 38 2c 32 38  0d 05 46 2b ef 32 33 2c  |107,8,28..F+.23,|
00000fe0  32 32 38 2c 26 36 36 2c  26 43 43 2c 26 39 39 2c  |228,&66,&CC,&99,|
00000ff0  26 33 33 2c 26 36 36 2c  26 43 43 2c 26 39 39 2c  |&33,&66,&CC,&99,|
00001000  26 33 33 0d 05 50 22 ef  32 33 2c 32 32 39 2c 37  |&33..P".23,229,7|
00001010  38 2c 39 31 2c 38 31 2c  38 31 2c 38 31 2c 39 31  |8,91,81,81,81,91|
00001020  2c 37 38 2c 30 0d 05 5a  29 ef 32 33 2c 32 33 30  |,78,0..Z).23,230|
00001030  2c 30 2c 26 34 43 2c 26  31 39 2c 26 33 33 2c 26  |,0,&4C,&19,&33,&|
00001040  36 36 2c 26 34 43 2c 26  31 39 2c 26 33 33 0d 05  |66,&4C,&19,&33..|
00001050  64 29 ef 32 33 2c 32 33  31 2c 30 2c 26 43 43 2c  |d).23,231,0,&CC,|
00001060  26 39 39 2c 26 33 33 2c  26 36 36 2c 26 43 43 2c  |&99,&33,&66,&CC,|
00001070  26 39 39 2c 26 33 33 0d  05 6e 29 ef 32 33 2c 32  |&99,&33..n).23,2|
00001080  33 32 2c 30 2c 26 43 43  2c 26 39 38 2c 26 33 32  |32,0,&CC,&98,&32|
00001090  2c 26 36 36 2c 26 43 43  2c 26 39 38 2c 26 33 32  |,&66,&CC,&98,&32|
000010a0  0d 05 78 2b ef 32 33 2c  32 33 33 2c 26 36 36 2c  |..x+.23,233,&66,|
000010b0  26 43 43 2c 26 39 38 2c  26 33 32 2c 26 36 36 2c  |&CC,&98,&32,&66,|
000010c0  26 43 43 2c 26 39 38 2c  26 33 32 0d 05 82 29 ef  |&CC,&98,&32...).|
000010d0  32 33 2c 32 33 34 2c 26  36 36 2c 26 43 43 2c 26  |23,234,&66,&CC,&|
000010e0  39 38 2c 26 33 32 2c 26  36 36 2c 26 43 43 2c 26  |98,&32,&66,&CC,&|
000010f0  39 38 2c 30 0d 05 8c 29  ef 32 33 2c 32 33 35 2c  |98,0...).23,235,|
00001100  26 36 36 2c 26 43 43 2c  26 39 39 2c 26 33 33 2c  |&66,&CC,&99,&33,|
00001110  26 36 36 2c 26 43 43 2c  26 39 39 2c 30 0d 05 96  |&66,&CC,&99,0...|
00001120  29 ef 32 33 2c 32 33 36  2c 26 36 36 2c 26 34 43  |).23,236,&66,&4C|
00001130  2c 26 31 39 2c 26 33 33  2c 26 36 36 2c 26 34 43  |,&19,&33,&66,&4C|
00001140  2c 26 31 39 2c 30 0d 05  a0 2b ef 32 33 2c 32 33  |,&19,0...+.23,23|
00001150  37 2c 26 36 36 2c 26 34  43 2c 26 31 39 2c 26 33  |7,&66,&4C,&19,&3|
00001160  33 2c 26 36 36 2c 26 34  43 2c 26 31 39 2c 26 33  |3,&66,&4C,&19,&3|
00001170  33 0d 05 aa 1b 7a 24 3d  bd 28 32 32 38 29 2b bd  |3....z$=.(228)+.|
00001180  28 32 32 38 29 2b bd 28  32 32 38 29 0d 05 b4 05  |(228)+.(228)....|
00001190  e1 0d 05 be 11 dd f2 66  28 43 25 2c 78 25 2c 79  |.......f(C%,x%,y|
000011a0  25 29 0d 05 c8 0e ea 20  73 25 2c 76 25 2c 63 24  |%)..... s%,v%,c$|
000011b0  0d 05 d2 24 e7 20 43 25  3d 2d 31 20 ef 33 31 2c  |...$. C%=-1 .31,|
000011c0  78 25 2c 79 25 3a fb 31  3a fb 31 33 31 3a f1 20  |x%,y%:.1:.131:. |
000011d0  79 24 3a e1 0d 05 dc 63  e7 20 43 25 3d 30 20 79  |y$:....c. C%=0 y|
000011e0  25 3d 79 25 2b 31 3a ef  33 31 2c 78 25 2c 79 25  |%=y%+1:.31,x%,y%|
000011f0  2c 33 32 2c 33 32 2c 33  32 2c 33 31 2c 78 25 2c  |,32,32,32,31,x%,|
00001200  79 25 2b 31 2c 33 32 2c  33 32 2c 33 32 2c 33 31  |y%+1,32,32,32,31|
00001210  2c 78 25 2c 79 25 2b 32  2c 33 32 2c 33 32 2c 33  |,x%,y%+2,32,32,3|
00001220  32 2c 33 31 2c 78 25 2c  79 25 2b 33 2c 33 32 2c  |2,31,x%,y%+3,32,|
00001230  33 32 2c 33 32 3a e1 0d  05 e6 14 e7 20 43 25 20  |32,32:...... C% |
00001240  80 20 31 20 fb 31 20 8b  20 fb 30 0d 05 f0 08 fb  |. 1 .1 . .0.....|
00001250  31 33 31 0d 05 fa 82 73  25 3d 28 43 25 20 80 20  |131....s%=(C% . |
00001260  26 46 30 29 81 31 36 3a  76 25 3d 28 43 25 20 80  |&F0).16:v%=(C% .|
00001270  20 26 46 29 3a 63 24 3d  bd 28 73 25 2b 34 38 29  | &F):c$=.(s%+48)|
00001280  3a e7 20 73 25 3d 31 20  63 24 3d 22 41 22 20 8b  |:. s%=1 c$="A" .|
00001290  20 e7 20 73 25 3d 31 30  20 63 24 3d bd 28 32 32  | . s%=10 c$=.(22|
000012a0  39 29 20 8b 20 e7 20 73  25 3d 31 31 20 63 24 3d  |9) . . s%=11 c$=|
000012b0  22 4a 22 20 8b 20 e7 20  73 25 3d 31 32 20 63 24  |"J" . . s%=12 c$|
000012c0  3d 22 51 22 20 8b 20 e7  20 73 25 3d 31 33 20 63  |="Q" . . s%=13 c|
000012d0  24 3d 22 4b 22 0d 06 04  17 63 24 3d 63 24 2b 22  |$="K"....c$=c$+"|
000012e0  20 22 2b bd 28 76 25 2b  32 32 33 29 0d 06 0e 11  | "+.(v%+223)....|
000012f0  ef 33 31 2c 78 25 2c 79  25 3a f1 63 24 0d 06 18  |.31,x%,y%:.c$...|
00001300  13 ef 33 31 2c 78 25 2c  79 25 2b 31 3a f1 89 33  |..31,x%,y%+1:..3|
00001310  0d 06 22 13 ef 33 31 2c  78 25 2c 79 25 2b 32 3a  |.."..31,x%,y%+2:|
00001320  f1 89 33 0d 06 2c 18 63  24 3d c2 63 24 2b 22 20  |..3..,.c$=.c$+" |
00001330  22 2b c0 63 24 2c 31 29  2c 33 29 0d 06 36 13 ef  |"+.c$,1),3)..6..|
00001340  33 31 2c 78 25 2c 79 25  2b 33 3a f1 63 24 0d 06  |31,x%,y%+3:.c$..|
00001350  40 08 fb 31 33 30 0d 06  4a 13 ef 33 31 2c 78 25  |@..130..J..31,x%|
00001360  2c 79 25 2b 34 3a f1 89  33 0d 06 54 13 ef 33 31  |,y%+4:..3..T..31|
00001370  2c 78 25 2c 79 25 2b 35  3a f1 89 33 0d 06 5e 05  |,x%,y%+5:..3..^.|
00001380  e1 0d 06 68 05 3a 0d 06  72 0a dd f2 69 6e 69 74  |...h.:..r...init|
00001390  0d 06 7c 1b 7a 24 3d bd  28 32 33 30 29 2b bd 28  |..|.z$=.(230)+.(|
000013a0  32 33 31 29 2b bd 28 32  33 32 29 0d 06 86 69 79  |231)+.(232)...iy|
000013b0  24 3d bd 32 33 30 2b bd  32 33 31 2b bd 32 33 32  |$=.230+.231+.232|
000013c0  2b bd 31 30 2b bd 38 2b  bd 38 2b bd 38 2b bd 32  |+.10+.8+.8+.8+.2|
000013d0  33 37 2b bd 32 32 38 2b  bd 32 33 33 2b bd 31 30  |37+.228+.233+.10|
000013e0  2b bd 38 2b bd 38 2b bd  38 2b bd 32 33 37 2b bd  |+.8+.8+.8+.237+.|
000013f0  32 32 38 2b bd 32 33 33  2b bd 31 30 2b bd 38 2b  |228+.233+.10+.8+|
00001400  bd 38 2b bd 38 2b bd 32  33 36 2b bd 32 33 35 2b  |.8+.8+.236+.235+|
00001410  bd 32 33 34 0d 06 90 05  e1 0d ff                 |.234.......|
0000141b
G/IDIOT.m0
G/IDIOT.m1
G/IDIOT.m2
G/IDIOT.m4
G/IDIOT.m5