Home » Archimedes archive » Micro User » MU 1990-05.adf » KING2

KING2

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 » Archimedes archive » Micro User » MU 1990-05.adf
Filename: KING2
Read OK:
File size: 150B bytes
Load address: FFF00043
Exec address: 6D39E0D4
Duplicates

There is 1 duplicate copy of this file in the archive:

File contents
   10REM King Albert Patience
   20REM by Albert Gardner
   30REM (c) The Micro User
   40ONERROR GOTO 2260
   50*TV0,1
   60MODE1:PROCinit
   70IF M%=0 M%=TIME
   80A%=RND(-M%)
   90FORA%=0TOL%:PROCshuffle:NEXT
  100REPEAT
  110PROCdeal:W%=0:P%=0:Q%=0:err%=0:from%=1:to%=1
  120REPEAT:VDU29,0;0;:F%=from%:PROCget(I$(1)+I$(2)+I$(3)):F$=A$:from%=N%
  130IFerr%ORF%<10PROCnum(F%,2)ELSEPROCblank(F%)
  140IFerr%ORto%<10PROCnum(to%,2)ELSEPROCblank(to%)
  150err%=0
  160IF from%=14 THEN 290 ELSE IF from%>11 THEN T$="":W%=TRUE:GOTO 250
  170IF from%<10 THEN 190 ELSE PROCget(I$(from%-10))
  180IF from%=11 from%=N%+9 ELSES%=N%-1:from%=17
  190PROCnum(from%,1):PROCget(I$(1)+I$(2)):T$=A$:to%=N%
  200IFto%=10 to%=17
  210PROCnum(to%,3)
  220IFF$=T$ VDU7:GOTO250
  230IFF$="P" PROCfrom_pile ELSEIF T$="P"PROCto_pile ELSEPROCmove_cards
  240IFFNwon PROCauto
  250UNTIL W%=TRUE
  260IFF$="D"THEN L%=L%+1:PROCshuffle:GOTO110 ELSE IFF$="S"THEN 110
  270IFT$="P" PROCwon ELSE W%=FALSE
  280UNTIL W%=FALSE
  290MODE 7
  300PRINTTAB(8,10)"Deal Number was ";M%;TAB(10,12)"Redeals ";L%
  310PRINTTAB(10,12)"Redeals ";L%
  320*FX200
  330END
  340DEFPROCinit
  350VDU19,2,2,0,0,0:turn=&900
  360DIMcol%(16,20),P%(3),Pk%(51),I$(3)
  370*FX200,1
  380FORI%=0TO51:Pk%(I%)=I%:NEXT
  390v$="A23456789"+CHR$(233)+"JQK"
  400I$(0)="HDSC":I$(1)="1234567"
  410I$(2)="89P":I$(3)="RSDQ"
  420from%=1:VDU 23;8202;0;0;0;
  430ENDPROC
  440DEFPROCshuffle
  450FORI%=0TO51
  460J%=RND(52)-1
  470K%=Pk%(I%):Pk%(I%)=Pk%(J%):Pk%(J%)=K%:NEXT
  480ENDPROC
  490DEFPROCget(S$)
  500REPEAT:A$=GET$:N%=INSTR(S$,A$)
  510IFN% UNTILTRUE ELSE PROCmessage("One of:",S$):UNTILFALSE
  520IFQ%=0GOTO540 ELSE GCOL0,130:CLG:FORQ%=7TO9:IFcol%(Q%,0)>11 PROCcard(Q%,1)
  530NEXT:Q%=0:VDU26
  540ENDPROC
  550DEFPROCmessage(A$,B$)
  560IFQ%=2 ENDPROC
  570Q%=1:VDU7,24,800;184;1052;280;18,0,131,18,0,0
  580CLG:MOVE800,280:PRINT;A$:MOVE800,248:PRINT;B$
  590ENDPROC
  600DEFPROCfrom_pile
  610IF P%(S%)=0 GOTO750
  620IF col%(to%,0)=0 GOTO650
  630IF FNbot(to%)DIV 4 <>P%(S%)GOTO730
  640IF(FNbot(to%)MOD 4)DIV 2=S%DIV 2 GOTO740
  650P%(S%)=P%(S%)-1
  660D%=4*P%(S%)+S%-4
  670PROCcard(7+2*S%+5*(S%>1),2-(D%<0))
  680col%(to%,0)=col%(to%,0)+1
  690col%(to%,col%(to%,0))=D%+4
  700PROCcard(to%,1):PROCsuit
  710ENDPROC
  720:
  730err%=-1:PROCmessage("Not in","Sequence"):ENDPROC
  740err%=-1:PROCmessage("Wrong","colour"):ENDPROC
  750err%=-1:PROCmessage("Empty","column"):ENDPROC
  760:
  770DEF PROCto_pile
  780IFcol%(from%,0)=0GOTO750
  790D%=FNbot(from%)
  800R%=D%MOD 4
  810IF D%DIV 4 <>P%(R%) GOTO730
  820PROCcard(from%,0)
  830col%(from%,0)=col%(from%,0)-1
  840IFcol%(from%,0)>0PROCcard(from%,1)
  850IF from%<11 GOTO870
  860IFcol%(from%-1,0)>0 PROCcard(from%-1,1)
  870S%=R%:P%(S%)=P%(S%)+1
  880PROCcard(7+2*S%+5*(S%>1),2)
  890P%=P%(0)+P%(1)+P%(2)+P%(3)
  900IFP%=52 W%=TRUE
  910ENDPROC
  920DEF PROCmove_cards
  930IFcol%(from%,0)=0 GOTO750
  940D%=FNbot(from%)
  950IFcol%(to%,0)=0 GOTO980
  960IF FNbot(to%)DIV 4 <>1+D%DIV 4 GOTO730
  970IF((FNbot(to%)MOD 4)DIV 2=(D%MOD 4)DIV 2) GOTO740
  980col%(to%,0)=col%(to%,0)+1
  990col%(to%,col%(to%,0))=D%
 1000PROCcard(from%,0)
 1010col%(from%,0)=col%(from%,0)-1
 1020IFcol%(from%,0)>0PROCcard(from%,1)
 1030IFfrom%<11 GOTO1050
 1040IFcol%(from%-1,0)>0 PROCcard(from%-1,1)
 1050PROCcard(to%,1):PROCsuit
 1060ENDPROC
 1070DEFPROCdeal
 1080GCOL0,130:CLG
 1090VDU5:GCOL0,0
 1100FORI%=1TO16:PROCnum(I%,2):NEXT
 1110MOVE1166,1008:PRINT;"Res";
 1120FORI%=0TO3:P%(I%)=0:NEXT
 1130K%=0
 1140FORJ%=1TO9
 1150FORto%=1TO10-J%:col%(to%,J%)=Pk%(K%):col%(to%,0)=J%
 1160PROCcard(to%,1):PROCsuit:K%=K%+1
 1170NEXT:NEXT
 1180FORto%=10TO16
 1190col%(to%,1)=Pk%(K%):col%(to%,0)=1
 1200PROCcard(to%,1):K%=K%+1
 1210NEXT
 1220ENDPROC
 1230DEFPROCcard(O%,U%)
 1240IFU%>1X%=120*O%-104:Y%=178:Z%=16:C%=D%:GOTO1310
 1250C%=FNbot(O%):S%=C%MOD 4:IFO%>9 Y%=2246-128*O%:X%=1160 ELSE Y%=1014-48*col%(O%,0):X%=120*O%-104
 1260IFY%<160 Z%=0 ELSE Z%=Y%-160
 1270IFO%<6 OR O%>7 OR Y%>345 GOTO1290
 1280IFP%(14-2*O%)>0 Z%=186
 1290IF U%=1 OR from%<10 OR from%>15 GOTO1310
 1300IFcol%(from%+1,0)>0 Z%=Y%-126
 1310VDU24,X%;Z%;X%+104;Y%+2;
 1320GCOL0,130:CLG
 1330IFU%=1 OR U%=2 PROCshow
 1340VDU26
 1350ENDPROC
 1360DEFPROCshow
 1370VDU24,X%;Z%;X%+104;Y%;
 1380GCOL0,131:CLG:GCOL0,-(S%<2)
 1390VDU29,X%+6;Y%-36;:MOVE0,32
 1400V%=ASCMID$(v$,1+C%DIV 4,1):VDUV%
 1410MOVE66,-92:A%=V%:CALL turn:IFC%=2 PROCace ELSEIFC%<4 PROCmid ELSEIFC%<40 PROCspots ELSE PROCpic
 1420ENDPROC
 1430DEFPROCsuit
 1440IFto%>9 ENDPROC
 1450IFcol%(to%,0)<2 ENDPROC
 1460V%=(col%(to%,col%(to%,0)-1))MOD 4:VDU26,18,0,-(V%<2),25,4,X%+72;Y%+44;242+V%
 1470ENDPROC
 1480DEFPROCpic
 1490MOVE18,10:B%=4*V%-72:VDUB%,B%+1,8,8,10,B%+2,B%+3
 1500MOVE18,-42:A%=B%+3:CALLturn:A%=B%+2:CALLturn:VDU8,8,10:A%=B%+1:CALLturn:A%=B%:CALLturn
 1510PROCmid
 1520ENDPROC
 1530DEFPROCmid
 1540MOVE32,-32:VDU242+S%
 1550ENDPROC
 1560DEFPROCace
 1570MOVE18,-16
 1580VDU246,247,8,8,10,248,249
 1590ENDPROC
 1600DEFPROCspots
 1610V%=C%DIV 4:IFV%<3PROCpips(2,1):PROCpips(74,1) ELSEPROCpips(2,2):PROCpips(74,2)
 1620RESTORE (2290+10*V%):REPEAT:READA%,B%:IFA%THEN PROCpips(A%,B%):UNTILFALSE ELSE UNTILTRUE
 1630ENDPROC
 1640DEFPROCnum(I%,G%)
 1650IFI%<10MOVE120*I%-62,1008:GOTO1680
 1660MOVE1120,2246-128*I%
 1670IFI%<17 I%=I%-9 ELSEI%=32
 1680VDU18,0,G%,232,8,18,0,0,48+I%
 1690ENDPROC
 1700DEFPROCpips(A%,B%)
 1710IFB%=1 MOVE38,-A% ELSE MOVE16,-A%
 1720IFA%<40 E%=234 ELSE E%=238
 1730VDUE%+S%
 1740IFB%=2 MOVE64,-A%:VDUE%+S%
 1750ENDPROC
 1760DEFPROCblank(I%)
 1770MOVE1120,2246-128*I%:VDU18,0,2,232
 1780ENDPROC
 1790DEF PROCwon
 1800SOUND&11,-15,105,5:SOUND1,0,0,5
 1810SOUND&203,-15,57,10
 1820SOUND&201,-15,73,10
 1830SOUND&202,-15,85,10
 1840SOUND1,0,0,5
 1850SOUND&201,-15,73,15
 1860SOUND&202,-15,85,15
 1870SOUND&203,-15,105,15
 1880PROCprint("Congratulations!",32,860,0,1)
 1890PROCprint("Y O U ' V E    D O N E   I T !",32,790,3,0)
 1900PROCprint("Would you like another game ? ",32,720,3,1)
 1910*FX 15,1
 1920REPEAT
 1930F$=GET$
 1940UNTIL F$="Y" OR F$="N"
 1950IF F$="N" W%=FALSE ELSE L%=L%+1:PROCshuffle
 1960ENDPROC
 1970DEF PROCprint(a$,X%,Y%,B%,F%)
 1980GCOL 0,B%:MOVE X%,Y%:PRINT a$
 1990GCOL 0,F%:MOVE X%+4,Y%+4:PRINT a$
 2000ENDPROC
 2010DEFPROCauto
 2020IFfrom%<10PROCnum(from%,2)ELSEPROCblank(from%)
 2030IFto%<10PROCnum(to%,2)ELSEPROCblank(to%)
 2040T$="P":IFW% ENDPROC
 2050IFP%<49 Q%=TIME:SOUND3,-15,52,14: SOUND3,-15,101,7:REPEAT:UNTILTIME>Q%+105
 2060*FX212,248
 2070PROCmessage("  Auto"," Finish")
 2080VDU26:Q%=2:*FX212,144
 2090J%=P%:REPEAT
 2100FORfrom%=1TO16:PROCto_pile:IFP%>J%SOUND&11,-(7+2*P%/13),1+2*P%,50:J%=P%
 2110NEXT
 2120UNTIL W%
 2130ENDPROC
 2140DEFFNbot(Q%)
 2150=col%(Q%,col%(Q%,0))
 2160DEFFNwon
 2170FORI%=1TO9
 2180IFcol%(I%,0)<2 GOTO2220
 2190FORJ%=2TOcol%(I%,0)
 2200IFcol%(I%,J%)DIV 4>col%(I%,J%-1)DIV 4 J%=50:I%=50
 2210NEXT
 2220NEXT
 2230IFI%>20 =FALSE
 2240=TRUE
 2250:
 2260ONERROR OFF
 2270MODE7:REPORT:PRINT" at line ";ERL
 2280GOTO300
 2290:
 2300DATA0
 2310DATA38,1,0
 2320DATA0
 2330DATA38,1,0
 2340DATA38,2,0
 2350DATA20,1,38,2,0
 2360DATA20,1,38,2,56,1,0
 2370DATA26,2,38,1,50,2,0
 2380DATA14,1,26,2,50,2,62,1,0,0

� King Albert Patience
� by Albert Gardner
� (c) The Micro User
(
� � �dTH
2
*TV0,1
<�1:�init
F� M%=0 M%=�
P
A%=�(-M%)
Z�A%=0�L%:�shuffle:�
d�
n-�deal:W%=0:P%=0:Q%=0:err%=0:from%=1:to%=1
x>�:�29,0;0;:F%=from%:�get(I$(1)+I$(2)+I$(3)):F$=A$:from%=N%
�$�err%�F%<10�num(F%,2)��blank(F%)
�'�err%�to%<10�num(to%,2)��blank(to%)
�
err%=0
�6� from%=14 � �TbA � � from%>11 � T$="":W%=�:� �dz@
�*� from%<10 � �t~@ � �get(I$(from%-10))
�+� from%=11 from%=N%+9 �S%=N%-1:from%=17
�0�num(from%,1):�get(I$(1)+I$(2)):T$=A$:to%=N%
��to%=10 to%=17
��num(to%,3)
��F$=T$ �7:�dz@
�5�F$="P" �from_pile �� T$="P"�to_pile ��move_cards
��won �auto
�
� W%=�
3�F$="D"� L%=L%+1:�shuffle:�Dn@ � �F$="S"� �Dn@
�T$="P" �won � W%=�

� W%=�
"� 7
,5�8,10)"Deal Number was ";M%;�10,12)"Redeals ";L%
6�10,12)"Redeals ";L%
@
*FX200
J�
T
��init
^�19,2,2,0,0,0:turn=&900
h$�col%(16,20),P%(3),Pk%(51),I$(3)
r*FX200,1
|�I%=0�51:Pk%(I%)=I%:�
�v$="A23456789"+�(233)+"JQK"
� I$(0)="HDSC":I$(1)="1234567"
�I$(2)="89P":I$(3)="RSDQ"
�from%=1:� 23;8202;0;0;0;
��
�
��shuffle
��I%=0�51
�J%=�(52)-1
�+K%=Pk%(I%):Pk%(I%)=Pk%(J%):Pk%(J%)=K%:�
��
�
��get(S$)
��:A$=�:N%=�S$,A$)
�&�N% �� � �message("One of:",S$):��
<�Q%=0�T\B � �0,130:�:�Q%=7�9:�col%(Q%,0)>11 �card(Q%,1)
�:Q%=0:�26
�
&��message(A$,B$)
0�Q%=2 �
:/Q%=1:�7,24,800;184;1052;280;18,0,131,18,0,0
D!�:�800,280:�;A$:�800,248:�;B$
N�
X��from_pile
b� P%(S%)=0 �dnB
l� col%(to%,0)=0 �tJB
v � �bot(to%)� 4 <>P%(S%)�dZB
�"�(�bot(to%)� 4)� 2=S%� 2 �ddB
�P%(S%)=P%(S%)-1
�D%=4*P%(S%)+S%-4
�#�card(7+2*S%+5*(S%>1),2-(D%<0))
�col%(to%,0)=col%(to%,0)+1
�col%(to%,col%(to%,0))=D%+4
��card(to%,1):�suit
��
�:
�+err%=-1:�message("Not in","Sequence"):�
�(err%=-1:�message("Wrong","colour"):�
�(err%=-1:�message("Empty","column"):�
�:
� �to_pile
�col%(from%,0)=0�dnB
D%=�bot(from%)
 R%=D%� 4
*� D%� 4 <>P%(R%) �dZB
4�card(from%,0)
>!col%(from%,0)=col%(from%,0)-1
H"�col%(from%,0)>0�card(from%,1)
R� from%<11 �DfC
\'�col%(from%-1,0)>0 �card(from%-1,1)
fS%=R%:P%(S%)=P%(S%)+1
p�card(7+2*S%+5*(S%>1),2)
zP%=P%(0)+P%(1)+P%(2)+P%(3)
��P%=52 W%=�
��
�� �move_cards
��col%(from%,0)=0 �dnB
�D%=�bot(from%)
��col%(to%,0)=0 �dTC
�"� �bot(to%)� 4 <>1+D%� 4 �dZB
�)�((�bot(to%)� 4)� 2=(D%� 4)� 2) �ddB
�col%(to%,0)=col%(to%,0)+1
�col%(to%,col%(to%,0))=D%
��card(from%,0)
�!col%(from%,0)=col%(from%,0)-1
�"�col%(from%,0)>0�card(from%,1)
�from%<11 �TZD
'�col%(from%-1,0)>0 �card(from%-1,1)
�card(to%,1):�suit
$�
.
��deal
8�0,130:�
B�5:�0,0
L�I%=1�16:�num(I%,2):�
V�1166,1008:�;"Res";
`�I%=0�3:P%(I%)=0:�
jK%=0
t�J%=1�9
~4�to%=1�10-J%:col%(to%,J%)=Pk%(K%):col%(to%,0)=J%
��card(to%,1):�suit:K%=K%+1
��:�
��to%=10�16
�%col%(to%,1)=Pk%(K%):col%(to%,0)=1
��card(to%,1):K%=K%+1
��
��
���card(O%,U%)
�/�U%>1X%=120*O%-104:Y%=178:Z%=16:C%=D%:�T^E
�[C%=�bot(O%):S%=C%� 4:�O%>9 Y%=2246-128*O%:X%=1160 � Y%=1014-48*col%(O%,0):X%=120*O%-104
��Y%<160 Z%=0 � Z%=Y%-160
��O%<6 � O%>7 � Y%>345 �TJE
�P%(14-2*O%)>0 Z%=186

&� U%=1 � from%<10 � from%>15 �T^E
 �col%(from%+1,0)>0 Z%=Y%-126
�24,X%;Z%;X%+104;Y%+2;
(�0,130:�
2�U%=1 � U%=2 �show
<�26
F�
P
��show
Z�24,X%;Z%;X%+104;Y%;
d�0,131:�:�0,-(S%<2)
n�29,X%+6;Y%-36;:�0,32
xV%=��v$,1+C%� 4,1):�V%
�E�66,-92:A%=V%:� turn:�C%=2 �ace ��C%<4 �mid ��C%<40 �spots � �pic
��
�
��suit
��to%>9 �
��col%(to%,0)<2 �
�LV%=(col%(to%,col%(to%,0)-1))� 4:�26,18,0,-(V%<2),25,4,X%+72;Y%+44;242+V%
��
�	��pic
�/�18,10:B%=4*V%-72:�B%,B%+1,8,8,10,B%+2,B%+3
�I�18,-42:A%=B%+3:�turn:A%=B%+2:�turn:�8,8,10:A%=B%+1:�turn:A%=B%:�turn
��mid
��
�	��mid
�32,-32:�242+S%
�
	��ace
"�18,-16
,�246,247,8,8,10,248,249
6�
@��spots
J@V%=C%� 4:�V%<3�pips(2,1):�pips(74,1) ��pips(2,2):�pips(74,2)
T5� (2290+10*V%):�:�A%,B%:�A%� �pips(A%,B%):�� � ��
^�
h��num(I%,G%)
r�I%<10�120*I%-62,1008:�tPF
|�1120,2246-128*I%
��I%<17 I%=I%-9 �I%=32
��18,0,G%,232,8,18,0,0,48+I%
��
���pips(A%,B%)
��B%=1 �38,-A% � �16,-A%
��A%<40 E%=234 � E%=238
�
�E%+S%
��B%=2 �64,-A%:�E%+S%
��
���blank(I%)
�!�1120,2246-128*I%:�18,0,2,232
��
�
� �won
�&11,-15,105,5:�1,0,0,5
�&203,-15,57,10
�&201,-15,73,10
&�&202,-15,85,10
0�1,0,0,5
:�&201,-15,73,15
D�&202,-15,85,15
N�&203,-15,105,15
X)�print("Congratulations!",32,860,0,1)
b7�print("Y O U ' V E    D O N E   I T !",32,790,3,0)
l7�print("Would you like another game ? ",32,720,3,1)
v*FX 15,1
��
�F$=�
�� F$="Y" � F$="N"
�$� F$="N" W%=� � L%=L%+1:�shuffle
��
�� �print(a$,X%,Y%,B%,F%)
�� 0,B%:� X%,Y%:� a$
�� 0,F%:� X%+4,Y%+4:� a$
��
�
��auto
�(�from%<10�num(from%,2)��blank(from%)
�"�to%<10�num(to%,2)��blank(to%)
�T$="P":�W% �
6�P%<49 Q%=�:�3,-15,52,14: �3,-15,101,7:�:��>Q%+105
*FX212,248
 �message("  Auto"," Finish")
 �26:Q%=2:*FX212,144
*J%=P%:�
4@�from%=1�16:�to_pile:�P%>J%�&11,-(7+2*P%/13),1+2*P%,50:J%=P%
>�
H� W%
R�
\
ݤbot(Q%)
f=col%(Q%,col%(Q%,0))
p	ݤwon
z�I%=1�9
��col%(I%,0)<2 �tlH
��J%=2�col%(I%,0)
�0�col%(I%,J%)� 4>col%(I%,J%-1)� 4 J%=50:I%=50
��
��
�
�I%>20 =�
�=�
�:
�� �
��7:�:�" at line ";�
�	�TlA
�:
��0
	�38,1,0
	�0
	�38,1,0
	$�38,2,0
	.�20,1,38,2,0
	8�20,1,38,2,56,1,0
	B�26,2,38,1,50,2,0
	L�14,1,26,2,50,2,62,1,0,0
�
00000000  0d 00 0a 1a f4 20 4b 69  6e 67 20 41 6c 62 65 72  |..... King Alber|
00000010  74 20 50 61 74 69 65 6e  63 65 0d 00 14 17 f4 20  |t Patience..... |
00000020  62 79 20 41 6c 62 65 72  74 20 47 61 72 64 6e 65  |by Albert Gardne|
00000030  72 0d 00 1e 18 f4 20 28  63 29 20 54 68 65 20 4d  |r..... (c) The M|
00000040  69 63 72 6f 20 55 73 65  72 0d 00 28 0d ee 85 20  |icro User..(... |
00000050  e5 20 8d 64 54 48 0d 00  32 0a 2a 54 56 30 2c 31  |. .dTH..2.*TV0,1|
00000060  0d 00 3c 0c eb 31 3a f2  69 6e 69 74 0d 00 46 0f  |..<..1:.init..F.|
00000070  e7 20 4d 25 3d 30 20 4d  25 3d 91 0d 00 50 0d 41  |. M%=0 M%=...P.A|
00000080  25 3d b3 28 2d 4d 25 29  0d 00 5a 17 e3 41 25 3d  |%=.(-M%)..Z..A%=|
00000090  30 b8 4c 25 3a f2 73 68  75 66 66 6c 65 3a ed 0d  |0.L%:.shuffle:..|
000000a0  00 64 05 f5 0d 00 6e 2d  f2 64 65 61 6c 3a 57 25  |.d....n-.deal:W%|
000000b0  3d 30 3a 50 25 3d 30 3a  51 25 3d 30 3a 65 72 72  |=0:P%=0:Q%=0:err|
000000c0  25 3d 30 3a 66 72 6f 6d  25 3d 31 3a 74 6f 25 3d  |%=0:from%=1:to%=|
000000d0  31 0d 00 78 3e f5 3a ef  32 39 2c 30 3b 30 3b 3a  |1..x>.:.29,0;0;:|
000000e0  46 25 3d 66 72 6f 6d 25  3a f2 67 65 74 28 49 24  |F%=from%:.get(I$|
000000f0  28 31 29 2b 49 24 28 32  29 2b 49 24 28 33 29 29  |(1)+I$(2)+I$(3))|
00000100  3a 46 24 3d 41 24 3a 66  72 6f 6d 25 3d 4e 25 0d  |:F$=A$:from%=N%.|
00000110  00 82 24 e7 65 72 72 25  84 46 25 3c 31 30 f2 6e  |..$.err%.F%<10.n|
00000120  75 6d 28 46 25 2c 32 29  8b f2 62 6c 61 6e 6b 28  |um(F%,2)..blank(|
00000130  46 25 29 0d 00 8c 27 e7  65 72 72 25 84 74 6f 25  |F%)...'.err%.to%|
00000140  3c 31 30 f2 6e 75 6d 28  74 6f 25 2c 32 29 8b f2  |<10.num(to%,2)..|
00000150  62 6c 61 6e 6b 28 74 6f  25 29 0d 00 96 0a 65 72  |blank(to%)....er|
00000160  72 25 3d 30 0d 00 a0 36  e7 20 66 72 6f 6d 25 3d  |r%=0...6. from%=|
00000170  31 34 20 8c 20 8d 54 62  41 20 8b 20 e7 20 66 72  |14 . .TbA . . fr|
00000180  6f 6d 25 3e 31 31 20 8c  20 54 24 3d 22 22 3a 57  |om%>11 . T$="":W|
00000190  25 3d b9 3a e5 20 8d 64  7a 40 0d 00 aa 2a e7 20  |%=.:. .dz@...*. |
000001a0  66 72 6f 6d 25 3c 31 30  20 8c 20 8d 74 7e 40 20  |from%<10 . .t~@ |
000001b0  8b 20 f2 67 65 74 28 49  24 28 66 72 6f 6d 25 2d  |. .get(I$(from%-|
000001c0  31 30 29 29 0d 00 b4 2b  e7 20 66 72 6f 6d 25 3d  |10))...+. from%=|
000001d0  31 31 20 66 72 6f 6d 25  3d 4e 25 2b 39 20 8b 53  |11 from%=N%+9 .S|
000001e0  25 3d 4e 25 2d 31 3a 66  72 6f 6d 25 3d 31 37 0d  |%=N%-1:from%=17.|
000001f0  00 be 30 f2 6e 75 6d 28  66 72 6f 6d 25 2c 31 29  |..0.num(from%,1)|
00000200  3a f2 67 65 74 28 49 24  28 31 29 2b 49 24 28 32  |:.get(I$(1)+I$(2|
00000210  29 29 3a 54 24 3d 41 24  3a 74 6f 25 3d 4e 25 0d  |)):T$=A$:to%=N%.|
00000220  00 c8 12 e7 74 6f 25 3d  31 30 20 74 6f 25 3d 31  |....to%=10 to%=1|
00000230  37 0d 00 d2 0f f2 6e 75  6d 28 74 6f 25 2c 33 29  |7.....num(to%,3)|
00000240  0d 00 dc 13 e7 46 24 3d  54 24 20 ef 37 3a e5 8d  |.....F$=T$ .7:..|
00000250  64 7a 40 0d 00 e6 35 e7  46 24 3d 22 50 22 20 f2  |dz@...5.F$="P" .|
00000260  66 72 6f 6d 5f 70 69 6c  65 20 8b e7 20 54 24 3d  |from_pile .. T$=|
00000270  22 50 22 f2 74 6f 5f 70  69 6c 65 20 8b f2 6d 6f  |"P".to_pile ..mo|
00000280  76 65 5f 63 61 72 64 73  0d 00 f0 0f e7 a4 77 6f  |ve_cards......wo|
00000290  6e 20 f2 61 75 74 6f 0d  00 fa 0a fd 20 57 25 3d  |n .auto..... W%=|
000002a0  b9 0d 01 04 33 e7 46 24  3d 22 44 22 8c 20 4c 25  |....3.F$="D". L%|
000002b0  3d 4c 25 2b 31 3a f2 73  68 75 66 66 6c 65 3a e5  |=L%+1:.shuffle:.|
000002c0  8d 44 6e 40 20 8b 20 e7  46 24 3d 22 53 22 8c 20  |.Dn@ . .F$="S". |
000002d0  8d 44 6e 40 0d 01 0e 17  e7 54 24 3d 22 50 22 20  |.Dn@.....T$="P" |
000002e0  f2 77 6f 6e 20 8b 20 57  25 3d a3 0d 01 18 0a fd  |.won . W%=......|
000002f0  20 57 25 3d a3 0d 01 22  07 eb 20 37 0d 01 2c 35  | W%=...".. 7..,5|
00000300  f1 8a 38 2c 31 30 29 22  44 65 61 6c 20 4e 75 6d  |..8,10)"Deal Num|
00000310  62 65 72 20 77 61 73 20  22 3b 4d 25 3b 8a 31 30  |ber was ";M%;.10|
00000320  2c 31 32 29 22 52 65 64  65 61 6c 73 20 22 3b 4c  |,12)"Redeals ";L|
00000330  25 0d 01 36 19 f1 8a 31  30 2c 31 32 29 22 52 65  |%..6...10,12)"Re|
00000340  64 65 61 6c 73 20 22 3b  4c 25 0d 01 40 0a 2a 46  |deals ";L%..@.*F|
00000350  58 32 30 30 0d 01 4a 05  e0 0d 01 54 0a dd f2 69  |X200..J....T...i|
00000360  6e 69 74 0d 01 5e 1b ef  31 39 2c 32 2c 32 2c 30  |nit..^..19,2,2,0|
00000370  2c 30 2c 30 3a 74 75 72  6e 3d 26 39 30 30 0d 01  |,0,0:turn=&900..|
00000380  68 24 de 63 6f 6c 25 28  31 36 2c 32 30 29 2c 50  |h$.col%(16,20),P|
00000390  25 28 33 29 2c 50 6b 25  28 35 31 29 2c 49 24 28  |%(3),Pk%(51),I$(|
000003a0  33 29 0d 01 72 0c 2a 46  58 32 30 30 2c 31 0d 01  |3)..r.*FX200,1..|
000003b0  7c 19 e3 49 25 3d 30 b8  35 31 3a 50 6b 25 28 49  ||..I%=0.51:Pk%(I|
000003c0  25 29 3d 49 25 3a ed 0d  01 86 1f 76 24 3d 22 41  |%)=I%:.....v$="A|
000003d0  32 33 34 35 36 37 38 39  22 2b bd 28 32 33 33 29  |23456789"+.(233)|
000003e0  2b 22 4a 51 4b 22 0d 01  90 20 49 24 28 30 29 3d  |+"JQK"... I$(0)=|
000003f0  22 48 44 53 43 22 3a 49  24 28 31 29 3d 22 31 32  |"HDSC":I$(1)="12|
00000400  33 34 35 36 37 22 0d 01  9a 1c 49 24 28 32 29 3d  |34567"....I$(2)=|
00000410  22 38 39 50 22 3a 49 24  28 33 29 3d 22 52 53 44  |"89P":I$(3)="RSD|
00000420  51 22 0d 01 a4 1c 66 72  6f 6d 25 3d 31 3a ef 20  |Q"....from%=1:. |
00000430  32 33 3b 38 32 30 32 3b  30 3b 30 3b 30 3b 0d 01  |23;8202;0;0;0;..|
00000440  ae 05 e1 0d 01 b8 0d dd  f2 73 68 75 66 66 6c 65  |.........shuffle|
00000450  0d 01 c2 0c e3 49 25 3d  30 b8 35 31 0d 01 cc 0e  |.....I%=0.51....|
00000460  4a 25 3d b3 28 35 32 29  2d 31 0d 01 d6 2b 4b 25  |J%=.(52)-1...+K%|
00000470  3d 50 6b 25 28 49 25 29  3a 50 6b 25 28 49 25 29  |=Pk%(I%):Pk%(I%)|
00000480  3d 50 6b 25 28 4a 25 29  3a 50 6b 25 28 4a 25 29  |=Pk%(J%):Pk%(J%)|
00000490  3d 4b 25 3a ed 0d 01 e0  05 e1 0d 01 ea 0d dd f2  |=K%:............|
000004a0  67 65 74 28 53 24 29 0d  01 f4 15 f5 3a 41 24 3d  |get(S$).....:A$=|
000004b0  be 3a 4e 25 3d a7 53 24  2c 41 24 29 0d 01 fe 26  |.:N%=.S$,A$)...&|
000004c0  e7 4e 25 20 fd b9 20 8b  20 f2 6d 65 73 73 61 67  |.N% .. . .messag|
000004d0  65 28 22 4f 6e 65 20 6f  66 3a 22 2c 53 24 29 3a  |e("One of:",S$):|
000004e0  fd a3 0d 02 08 3c e7 51  25 3d 30 e5 8d 54 5c 42  |.....<.Q%=0..T\B|
000004f0  20 8b 20 e6 30 2c 31 33  30 3a da 3a e3 51 25 3d  | . .0,130:.:.Q%=|
00000500  37 b8 39 3a e7 63 6f 6c  25 28 51 25 2c 30 29 3e  |7.9:.col%(Q%,0)>|
00000510  31 31 20 f2 63 61 72 64  28 51 25 2c 31 29 0d 02  |11 .card(Q%,1)..|
00000520  12 0e ed 3a 51 25 3d 30  3a ef 32 36 0d 02 1c 05  |...:Q%=0:.26....|
00000530  e1 0d 02 26 14 dd f2 6d  65 73 73 61 67 65 28 41  |...&...message(A|
00000540  24 2c 42 24 29 0d 02 30  0b e7 51 25 3d 32 20 e1  |$,B$)..0..Q%=2 .|
00000550  0d 02 3a 2f 51 25 3d 31  3a ef 37 2c 32 34 2c 38  |..:/Q%=1:.7,24,8|
00000560  30 30 3b 31 38 34 3b 31  30 35 32 3b 32 38 30 3b  |00;184;1052;280;|
00000570  31 38 2c 30 2c 31 33 31  2c 31 38 2c 30 2c 30 0d  |18,0,131,18,0,0.|
00000580  02 44 21 da 3a ec 38 30  30 2c 32 38 30 3a f1 3b  |.D!.:.800,280:.;|
00000590  41 24 3a ec 38 30 30 2c  32 34 38 3a f1 3b 42 24  |A$:.800,248:.;B$|
000005a0  0d 02 4e 05 e1 0d 02 58  0f dd f2 66 72 6f 6d 5f  |..N....X...from_|
000005b0  70 69 6c 65 0d 02 62 14  e7 20 50 25 28 53 25 29  |pile..b.. P%(S%)|
000005c0  3d 30 20 e5 8d 64 6e 42  0d 02 6c 19 e7 20 63 6f  |=0 ..dnB..l.. co|
000005d0  6c 25 28 74 6f 25 2c 30  29 3d 30 20 e5 8d 74 4a  |l%(to%,0)=0 ..tJ|
000005e0  42 0d 02 76 20 e7 20 a4  62 6f 74 28 74 6f 25 29  |B..v . .bot(to%)|
000005f0  81 20 34 20 3c 3e 50 25  28 53 25 29 e5 8d 64 5a  |. 4 <>P%(S%)..dZ|
00000600  42 0d 02 80 22 e7 28 a4  62 6f 74 28 74 6f 25 29  |B...".(.bot(to%)|
00000610  83 20 34 29 81 20 32 3d  53 25 81 20 32 20 e5 8d  |. 4). 2=S%. 2 ..|
00000620  64 64 42 0d 02 8a 13 50  25 28 53 25 29 3d 50 25  |ddB....P%(S%)=P%|
00000630  28 53 25 29 2d 31 0d 02  94 14 44 25 3d 34 2a 50  |(S%)-1....D%=4*P|
00000640  25 28 53 25 29 2b 53 25  2d 34 0d 02 9e 23 f2 63  |%(S%)+S%-4...#.c|
00000650  61 72 64 28 37 2b 32 2a  53 25 2b 35 2a 28 53 25  |ard(7+2*S%+5*(S%|
00000660  3e 31 29 2c 32 2d 28 44  25 3c 30 29 29 0d 02 a8  |>1),2-(D%<0))...|
00000670  1d 63 6f 6c 25 28 74 6f  25 2c 30 29 3d 63 6f 6c  |.col%(to%,0)=col|
00000680  25 28 74 6f 25 2c 30 29  2b 31 0d 02 b2 1e 63 6f  |%(to%,0)+1....co|
00000690  6c 25 28 74 6f 25 2c 63  6f 6c 25 28 74 6f 25 2c  |l%(to%,col%(to%,|
000006a0  30 29 29 3d 44 25 2b 34  0d 02 bc 16 f2 63 61 72  |0))=D%+4.....car|
000006b0  64 28 74 6f 25 2c 31 29  3a f2 73 75 69 74 0d 02  |d(to%,1):.suit..|
000006c0  c6 05 e1 0d 02 d0 05 3a  0d 02 da 2b 65 72 72 25  |.......:...+err%|
000006d0  3d 2d 31 3a f2 6d 65 73  73 61 67 65 28 22 4e 6f  |=-1:.message("No|
000006e0  74 20 69 6e 22 2c 22 53  65 71 75 65 6e 63 65 22  |t in","Sequence"|
000006f0  29 3a e1 0d 02 e4 28 65  72 72 25 3d 2d 31 3a f2  |):....(err%=-1:.|
00000700  6d 65 73 73 61 67 65 28  22 57 72 6f 6e 67 22 2c  |message("Wrong",|
00000710  22 63 6f 6c 6f 75 72 22  29 3a e1 0d 02 ee 28 65  |"colour"):....(e|
00000720  72 72 25 3d 2d 31 3a f2  6d 65 73 73 61 67 65 28  |rr%=-1:.message(|
00000730  22 45 6d 70 74 79 22 2c  22 63 6f 6c 75 6d 6e 22  |"Empty","column"|
00000740  29 3a e1 0d 02 f8 05 3a  0d 03 02 0e dd 20 f2 74  |):.....:..... .t|
00000750  6f 5f 70 69 6c 65 0d 03  0c 19 e7 63 6f 6c 25 28  |o_pile.....col%(|
00000760  66 72 6f 6d 25 2c 30 29  3d 30 e5 8d 64 6e 42 0d  |from%,0)=0..dnB.|
00000770  03 16 12 44 25 3d a4 62  6f 74 28 66 72 6f 6d 25  |...D%=.bot(from%|
00000780  29 0d 03 20 0c 52 25 3d  44 25 83 20 34 0d 03 2a  |).. .R%=D%. 4..*|
00000790  1a e7 20 44 25 81 20 34  20 3c 3e 50 25 28 52 25  |.. D%. 4 <>P%(R%|
000007a0  29 20 e5 8d 64 5a 42 0d  03 34 12 f2 63 61 72 64  |) ..dZB..4..card|
000007b0  28 66 72 6f 6d 25 2c 30  29 0d 03 3e 21 63 6f 6c  |(from%,0)..>!col|
000007c0  25 28 66 72 6f 6d 25 2c  30 29 3d 63 6f 6c 25 28  |%(from%,0)=col%(|
000007d0  66 72 6f 6d 25 2c 30 29  2d 31 0d 03 48 22 e7 63  |from%,0)-1..H".c|
000007e0  6f 6c 25 28 66 72 6f 6d  25 2c 30 29 3e 30 f2 63  |ol%(from%,0)>0.c|
000007f0  61 72 64 28 66 72 6f 6d  25 2c 31 29 0d 03 52 14  |ard(from%,1)..R.|
00000800  e7 20 66 72 6f 6d 25 3c  31 31 20 e5 8d 44 66 43  |. from%<11 ..DfC|
00000810  0d 03 5c 27 e7 63 6f 6c  25 28 66 72 6f 6d 25 2d  |..\'.col%(from%-|
00000820  31 2c 30 29 3e 30 20 f2  63 61 72 64 28 66 72 6f  |1,0)>0 .card(fro|
00000830  6d 25 2d 31 2c 31 29 0d  03 66 19 53 25 3d 52 25  |m%-1,1)..f.S%=R%|
00000840  3a 50 25 28 53 25 29 3d  50 25 28 53 25 29 2b 31  |:P%(S%)=P%(S%)+1|
00000850  0d 03 70 1c f2 63 61 72  64 28 37 2b 32 2a 53 25  |..p..card(7+2*S%|
00000860  2b 35 2a 28 53 25 3e 31  29 2c 32 29 0d 03 7a 1e  |+5*(S%>1),2)..z.|
00000870  50 25 3d 50 25 28 30 29  2b 50 25 28 31 29 2b 50  |P%=P%(0)+P%(1)+P|
00000880  25 28 32 29 2b 50 25 28  33 29 0d 03 84 0f e7 50  |%(2)+P%(3).....P|
00000890  25 3d 35 32 20 57 25 3d  b9 0d 03 8e 05 e1 0d 03  |%=52 W%=........|
000008a0  98 11 dd 20 f2 6d 6f 76  65 5f 63 61 72 64 73 0d  |... .move_cards.|
000008b0  03 a2 1a e7 63 6f 6c 25  28 66 72 6f 6d 25 2c 30  |....col%(from%,0|
000008c0  29 3d 30 20 e5 8d 64 6e  42 0d 03 ac 12 44 25 3d  |)=0 ..dnB....D%=|
000008d0  a4 62 6f 74 28 66 72 6f  6d 25 29 0d 03 b6 18 e7  |.bot(from%).....|
000008e0  63 6f 6c 25 28 74 6f 25  2c 30 29 3d 30 20 e5 8d  |col%(to%,0)=0 ..|
000008f0  64 54 43 0d 03 c0 22 e7  20 a4 62 6f 74 28 74 6f  |dTC...". .bot(to|
00000900  25 29 81 20 34 20 3c 3e  31 2b 44 25 81 20 34 20  |%). 4 <>1+D%. 4 |
00000910  e5 8d 64 5a 42 0d 03 ca  29 e7 28 28 a4 62 6f 74  |..dZB...).((.bot|
00000920  28 74 6f 25 29 83 20 34  29 81 20 32 3d 28 44 25  |(to%). 4). 2=(D%|
00000930  83 20 34 29 81 20 32 29  20 e5 8d 64 64 42 0d 03  |. 4). 2) ..ddB..|
00000940  d4 1d 63 6f 6c 25 28 74  6f 25 2c 30 29 3d 63 6f  |..col%(to%,0)=co|
00000950  6c 25 28 74 6f 25 2c 30  29 2b 31 0d 03 de 1c 63  |l%(to%,0)+1....c|
00000960  6f 6c 25 28 74 6f 25 2c  63 6f 6c 25 28 74 6f 25  |ol%(to%,col%(to%|
00000970  2c 30 29 29 3d 44 25 0d  03 e8 12 f2 63 61 72 64  |,0))=D%.....card|
00000980  28 66 72 6f 6d 25 2c 30  29 0d 03 f2 21 63 6f 6c  |(from%,0)...!col|
00000990  25 28 66 72 6f 6d 25 2c  30 29 3d 63 6f 6c 25 28  |%(from%,0)=col%(|
000009a0  66 72 6f 6d 25 2c 30 29  2d 31 0d 03 fc 22 e7 63  |from%,0)-1...".c|
000009b0  6f 6c 25 28 66 72 6f 6d  25 2c 30 29 3e 30 f2 63  |ol%(from%,0)>0.c|
000009c0  61 72 64 28 66 72 6f 6d  25 2c 31 29 0d 04 06 13  |ard(from%,1)....|
000009d0  e7 66 72 6f 6d 25 3c 31  31 20 e5 8d 54 5a 44 0d  |.from%<11 ..TZD.|
000009e0  04 10 27 e7 63 6f 6c 25  28 66 72 6f 6d 25 2d 31  |..'.col%(from%-1|
000009f0  2c 30 29 3e 30 20 f2 63  61 72 64 28 66 72 6f 6d  |,0)>0 .card(from|
00000a00  25 2d 31 2c 31 29 0d 04  1a 16 f2 63 61 72 64 28  |%-1,1).....card(|
00000a10  74 6f 25 2c 31 29 3a f2  73 75 69 74 0d 04 24 05  |to%,1):.suit..$.|
00000a20  e1 0d 04 2e 0a dd f2 64  65 61 6c 0d 04 38 0c e6  |.......deal..8..|
00000a30  30 2c 31 33 30 3a da 0d  04 42 0b ef 35 3a e6 30  |0,130:...B..5:.0|
00000a40  2c 30 0d 04 4c 19 e3 49  25 3d 31 b8 31 36 3a f2  |,0..L..I%=1.16:.|
00000a50  6e 75 6d 28 49 25 2c 32  29 3a ed 0d 04 56 17 ec  |num(I%,2):...V..|
00000a60  31 31 36 36 2c 31 30 30  38 3a f1 3b 22 52 65 73  |1166,1008:.;"Res|
00000a70  22 3b 0d 04 60 16 e3 49  25 3d 30 b8 33 3a 50 25  |";..`..I%=0.3:P%|
00000a80  28 49 25 29 3d 30 3a ed  0d 04 6a 08 4b 25 3d 30  |(I%)=0:...j.K%=0|
00000a90  0d 04 74 0b e3 4a 25 3d  31 b8 39 0d 04 7e 34 e3  |..t..J%=1.9..~4.|
00000aa0  74 6f 25 3d 31 b8 31 30  2d 4a 25 3a 63 6f 6c 25  |to%=1.10-J%:col%|
00000ab0  28 74 6f 25 2c 4a 25 29  3d 50 6b 25 28 4b 25 29  |(to%,J%)=Pk%(K%)|
00000ac0  3a 63 6f 6c 25 28 74 6f  25 2c 30 29 3d 4a 25 0d  |:col%(to%,0)=J%.|
00000ad0  04 88 1e f2 63 61 72 64  28 74 6f 25 2c 31 29 3a  |....card(to%,1):|
00000ae0  f2 73 75 69 74 3a 4b 25  3d 4b 25 2b 31 0d 04 92  |.suit:K%=K%+1...|
00000af0  07 ed 3a ed 0d 04 9c 0e  e3 74 6f 25 3d 31 30 b8  |..:......to%=10.|
00000b00  31 36 0d 04 a6 25 63 6f  6c 25 28 74 6f 25 2c 31  |16...%col%(to%,1|
00000b10  29 3d 50 6b 25 28 4b 25  29 3a 63 6f 6c 25 28 74  |)=Pk%(K%):col%(t|
00000b20  6f 25 2c 30 29 3d 31 0d  04 b0 18 f2 63 61 72 64  |o%,0)=1.....card|
00000b30  28 74 6f 25 2c 31 29 3a  4b 25 3d 4b 25 2b 31 0d  |(to%,1):K%=K%+1.|
00000b40  04 ba 05 ed 0d 04 c4 05  e1 0d 04 ce 11 dd f2 63  |...............c|
00000b50  61 72 64 28 4f 25 2c 55  25 29 0d 04 d8 2f e7 55  |ard(O%,U%).../.U|
00000b60  25 3e 31 58 25 3d 31 32  30 2a 4f 25 2d 31 30 34  |%>1X%=120*O%-104|
00000b70  3a 59 25 3d 31 37 38 3a  5a 25 3d 31 36 3a 43 25  |:Y%=178:Z%=16:C%|
00000b80  3d 44 25 3a e5 8d 54 5e  45 0d 04 e2 5b 43 25 3d  |=D%:..T^E...[C%=|
00000b90  a4 62 6f 74 28 4f 25 29  3a 53 25 3d 43 25 83 20  |.bot(O%):S%=C%. |
00000ba0  34 3a e7 4f 25 3e 39 20  59 25 3d 32 32 34 36 2d  |4:.O%>9 Y%=2246-|
00000bb0  31 32 38 2a 4f 25 3a 58  25 3d 31 31 36 30 20 8b  |128*O%:X%=1160 .|
00000bc0  20 59 25 3d 31 30 31 34  2d 34 38 2a 63 6f 6c 25  | Y%=1014-48*col%|
00000bd0  28 4f 25 2c 30 29 3a 58  25 3d 31 32 30 2a 4f 25  |(O%,0):X%=120*O%|
00000be0  2d 31 30 34 0d 04 ec 1c  e7 59 25 3c 31 36 30 20  |-104.....Y%<160 |
00000bf0  5a 25 3d 30 20 8b 20 5a  25 3d 59 25 2d 31 36 30  |Z%=0 . Z%=Y%-160|
00000c00  0d 04 f6 1f e7 4f 25 3c  36 20 84 20 4f 25 3e 37  |.....O%<6 . O%>7|
00000c10  20 84 20 59 25 3e 33 34  35 20 e5 8d 54 4a 45 0d  | . Y%>345 ..TJE.|
00000c20  05 00 19 e7 50 25 28 31  34 2d 32 2a 4f 25 29 3e  |....P%(14-2*O%)>|
00000c30  30 20 5a 25 3d 31 38 36  0d 05 0a 26 e7 20 55 25  |0 Z%=186...&. U%|
00000c40  3d 31 20 84 20 66 72 6f  6d 25 3c 31 30 20 84 20  |=1 . from%<10 . |
00000c50  66 72 6f 6d 25 3e 31 35  20 e5 8d 54 5e 45 0d 05  |from%>15 ..T^E..|
00000c60  14 20 e7 63 6f 6c 25 28  66 72 6f 6d 25 2b 31 2c  |. .col%(from%+1,|
00000c70  30 29 3e 30 20 5a 25 3d  59 25 2d 31 32 36 0d 05  |0)>0 Z%=Y%-126..|
00000c80  1e 1a ef 32 34 2c 58 25  3b 5a 25 3b 58 25 2b 31  |...24,X%;Z%;X%+1|
00000c90  30 34 3b 59 25 2b 32 3b  0d 05 28 0c e6 30 2c 31  |04;Y%+2;..(..0,1|
00000ca0  33 30 3a da 0d 05 32 16  e7 55 25 3d 31 20 84 20  |30:...2..U%=1 . |
00000cb0  55 25 3d 32 20 f2 73 68  6f 77 0d 05 3c 07 ef 32  |U%=2 .show..<..2|
00000cc0  36 0d 05 46 05 e1 0d 05  50 0a dd f2 73 68 6f 77  |6..F....P...show|
00000cd0  0d 05 5a 18 ef 32 34 2c  58 25 3b 5a 25 3b 58 25  |..Z..24,X%;Z%;X%|
00000ce0  2b 31 30 34 3b 59 25 3b  0d 05 64 17 e6 30 2c 31  |+104;Y%;..d..0,1|
00000cf0  33 31 3a da 3a e6 30 2c  2d 28 53 25 3c 32 29 0d  |31:.:.0,-(S%<2).|
00000d00  05 6e 19 ef 32 39 2c 58  25 2b 36 3b 59 25 2d 33  |.n..29,X%+6;Y%-3|
00000d10  36 3b 3a ec 30 2c 33 32  0d 05 78 1a 56 25 3d 97  |6;:.0,32..x.V%=.|
00000d20  c1 76 24 2c 31 2b 43 25  81 20 34 2c 31 29 3a ef  |.v$,1+C%. 4,1):.|
00000d30  56 25 0d 05 82 45 ec 36  36 2c 2d 39 32 3a 41 25  |V%...E.66,-92:A%|
00000d40  3d 56 25 3a d6 20 74 75  72 6e 3a e7 43 25 3d 32  |=V%:. turn:.C%=2|
00000d50  20 f2 61 63 65 20 8b e7  43 25 3c 34 20 f2 6d 69  | .ace ..C%<4 .mi|
00000d60  64 20 8b e7 43 25 3c 34  30 20 f2 73 70 6f 74 73  |d ..C%<40 .spots|
00000d70  20 8b 20 f2 70 69 63 0d  05 8c 05 e1 0d 05 96 0a  | . .pic.........|
00000d80  dd f2 73 75 69 74 0d 05  a0 0c e7 74 6f 25 3e 39  |..suit.....to%>9|
00000d90  20 e1 0d 05 aa 14 e7 63  6f 6c 25 28 74 6f 25 2c  | ......col%(to%,|
00000da0  30 29 3c 32 20 e1 0d 05  b4 4c 56 25 3d 28 63 6f  |0)<2 ....LV%=(co|
00000db0  6c 25 28 74 6f 25 2c 63  6f 6c 25 28 74 6f 25 2c  |l%(to%,col%(to%,|
00000dc0  30 29 2d 31 29 29 83 20  34 3a ef 32 36 2c 31 38  |0)-1)). 4:.26,18|
00000dd0  2c 30 2c 2d 28 56 25 3c  32 29 2c 32 35 2c 34 2c  |,0,-(V%<2),25,4,|
00000de0  58 25 2b 37 32 3b 59 25  2b 34 34 3b 32 34 32 2b  |X%+72;Y%+44;242+|
00000df0  56 25 0d 05 be 05 e1 0d  05 c8 09 dd f2 70 69 63  |V%...........pic|
00000e00  0d 05 d2 2f ec 31 38 2c  31 30 3a 42 25 3d 34 2a  |.../.18,10:B%=4*|
00000e10  56 25 2d 37 32 3a ef 42  25 2c 42 25 2b 31 2c 38  |V%-72:.B%,B%+1,8|
00000e20  2c 38 2c 31 30 2c 42 25  2b 32 2c 42 25 2b 33 0d  |,8,10,B%+2,B%+3.|
00000e30  05 dc 49 ec 31 38 2c 2d  34 32 3a 41 25 3d 42 25  |..I.18,-42:A%=B%|
00000e40  2b 33 3a d6 74 75 72 6e  3a 41 25 3d 42 25 2b 32  |+3:.turn:A%=B%+2|
00000e50  3a d6 74 75 72 6e 3a ef  38 2c 38 2c 31 30 3a 41  |:.turn:.8,8,10:A|
00000e60  25 3d 42 25 2b 31 3a d6  74 75 72 6e 3a 41 25 3d  |%=B%+1:.turn:A%=|
00000e70  42 25 3a d6 74 75 72 6e  0d 05 e6 08 f2 6d 69 64  |B%:.turn.....mid|
00000e80  0d 05 f0 05 e1 0d 05 fa  09 dd f2 6d 69 64 0d 06  |...........mid..|
00000e90  04 13 ec 33 32 2c 2d 33  32 3a ef 32 34 32 2b 53  |...32,-32:.242+S|
00000ea0  25 0d 06 0e 05 e1 0d 06  18 09 dd f2 61 63 65 0d  |%...........ace.|
00000eb0  06 22 0b ec 31 38 2c 2d  31 36 0d 06 2c 1b ef 32  |."..18,-16..,..2|
00000ec0  34 36 2c 32 34 37 2c 38  2c 38 2c 31 30 2c 32 34  |46,247,8,8,10,24|
00000ed0  38 2c 32 34 39 0d 06 36  05 e1 0d 06 40 0b dd f2  |8,249..6....@...|
00000ee0  73 70 6f 74 73 0d 06 4a  40 56 25 3d 43 25 81 20  |spots..J@V%=C%. |
00000ef0  34 3a e7 56 25 3c 33 f2  70 69 70 73 28 32 2c 31  |4:.V%<3.pips(2,1|
00000f00  29 3a f2 70 69 70 73 28  37 34 2c 31 29 20 8b f2  |):.pips(74,1) ..|
00000f10  70 69 70 73 28 32 2c 32  29 3a f2 70 69 70 73 28  |pips(2,2):.pips(|
00000f20  37 34 2c 32 29 0d 06 54  35 f7 20 28 32 32 39 30  |74,2)..T5. (2290|
00000f30  2b 31 30 2a 56 25 29 3a  f5 3a f3 41 25 2c 42 25  |+10*V%):.:.A%,B%|
00000f40  3a e7 41 25 8c 20 f2 70  69 70 73 28 41 25 2c 42  |:.A%. .pips(A%,B|
00000f50  25 29 3a fd a3 20 8b 20  fd b9 0d 06 5e 05 e1 0d  |%):.. . ....^...|
00000f60  06 68 10 dd f2 6e 75 6d  28 49 25 2c 47 25 29 0d  |.h...num(I%,G%).|
00000f70  06 72 1f e7 49 25 3c 31  30 ec 31 32 30 2a 49 25  |.r..I%<10.120*I%|
00000f80  2d 36 32 2c 31 30 30 38  3a e5 8d 74 50 46 0d 06  |-62,1008:..tPF..|
00000f90  7c 15 ec 31 31 32 30 2c  32 32 34 36 2d 31 32 38  ||..1120,2246-128|
00000fa0  2a 49 25 0d 06 86 19 e7  49 25 3c 31 37 20 49 25  |*I%.....I%<17 I%|
00000fb0  3d 49 25 2d 39 20 8b 49  25 3d 33 32 0d 06 90 1f  |=I%-9 .I%=32....|
00000fc0  ef 31 38 2c 30 2c 47 25  2c 32 33 32 2c 38 2c 31  |.18,0,G%,232,8,1|
00000fd0  38 2c 30 2c 30 2c 34 38  2b 49 25 0d 06 9a 05 e1  |8,0,0,48+I%.....|
00000fe0  0d 06 a4 11 dd f2 70 69  70 73 28 41 25 2c 42 25  |......pips(A%,B%|
00000ff0  29 0d 06 ae 1b e7 42 25  3d 31 20 ec 33 38 2c 2d  |).....B%=1 .38,-|
00001000  41 25 20 8b 20 ec 31 36  2c 2d 41 25 0d 06 b8 1a  |A% . .16,-A%....|
00001010  e7 41 25 3c 34 30 20 45  25 3d 32 33 34 20 8b 20  |.A%<40 E%=234 . |
00001020  45 25 3d 32 33 38 0d 06  c2 0a ef 45 25 2b 53 25  |E%=238.....E%+S%|
00001030  0d 06 cc 18 e7 42 25 3d  32 20 ec 36 34 2c 2d 41  |.....B%=2 .64,-A|
00001040  25 3a ef 45 25 2b 53 25  0d 06 d6 05 e1 0d 06 e0  |%:.E%+S%........|
00001050  0f dd f2 62 6c 61 6e 6b  28 49 25 29 0d 06 ea 21  |...blank(I%)...!|
00001060  ec 31 31 32 30 2c 32 32  34 36 2d 31 32 38 2a 49  |.1120,2246-128*I|
00001070  25 3a ef 31 38 2c 30 2c  32 2c 32 33 32 0d 06 f4  |%:.18,0,2,232...|
00001080  05 e1 0d 06 fe 0a dd 20  f2 77 6f 6e 0d 07 08 1b  |....... .won....|
00001090  d4 26 31 31 2c 2d 31 35  2c 31 30 35 2c 35 3a d4  |.&11,-15,105,5:.|
000010a0  31 2c 30 2c 30 2c 35 0d  07 12 13 d4 26 32 30 33  |1,0,0,5.....&203|
000010b0  2c 2d 31 35 2c 35 37 2c  31 30 0d 07 1c 13 d4 26  |,-15,57,10.....&|
000010c0  32 30 31 2c 2d 31 35 2c  37 33 2c 31 30 0d 07 26  |201,-15,73,10..&|
000010d0  13 d4 26 32 30 32 2c 2d  31 35 2c 38 35 2c 31 30  |..&202,-15,85,10|
000010e0  0d 07 30 0c d4 31 2c 30  2c 30 2c 35 0d 07 3a 13  |..0..1,0,0,5..:.|
000010f0  d4 26 32 30 31 2c 2d 31  35 2c 37 33 2c 31 35 0d  |.&201,-15,73,15.|
00001100  07 44 13 d4 26 32 30 32  2c 2d 31 35 2c 38 35 2c  |.D..&202,-15,85,|
00001110  31 35 0d 07 4e 14 d4 26  32 30 33 2c 2d 31 35 2c  |15..N..&203,-15,|
00001120  31 30 35 2c 31 35 0d 07  58 29 f2 70 72 69 6e 74  |105,15..X).print|
00001130  28 22 43 6f 6e 67 72 61  74 75 6c 61 74 69 6f 6e  |("Congratulation|
00001140  73 21 22 2c 33 32 2c 38  36 30 2c 30 2c 31 29 0d  |s!",32,860,0,1).|
00001150  07 62 37 f2 70 72 69 6e  74 28 22 59 20 4f 20 55  |.b7.print("Y O U|
00001160  20 27 20 56 20 45 20 20  20 20 44 20 4f 20 4e 20  | ' V E    D O N |
00001170  45 20 20 20 49 20 54 20  21 22 2c 33 32 2c 37 39  |E   I T !",32,79|
00001180  30 2c 33 2c 30 29 0d 07  6c 37 f2 70 72 69 6e 74  |0,3,0)..l7.print|
00001190  28 22 57 6f 75 6c 64 20  79 6f 75 20 6c 69 6b 65  |("Would you like|
000011a0  20 61 6e 6f 74 68 65 72  20 67 61 6d 65 20 3f 20  | another game ? |
000011b0  22 2c 33 32 2c 37 32 30  2c 33 2c 31 29 0d 07 76  |",32,720,3,1)..v|
000011c0  0c 2a 46 58 20 31 35 2c  31 0d 07 80 05 f5 0d 07  |.*FX 15,1.......|
000011d0  8a 08 46 24 3d be 0d 07  94 15 fd 20 46 24 3d 22  |..F$=...... F$="|
000011e0  59 22 20 84 20 46 24 3d  22 4e 22 0d 07 9e 24 e7  |Y" . F$="N"...$.|
000011f0  20 46 24 3d 22 4e 22 20  57 25 3d a3 20 8b 20 4c  | F$="N" W%=. . L|
00001200  25 3d 4c 25 2b 31 3a f2  73 68 75 66 66 6c 65 0d  |%=L%+1:.shuffle.|
00001210  07 a8 05 e1 0d 07 b2 1c  dd 20 f2 70 72 69 6e 74  |......... .print|
00001220  28 61 24 2c 58 25 2c 59  25 2c 42 25 2c 46 25 29  |(a$,X%,Y%,B%,F%)|
00001230  0d 07 bc 17 e6 20 30 2c  42 25 3a ec 20 58 25 2c  |..... 0,B%:. X%,|
00001240  59 25 3a f1 20 61 24 0d  07 c6 1b e6 20 30 2c 46  |Y%:. a$..... 0,F|
00001250  25 3a ec 20 58 25 2b 34  2c 59 25 2b 34 3a f1 20  |%:. X%+4,Y%+4:. |
00001260  61 24 0d 07 d0 05 e1 0d  07 da 0a dd f2 61 75 74  |a$...........aut|
00001270  6f 0d 07 e4 28 e7 66 72  6f 6d 25 3c 31 30 f2 6e  |o...(.from%<10.n|
00001280  75 6d 28 66 72 6f 6d 25  2c 32 29 8b f2 62 6c 61  |um(from%,2)..bla|
00001290  6e 6b 28 66 72 6f 6d 25  29 0d 07 ee 22 e7 74 6f  |nk(from%)...".to|
000012a0  25 3c 31 30 f2 6e 75 6d  28 74 6f 25 2c 32 29 8b  |%<10.num(to%,2).|
000012b0  f2 62 6c 61 6e 6b 28 74  6f 25 29 0d 07 f8 10 54  |.blank(to%)....T|
000012c0  24 3d 22 50 22 3a e7 57  25 20 e1 0d 08 02 36 e7  |$="P":.W% ....6.|
000012d0  50 25 3c 34 39 20 51 25  3d 91 3a d4 33 2c 2d 31  |P%<49 Q%=.:.3,-1|
000012e0  35 2c 35 32 2c 31 34 3a  20 d4 33 2c 2d 31 35 2c  |5,52,14: .3,-15,|
000012f0  31 30 31 2c 37 3a f5 3a  fd 91 3e 51 25 2b 31 30  |101,7:.:..>Q%+10|
00001300  35 0d 08 0c 0e 2a 46 58  32 31 32 2c 32 34 38 0d  |5....*FX212,248.|
00001310  08 16 20 f2 6d 65 73 73  61 67 65 28 22 20 20 41  |.. .message("  A|
00001320  75 74 6f 22 2c 22 20 46  69 6e 69 73 68 22 29 0d  |uto"," Finish").|
00001330  08 20 17 ef 32 36 3a 51  25 3d 32 3a 2a 46 58 32  |. ..26:Q%=2:*FX2|
00001340  31 32 2c 31 34 34 0d 08  2a 0b 4a 25 3d 50 25 3a  |12,144..*.J%=P%:|
00001350  f5 0d 08 34 40 e3 66 72  6f 6d 25 3d 31 b8 31 36  |...4@.from%=1.16|
00001360  3a f2 74 6f 5f 70 69 6c  65 3a e7 50 25 3e 4a 25  |:.to_pile:.P%>J%|
00001370  d4 26 31 31 2c 2d 28 37  2b 32 2a 50 25 2f 31 33  |.&11,-(7+2*P%/13|
00001380  29 2c 31 2b 32 2a 50 25  2c 35 30 3a 4a 25 3d 50  |),1+2*P%,50:J%=P|
00001390  25 0d 08 3e 05 ed 0d 08  48 08 fd 20 57 25 0d 08  |%..>....H.. W%..|
000013a0  52 05 e1 0d 08 5c 0d dd  a4 62 6f 74 28 51 25 29  |R....\...bot(Q%)|
000013b0  0d 08 66 18 3d 63 6f 6c  25 28 51 25 2c 63 6f 6c  |..f.=col%(Q%,col|
000013c0  25 28 51 25 2c 30 29 29  0d 08 70 09 dd a4 77 6f  |%(Q%,0))..p...wo|
000013d0  6e 0d 08 7a 0b e3 49 25  3d 31 b8 39 0d 08 84 17  |n..z..I%=1.9....|
000013e0  e7 63 6f 6c 25 28 49 25  2c 30 29 3c 32 20 e5 8d  |.col%(I%,0)<2 ..|
000013f0  74 6c 48 0d 08 8e 14 e3  4a 25 3d 32 b8 63 6f 6c  |tlH.....J%=2.col|
00001400  25 28 49 25 2c 30 29 0d  08 98 30 e7 63 6f 6c 25  |%(I%,0)...0.col%|
00001410  28 49 25 2c 4a 25 29 81  20 34 3e 63 6f 6c 25 28  |(I%,J%). 4>col%(|
00001420  49 25 2c 4a 25 2d 31 29  81 20 34 20 4a 25 3d 35  |I%,J%-1). 4 J%=5|
00001430  30 3a 49 25 3d 35 30 0d  08 a2 05 ed 0d 08 ac 05  |0:I%=50.........|
00001440  ed 0d 08 b6 0d e7 49 25  3e 32 30 20 3d a3 0d 08  |......I%>20 =...|
00001450  c0 06 3d b9 0d 08 ca 05  3a 0d 08 d4 08 ee 85 20  |..=.....:...... |
00001460  87 0d 08 de 17 eb 37 3a  f6 3a f1 22 20 61 74 20  |......7:.:." at |
00001470  6c 69 6e 65 20 22 3b 9e  0d 08 e8 09 e5 8d 54 6c  |line ";.......Tl|
00001480  41 0d 08 f2 05 3a 0d 08  fc 06 dc 30 0d 09 06 0b  |A....:.....0....|
00001490  dc 33 38 2c 31 2c 30 0d  09 10 06 dc 30 0d 09 1a  |.38,1,0.....0...|
000014a0  0b dc 33 38 2c 31 2c 30  0d 09 24 0b dc 33 38 2c  |..38,1,0..$..38,|
000014b0  32 2c 30 0d 09 2e 10 dc  32 30 2c 31 2c 33 38 2c  |2,0.....20,1,38,|
000014c0  32 2c 30 0d 09 38 15 dc  32 30 2c 31 2c 33 38 2c  |2,0..8..20,1,38,|
000014d0  32 2c 35 36 2c 31 2c 30  0d 09 42 15 dc 32 36 2c  |2,56,1,0..B..26,|
000014e0  32 2c 33 38 2c 31 2c 35  30 2c 32 2c 30 0d 09 4c  |2,38,1,50,2,0..L|
000014f0  1c dc 31 34 2c 31 2c 32  36 2c 32 2c 35 30 2c 32  |..14,1,26,2,50,2|
00001500  2c 36 32 2c 31 2c 30 2c  30 0d ff                 |,62,1,0,0..|
0000150b