Home » CEEFAX disks » telesoftware16.adl » 18-06-89/Yahtzee

18-06-89/Yahtzee

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 » CEEFAX disks » telesoftware16.adl
Filename: 18-06-89/Yahtzee
Read OK:
File size: 14D8 bytes
Load address: FFFF1900
Exec address: FFFF8028
Duplicates

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

File contents
   10REM Yahtzee
   20REM by Steven de Rooy and Daniel Wagenaar
   30REM (c) The Micro User
   40PROCreloc(&E00):PROCinit
   50err%=0:ONERRORMODE7:PROCerror
   60MODE0:VDU23;8202;0;0;0;
   70PROCboard:REPEATPROCaqx("Enter name player 1"):PRINTTAB(37,2);:N$(0)=FNip:PROCaqx("Enter name player 2")
   80PRINTTAB(37,10);:N$(1)=FNip:UNTILN$(0)<>N$(1):REPEATFORP%=0TO1:PROChil(P%):FORQ=0TO4:C%(Q)=0:NEXT:FORT%=0TO2
   90PROCdice:IFT%<2PROCclaim
  100IFFNclaimed T%=3
  110NEXT:PROCchoose:NEXT:UNTILFNfull:W%=0:Y%=0:FORT=1TO6:W%=W%+FNS(T,0):Y%=Y%+FNS(T,1):NEXT:X%=0:Z%=0:FORT=7TO13:X%=X%+FNS(T,0):Z%=Z%+FNS(T,1)
  120NEXT:A%=W%+X%-35*(W%>62):B%=Y%+Z%-35*(Y%>62)
  130MODE4:VDU23;8202;0;0;0;:PROCend:END
  140DEFPROCinit:DIMN$(1),S%(13,1),SC%(2,13),T%(2),D%(4),F%(5),C%(4),K$(13),N%(6),b%256
  150FORT=1TO13:S%(T,1)=255:S%(T,0)=255:NEXT:Z%=RND(-TIME):*FX4,1
  160N$="Yahtzee!":ENDPROC
  170DEFPROCboard
  180PROCaqx("SETTING UP BOARD")
  190PROCi:PRINTTAB(0,0)SPC34N$SPC38
  200PROCn:X%=430:U%=840:Y%=970
  210PROCbox(X%,0,U%,Y%)
  220PROCL(X%,U%,720):PROCL(X%,U%,460)
  230PROCL(X%,U%,330):PROCL(X%,U%,110)
  240FOR X%=0 TO 850 STEP850:U%=X%+420
  250PROCbox(X%,0,U%,Y%)
  260PROCL(X%,U%,500)
  270PROCbox(X%+50,50,X%+375,200)
  280PROCbox(X%+50,556,X%+375,719)
  290x%=X%+50:u%=X%+375:ix%=(u%-x%)/9
  300y%=556:v%=719:iy%=(v%-y%)/9
  310FORQ%=0TO8:dy%=Q%*iy%:dx%=Q%*ix%
  320MOVEx%,y%+dy%:DRAWx%+dx%,v%
  330MOVEx%,v%-dy%:DRAWx%+dx%,y%
  340MOVEu%,y%+dy%:DRAWu%-dx%,v%
  350MOVEu%,v%-dy%:DRAWu%-dx%,y%
  360NEXT:NEXT
  370FOR Q%=0 TO 100
  380X%=RND(325):Y%=RND(150)
  390PLOT69,X%+50,Y%+50
  400PLOT69,1225-X%,Y%+50:NEXT
  410PROCpl("1",2):PROCpl("2",10)
  420PRINTTAB(28,18)"Dice: 1 2 3 4 5"TAB(34,19)"6 6 6 6 6"TAB(34,20)"| | | | |"TAB(28,22)"Keys:"
  430PRINTTAB(29,24)"Space   - Roll dice"TAB(29,25)" 1- 5   - Claim dice"
  440PRINTTAB(29,26)"Cursors - Select line"TAB(29,27)"Return  - record it"
  450FOR X%=2 TO 55 STEP 53:RESTORE690
  460FOR Q%=0 TO 5:READ P$
  470PRINTTAB(X%,2+Q%)P$TAB(X%+16,2+Q%)":.....":NEXT
  480FOR Q%=0 TO 6:READ P$
  490PRINTTAB(X%,17+Q%)P$TAB(X%+16,17+Q%)":.....":NEXT:NEXT
  500VDU5:MOVE150,650:PRINTN$:MOVE990,650:PRINTN$:VDU4:RESTORE690:FORT=1TO13:READK$(T):NEXT           
  510VDU&8017;&63C1;&1C36;&6C38;&83C6;
  520ENDPROC
  530DEFPROCpl(p$,Y%)PRINTTAB(28,Y%)"Player "p$":........"TAB(29,Y%+2)"Total scores"
  540PRINTTAB(28,Y%+4)"Upper part:....0"TAB(28,Y%+5)"Lower part:....0"TAB(28,Y%+6)"Overall   :....0":ENDPROC
  550DEFPROCbox(X%,Y%,U%,V%)
  560MOVEX%,Y%:DRAWX%,V%:DRAWU%,V%
  570DRAWU%,Y%:DRAWX%,Y%:ENDPROC
  580DEFPROCL(X%,U%,Y%)
  590MOVEX%,Y%:DRAWU%,Y%:ENDPROC
  600DEFPROCup:Q=Q-1:IFQ=0Q=13
  610IFS%(Q,P%)<>255 PROCup
  620ENDPROC
  630DEFPROCdown:Q=Q+1:IFQ=14Q=1
  640IFS%(Q,P%)<>255 PROCdown
  650ENDPROC
  660DEFFNfull:FORT=1TO13:FORS=0TO1:IFS%(T,S)=255 T=13:S=1:NEXT:NEXT:=0
  670NEXT:NEXT:=1
  680DEFFNS(A,B)IFS%(A,B)=255 =0ELSE=S%(A,B)
  690DATA One,Two,Three,Four,Five,Six,Three of a kind,Carre,Full house,Little street,Big street,Yahtzee,Chance
  700DEFFNH(H):IFH<7 =1+H ELSE=H+10
  710DEFFNsc(P)FORT=1TO6:N%(T)=0:NEXT:FORT=0TO4:N%(D%(T))=N%(D%(T))+1:NEXT:IFP<7 =N%(P)*P
  720IFP=7=FNthree
  730IFP=8=FNcarre
  740IFP=9=FNfullh
  750IFP=10=FNsmall
  760IFP=11=FNbigst
  770IFP=12=FNyahtz
  780=FNall
  790DEFFNthree:FORT=1TO6:IFN%(T)>2 T=6:NEXT:=FNall
  800NEXT:=0
  810DEFFNcarre:FORT=1TO6:IFN%(T)>3 T=6:NEXT:=FNall
  820NEXT:=0
  830DEFFNfullh:A=0:FORT=1TO6:IFN%(T)=2ORN%(T)=3 A=A+N%(T)
  840NEXT:IFA=5 =25ELSE=0
  850DEFFNsmall:IFN%(3)=0ORN%(4)=0=0
  860IF(N%(1)>0ANDN%(2)>0)OR(N%(2)>0ANDN%(5)>0)OR(N%(5)>0ANDN%(6)>0)THEN=30ELSE=0
  870DEFFNbigst:IFN%(2)=0ORN%(3)=0ORN%(4)=0ORN%(5)=0=0
  880IFN%(1)ORN%(6)=1 =40ELSE=0
  890DEFFNyahtz:FORT=1TO6:IFN%(T)=5 T=6:NEXT:=50
  900NEXT:=0
  910DEFFNall:A=0:FORT=0TO4:A=A+D%(T):NEXT:=A
  920DEFPROCyes:PRINTTAB(P,FNH(R))FNf15(K$(R))TAB(P+17,FNH(R));
  930IFS%(R,P%)=255 PRINT"....." ELSEPRINTSTRING$(5-LENSTR$S%(R,P%),".");S%(R,P%)
  940ENDPROC
  950DEFFNip:PROCi:LOCALI$,L%,V:L%=8
  960PRINTSTRING$(L%,".")STRING$(L%,CHR$8);
  970REPEATG=FNget:IFG>64IFG<91IFV<L%G=G-32*(V>0):VDUG:I$=I$+CHR$G:V=V+1
  980IFG=127IFV>0VDUG:PRINT".";:VDU8:V=V-1:I$=MID$(I$,1,V)
  990IFG=32IFV<8VDUG:I$=I$+CHR$G:V=V+1
 1000UNTIL(G=13 AND V>0):PROCn
 1010PRINTSTRING$(V,CHR$8)I$SPC7:=I$
 1020DEFPROCaqx(I$):PROCi:PRINTTAB(28,30)SPC(24):PRINTTAB(40-LENI$/2,30)I$;:PROCn:ENDPROC
 1030DEFPROCdice:PROCaqx("Please roll dice"):REPEATUNTILFNget=32:PROCaqx("Rolling dice"):REPEAT:FORW%=0TO4:IFC%(W%)=1 GOTO1050
 1040R%=RND(6):D%(W%)=R%:PRINTTAB(34+W%*2,19);R%:IFRND(20)=10C%(W%)=1
 1050NEXT:PROCkb:UNTILFNclaimed:PRINTTAB(34,20)"| | | | |":ENDPROC
 1060DEFPROCclaim:PROCaqx("Please claim dice"):REPEAT G%=FNget:IFG%=32 UNTILTRUE:ENDPROC
 1070IFG%<49ORG%>53 UNTIL0
 1080IFC%(G%-49)=0C%(G%-49)=1:PRINTTAB(34+(G%-49)*2,20)"�" ELSE C%(G%-49)=0:PRINTTAB(34+(G%-49)*2,20)"|"
 1090UNTIL0
 1100DEFFNclaimed:LOCALT%:FORT%=0TO4:IFC%(T%)=0T%=4:NEXT:=0
 1110NEXT:FORT%=0TO4:C%(T%)=0:NEXT:=1
 1120DEFPROChil(P%)PRINTTAB(34,20)"| | | | |":PROCi:PRINTTAB(28,2+8*P%)"Player ";P%+1":"N$(P%)STRING$(8-LENN$(P%),".")
 1130PROCn:PRINTTAB(28,10-8*P%)"Player ";2-P%":"N$(1-P%)STRING$(8-LENN$(1-P%),"."):ENDPROC
 1140DEFPROCchoose:IF P% P=55 ELSE P=2
 1150PROCaqx("Please choose the place"):PROCkb:PROCos("FX138,0,32"):Q=0:PROCdown:A=Q:Q=A:R=A:REPEATQW=FNget:IFQW=139PROCup
 1160PROCkb:IFQW=138PROCdown
 1170IFQ<>R PROCyes
 1180PROCi:PRINTTAB(P,FNH(Q))FNf15(K$(Q));:PROCn:PRINTTAB(P+17,FNH(Q))FNf5(FNsc(Q))
 1190R=Q:UNTILQW=13:PROCkb:PRINTTAB(P,FNH(Q))FNf15(K$(Q))
 1200S%(Q,P%)=FNsc(Q):PROCi:PRINTTAB(P+17,FNH(Q));:IFS%(Q,P%)PRINTFNf5(S%(Q,P%))ELSEPRINTSPC5
 1210PROCn:W=0:Y=0:FORT=1TO6:W=W+FNS(T,0):Y=Y+FNS(T,1):NEXT:X=0:Z=0:FORT=7TO13:X=X+FNS(T,0):Z=Z+FNS(T,1)
 1220NEXT:PRINTTAB(39,6)FNf5(W)TAB(39,7)FNf5(X)
 1230PRINTTAB(39,8)FNf5(X+W-35*(W>62))TAB(39,14)FNf5(Y)
 1240PRINTTAB(39,15)FNf5(Z)TAB(39,16)FNf5(Y+Z-35*(Y>62)):ENDPROC
 1250DEFPROCend:PROCtek:PROCkb:REPEATRESTORE1390:FORA=1TO13:READB:PROCw:PROCw:PROCw:VDU19,1,B;0;:NEXT
 1260UNTILINKEY0<>-1:RUN
 1270DEFPROCax(A$,Y%)X%=20-LENA$/2:VDU31,X%,Y%:FORT%=1TOLENA$:PROCw:VDUASCMID$(A$,T%):NEXT:ENDPROC
 1280DEFPROCtek:PROCax("Yahtzee has just finished",2):PROCax("with the following scores:",4)
 1290PROCax("Player one: "+N$(0)+" : "+FNf3(A%),8):PROCax("Player two: "+N$(1)+" : "+FNf3(B%),11)
 1300PROCax("This means that "+N$(-(A%<B%)),15):PROCax("has won the game!",17)
 1310PROCax("Press a key to play again.",28):ENDPROC
 1320DEFFNget:REPEATC%=RND(RND(10000))
 1330C%=INKEY0:UNTILC%<>-1
 1340IF C%=27 err%=27:*FX125
 1350:=C%
 1360DEFPROCerror
 1370IF ERR=17 IF NOTINKEY-1 ENDPROC
 1380REPORT:PRINT" at ";ERL:END
 1390DATA7,3,6,2,5,1,4,4,1,5,2,6,3
 1400DEFPROCos($b%):LOCALX%,Y%:X%=b%
 1410Y%=X%DIV256:CALL&FFF7:ENDPROC
 1420DEFFNf5(N%)=RIGHT$("....."+STR$N%,5)
 1430DEFFNf3(N%)=RIGHT$("   "+STR$N%,3)
 1440DEFFNf15(k$)=LEFT$(k$+STRING$(15," "),15)
 1450DEFPROCkb:PROCos("FX21"):ENDPROC
 1460DEFPROCw:PROCos("FX19"):ENDPROC
 1470DEFPROCi:VDU17,129,17,0:ENDPROC
 1480DEFPROCn:VDU17,128,17,1:ENDPROC
 1490DEFPROCreloc(Q%):P%=PAGE
 1500IF Q%>=P% OR P%>&8000 ENDPROC
 1510L%=TOP-PAGE:*TAPE
 1520FORJ%=0TOL%STEP4:Q%!J%=P%!J%:NEXT
 1530PAGE=Q%:*KEY0OLD|MRUN|M
 1540*FX138,0,128
 1550END


� Yahtzee
+� by Steven de Rooy and Daniel Wagenaar
� (c) The Micro User
(�reloc(&E00):�init
2err%=0:��7:�error
<�0:�23;8202;0;0;0;
FV�board:��aqx("Enter name player 1"):�37,2);:N$(0)=�ip:�aqx("Enter name player 2")
PP�37,10);:N$(1)=�ip:�N$(0)<>N$(1):��P%=0�1:�hil(P%):�Q=0�4:C%(Q)=0:�:�T%=0�2
Z�dice:�T%<2�claim
d�claimed T%=3
ns�:�choose:�:��full:W%=0:Y%=0:�T=1�6:W%=W%+�S(T,0):Y%=Y%+�S(T,1):�:X%=0:Z%=0:�T=7�13:X%=X%+�S(T,0):Z%=Z%+�S(T,1)
x-�:A%=W%+X%-35*(W%>62):B%=Y%+Z%-35*(Y%>62)
��4:�23;8202;0;0;0;:�end:�
�O��init:�N$(1),S%(13,1),SC%(2,13),T%(2),D%(4),F%(5),C%(4),K$(13),N%(6),b%256
�5�T=1�13:S%(T,1)=255:S%(T,0)=255:�:Z%=�(-�):*FX4,1
�N$="Yahtzee!":�
���board
��aqx("SETTING UP BOARD")
��i:�0,0)�34N$�38
��n:X%=430:U%=840:Y%=970
��box(X%,0,U%,Y%)
��L(X%,U%,720):�L(X%,U%,460)
��L(X%,U%,330):�L(X%,U%,110)
�� X%=0 � 850 �850:U%=X%+420
��box(X%,0,U%,Y%)
�L(X%,U%,500)
�box(X%+50,50,X%+375,200)
�box(X%+50,556,X%+375,719)
"$x%=X%+50:u%=X%+375:ix%=(u%-x%)/9
,y%=556:v%=719:iy%=(v%-y%)/9
6!�Q%=0�8:dy%=Q%*iy%:dx%=Q%*ix%
@�x%,y%+dy%:�x%+dx%,v%
J�x%,v%-dy%:�x%+dx%,y%
T�u%,y%+dy%:�u%-dx%,v%
^�u%,v%-dy%:�u%-dx%,y%
h�:�
r� Q%=0 � 100
|X%=�(325):Y%=�(150)
��69,X%+50,Y%+50
��69,1225-X%,Y%+50:�
��pl("1",2):�pl("2",10)
�O�28,18)"Dice: 1 2 3 4 5"�34,19)"6 6 6 6 6"�34,20)"| | | | |"�28,22)"Keys:"
�>�29,24)"Space   - Roll dice"�29,25)" 1- 5   - Claim dice"
�?�29,26)"Cursors - Select line"�29,27)"Return  - record it"
�� X%=2 � 55 � 53:��trB
�� Q%=0 � 5:� P$
�&�X%,2+Q%)P$�X%+16,2+Q%)":.....":�
�� Q%=0 � 6:� P$
�*�X%,17+Q%)P$�X%+16,17+Q%)":.....":�:�
�E�5:�150,650:�N$:�990,650:�N$:�4:��trB:�T=1�13:�K$(T):�           
�#�&8017;&63C1;&1C36;&6C38;&83C6;
�
D��pl(p$,Y%)�28,Y%)"Player "p$":........"�29,Y%+2)"Total scores"
X�28,Y%+4)"Upper part:....0"�28,Y%+5)"Lower part:....0"�28,Y%+6)"Overall   :....0":�
&��box(X%,Y%,U%,V%)
0�X%,Y%:�X%,V%:�U%,V%
:�U%,Y%:�X%,Y%:�
D��L(X%,U%,Y%)
N�X%,Y%:�U%,Y%:�
X��up:Q=Q-1:�Q=0Q=13
b�S%(Q,P%)<>255 �up
l�
v��down:Q=Q+1:�Q=14Q=1
��S%(Q,P%)<>255 �down
��
�6ݤfull:�T=1�13:�S=0�1:�S%(T,S)=255 T=13:S=1:�:�:=0
�
�:�:=1
�$ݤS(A,B)�S%(A,B)=255 =0�=S%(A,B)
�j� One,Two,Three,Four,Five,Six,Three of a kind,Carre,Full house,Little street,Big street,Yahtzee,Chance
�ݤH(H):�H<7 =1+H �=H+10
�Hݤsc(P)�T=1�6:N%(T)=0:�:�T=0�4:N%(D%(T))=N%(D%(T))+1:�:�P<7 =N%(P)*P
��P=7=�three
��P=8=�carre
��P=9=�fullh
��P=10=�small
��P=11=�bigst
�P=12=�yahtz
	=�all
'ݤthree:�T=1�6:�N%(T)>2 T=6:�:=�all
 �:=0
*'ݤcarre:�T=1�6:�N%(T)>3 T=6:�:=�all
4�:=0
>1ݤfullh:A=0:�T=1�6:�N%(T)=2�N%(T)=3 A=A+N%(T)
H�:�A=5 =25�=0
Rݤsmall:�N%(3)=0�N%(4)=0=0
\A�(N%(1)>0�N%(2)>0)�(N%(2)>0�N%(5)>0)�(N%(5)>0�N%(6)>0)�=30�=0
f.ݤbigst:�N%(2)=0�N%(3)=0�N%(4)=0�N%(5)=0=0
p�N%(1)�N%(6)=1 =40�=0
z%ݤyahtz:�T=1�6:�N%(T)=5 T=6:�:=50
��:=0
�#ݤall:A=0:�T=0�4:A=A+D%(T):�:=A
�,��yes:�P,�H(R))�f15(K$(R))�P+17,�H(R));
�8�S%(R,P%)=255 �"....." ���5-��S%(R,P%),".");S%(R,P%)
��
�ݤip:�i:�I$,L%,V:L%=8
���L%,".")�L%,�8);
�9�G=�get:�G>64�G<91�V<L%G=G-32*(V>0):�G:I$=I$+�G:V=V+1
�+�G=127�V>0�G:�".";:�8:V=V-1:I$=�I$,1,V)
��G=32�V<8�G:I$=I$+�G:V=V+1
��(G=13 � V>0):�n
���V,�8)I$�7:=I$
�5��aqx(I$):�i:�28,30)�(24):�40-�I$/2,30)I$;:�n:�
\��dice:�aqx("Please roll dice"):���get=32:�aqx("Rolling dice"):�:�W%=0�4:�C%(W%)=1 �TZD
8R%=�(6):D%(W%)=R%:�34+W%*2,19);R%:�(20)=10C%(W%)=1
)�:�kb:��claimed:�34,20)"| | | | |":�
$;��claim:�aqx("Please claim dice"):� G%=�get:�G%=32 ��:�
.�G%<49�G%>53 �0
8U�C%(G%-49)=0C%(G%-49)=1:�34+(G%-49)*2,20)"�" � C%(G%-49)=0:�34+(G%-49)*2,20)"|"
B�0
L,ݤclaimed:�T%:�T%=0�4:�C%(T%)=0T%=4:�:=0
V�:�T%=0�4:C%(T%)=0:�:=1
`V��hil(P%)�34,20)"| | | | |":�i:�28,2+8*P%)"Player ";P%+1":"N$(P%)�8-�N$(P%),".")
j@�n:�28,10-8*P%)"Player ";2-P%":"N$(1-P%)�8-�N$(1-P%),"."):�
t��choose:� P% P=55 � P=2
~c�aqx("Please choose the place"):�kb:�os("FX138,0,32"):Q=0:�down:A=Q:Q=A:R=A:�QW=�get:�QW=139�up
��kb:�QW=138�down
��Q<>R �yes
�9�i:�P,�H(Q))�f15(K$(Q));:�n:�P+17,�H(Q))�f5(�sc(Q))
�(R=Q:�QW=13:�kb:�P,�H(Q))�f15(K$(Q))
�AS%(Q,P%)=�sc(Q):�i:�P+17,�H(Q));:�S%(Q,P%)�f5(S%(Q,P%))��5
�W�n:W=0:Y=0:�T=1�6:W=W+�S(T,0):Y=Y+�S(T,1):�:X=0:Z=0:�T=7�13:X=X+�S(T,0):Z=Z+�S(T,1)
��:�39,6)�f5(W)�39,7)�f5(X)
�*�39,8)�f5(X+W-35*(W>62))�39,14)�f5(Y)
�-�39,15)�f5(Z)�39,16)�f5(Y+Z-35*(Y>62)):�
�:��end:�tek:�kb:���DnE:�A=1�13:�B:�w:�w:�w:�19,1,B;0;:�
�
��0<>-1:�
�?��ax(A$,Y%)X%=20-�A$/2:�31,X%,Y%:�T%=1��A$:�w:�A$,T%):�:�
P��tek:�ax("Yahtzee has just finished",2):�ax("with the following scores:",4)

X�ax("Player one: "+N$(0)+" : "+�f3(A%),8):�ax("Player two: "+N$(1)+" : "+�f3(B%),11)
G�ax("This means that "+N$(-(A%<B%)),15):�ax("has won the game!",17)
*�ax("Press a key to play again.",28):�
(ݤget:�C%=�(�(10000))
2C%=�0:�C%<>-1
<� C%=27 err%=27:*FX125
F:=C%
P��error
Z� �=17 � ��-1 �
d�:�" at ";�:�
n�7,3,6,2,5,1,4,4,1,5,2,6,3
x��os($b%):�X%,Y%:X%=b%
�Y%=X%�256:�&FFF7:�
�ݤf5(N%)=�"....."+�N%,5)
�ݤf3(N%)=�"   "+�N%,3)
�ݤf15(k$)=�k$+�15," "),15)
���kb:�os("FX21"):�
���w:�os("FX19"):�
���i:�17,129,17,0:�
���n:�17,128,17,1:�
���reloc(Q%):P%=�
�� Q%>=P% � P%>&8000 �
�L%=�P-�:*TAPE
��J%=0�L%�4:Q%!J%=P%!J%:�
��=Q%:*KEY0OLD|MRUN|M
*FX138,0,128
�
�
00000000  0d 00 0a 0d f4 20 59 61  68 74 7a 65 65 0d 00 14  |..... Yahtzee...|
00000010  2b f4 20 62 79 20 53 74  65 76 65 6e 20 64 65 20  |+. by Steven de |
00000020  52 6f 6f 79 20 61 6e 64  20 44 61 6e 69 65 6c 20  |Rooy and Daniel |
00000030  57 61 67 65 6e 61 61 72  0d 00 1e 18 f4 20 28 63  |Wagenaar..... (c|
00000040  29 20 54 68 65 20 4d 69  63 72 6f 20 55 73 65 72  |) The Micro User|
00000050  0d 00 28 16 f2 72 65 6c  6f 63 28 26 45 30 30 29  |..(..reloc(&E00)|
00000060  3a f2 69 6e 69 74 0d 00  32 16 65 72 72 25 3d 30  |:.init..2.err%=0|
00000070  3a ee 85 eb 37 3a f2 65  72 72 6f 72 0d 00 3c 16  |:...7:.error..<.|
00000080  eb 30 3a ef 32 33 3b 38  32 30 32 3b 30 3b 30 3b  |.0:.23;8202;0;0;|
00000090  30 3b 0d 00 46 56 f2 62  6f 61 72 64 3a f5 f2 61  |0;..FV.board:..a|
000000a0  71 78 28 22 45 6e 74 65  72 20 6e 61 6d 65 20 70  |qx("Enter name p|
000000b0  6c 61 79 65 72 20 31 22  29 3a f1 8a 33 37 2c 32  |layer 1"):..37,2|
000000c0  29 3b 3a 4e 24 28 30 29  3d a4 69 70 3a f2 61 71  |);:N$(0)=.ip:.aq|
000000d0  78 28 22 45 6e 74 65 72  20 6e 61 6d 65 20 70 6c  |x("Enter name pl|
000000e0  61 79 65 72 20 32 22 29  0d 00 50 50 f1 8a 33 37  |ayer 2")..PP..37|
000000f0  2c 31 30 29 3b 3a 4e 24  28 31 29 3d a4 69 70 3a  |,10);:N$(1)=.ip:|
00000100  fd 4e 24 28 30 29 3c 3e  4e 24 28 31 29 3a f5 e3  |.N$(0)<>N$(1):..|
00000110  50 25 3d 30 b8 31 3a f2  68 69 6c 28 50 25 29 3a  |P%=0.1:.hil(P%):|
00000120  e3 51 3d 30 b8 34 3a 43  25 28 51 29 3d 30 3a ed  |.Q=0.4:C%(Q)=0:.|
00000130  3a e3 54 25 3d 30 b8 32  0d 00 5a 15 f2 64 69 63  |:.T%=0.2..Z..dic|
00000140  65 3a e7 54 25 3c 32 f2  63 6c 61 69 6d 0d 00 64  |e:.T%<2.claim..d|
00000150  12 e7 a4 63 6c 61 69 6d  65 64 20 54 25 3d 33 0d  |...claimed T%=3.|
00000160  00 6e 73 ed 3a f2 63 68  6f 6f 73 65 3a ed 3a fd  |.ns.:.choose:.:.|
00000170  a4 66 75 6c 6c 3a 57 25  3d 30 3a 59 25 3d 30 3a  |.full:W%=0:Y%=0:|
00000180  e3 54 3d 31 b8 36 3a 57  25 3d 57 25 2b a4 53 28  |.T=1.6:W%=W%+.S(|
00000190  54 2c 30 29 3a 59 25 3d  59 25 2b a4 53 28 54 2c  |T,0):Y%=Y%+.S(T,|
000001a0  31 29 3a ed 3a 58 25 3d  30 3a 5a 25 3d 30 3a e3  |1):.:X%=0:Z%=0:.|
000001b0  54 3d 37 b8 31 33 3a 58  25 3d 58 25 2b a4 53 28  |T=7.13:X%=X%+.S(|
000001c0  54 2c 30 29 3a 5a 25 3d  5a 25 2b a4 53 28 54 2c  |T,0):Z%=Z%+.S(T,|
000001d0  31 29 0d 00 78 2d ed 3a  41 25 3d 57 25 2b 58 25  |1)..x-.:A%=W%+X%|
000001e0  2d 33 35 2a 28 57 25 3e  36 32 29 3a 42 25 3d 59  |-35*(W%>62):B%=Y|
000001f0  25 2b 5a 25 2d 33 35 2a  28 59 25 3e 36 32 29 0d  |%+Z%-35*(Y%>62).|
00000200  00 82 1d eb 34 3a ef 32  33 3b 38 32 30 32 3b 30  |....4:.23;8202;0|
00000210  3b 30 3b 30 3b 3a f2 65  6e 64 3a e0 0d 00 8c 4f  |;0;0;:.end:....O|
00000220  dd f2 69 6e 69 74 3a de  4e 24 28 31 29 2c 53 25  |..init:.N$(1),S%|
00000230  28 31 33 2c 31 29 2c 53  43 25 28 32 2c 31 33 29  |(13,1),SC%(2,13)|
00000240  2c 54 25 28 32 29 2c 44  25 28 34 29 2c 46 25 28  |,T%(2),D%(4),F%(|
00000250  35 29 2c 43 25 28 34 29  2c 4b 24 28 31 33 29 2c  |5),C%(4),K$(13),|
00000260  4e 25 28 36 29 2c 62 25  32 35 36 0d 00 96 35 e3  |N%(6),b%256...5.|
00000270  54 3d 31 b8 31 33 3a 53  25 28 54 2c 31 29 3d 32  |T=1.13:S%(T,1)=2|
00000280  35 35 3a 53 25 28 54 2c  30 29 3d 32 35 35 3a ed  |55:S%(T,0)=255:.|
00000290  3a 5a 25 3d b3 28 2d 91  29 3a 2a 46 58 34 2c 31  |:Z%=.(-.):*FX4,1|
000002a0  0d 00 a0 13 4e 24 3d 22  59 61 68 74 7a 65 65 21  |....N$="Yahtzee!|
000002b0  22 3a e1 0d 00 aa 0b dd  f2 62 6f 61 72 64 0d 00  |":.......board..|
000002c0  b4 1c f2 61 71 78 28 22  53 45 54 54 49 4e 47 20  |...aqx("SETTING |
000002d0  55 50 20 42 4f 41 52 44  22 29 0d 00 be 15 f2 69  |UP BOARD").....i|
000002e0  3a f1 8a 30 2c 30 29 89  33 34 4e 24 89 33 38 0d  |:..0,0).34N$.38.|
000002f0  00 c8 1b f2 6e 3a 58 25  3d 34 33 30 3a 55 25 3d  |....n:X%=430:U%=|
00000300  38 34 30 3a 59 25 3d 39  37 30 0d 00 d2 14 f2 62  |840:Y%=970.....b|
00000310  6f 78 28 58 25 2c 30 2c  55 25 2c 59 25 29 0d 00  |ox(X%,0,U%,Y%)..|
00000320  dc 1f f2 4c 28 58 25 2c  55 25 2c 37 32 30 29 3a  |...L(X%,U%,720):|
00000330  f2 4c 28 58 25 2c 55 25  2c 34 36 30 29 0d 00 e6  |.L(X%,U%,460)...|
00000340  1f f2 4c 28 58 25 2c 55  25 2c 33 33 30 29 3a f2  |..L(X%,U%,330):.|
00000350  4c 28 58 25 2c 55 25 2c  31 31 30 29 0d 00 f0 1f  |L(X%,U%,110)....|
00000360  e3 20 58 25 3d 30 20 b8  20 38 35 30 20 88 38 35  |. X%=0 . 850 .85|
00000370  30 3a 55 25 3d 58 25 2b  34 32 30 0d 00 fa 14 f2  |0:U%=X%+420.....|
00000380  62 6f 78 28 58 25 2c 30  2c 55 25 2c 59 25 29 0d  |box(X%,0,U%,Y%).|
00000390  01 04 11 f2 4c 28 58 25  2c 55 25 2c 35 30 30 29  |....L(X%,U%,500)|
000003a0  0d 01 0e 1d f2 62 6f 78  28 58 25 2b 35 30 2c 35  |.....box(X%+50,5|
000003b0  30 2c 58 25 2b 33 37 35  2c 32 30 30 29 0d 01 18  |0,X%+375,200)...|
000003c0  1e f2 62 6f 78 28 58 25  2b 35 30 2c 35 35 36 2c  |..box(X%+50,556,|
000003d0  58 25 2b 33 37 35 2c 37  31 39 29 0d 01 22 24 78  |X%+375,719).."$x|
000003e0  25 3d 58 25 2b 35 30 3a  75 25 3d 58 25 2b 33 37  |%=X%+50:u%=X%+37|
000003f0  35 3a 69 78 25 3d 28 75  25 2d 78 25 29 2f 39 0d  |5:ix%=(u%-x%)/9.|
00000400  01 2c 1f 79 25 3d 35 35  36 3a 76 25 3d 37 31 39  |.,.y%=556:v%=719|
00000410  3a 69 79 25 3d 28 76 25  2d 79 25 29 2f 39 0d 01  |:iy%=(v%-y%)/9..|
00000420  36 21 e3 51 25 3d 30 b8  38 3a 64 79 25 3d 51 25  |6!.Q%=0.8:dy%=Q%|
00000430  2a 69 79 25 3a 64 78 25  3d 51 25 2a 69 78 25 0d  |*iy%:dx%=Q%*ix%.|
00000440  01 40 19 ec 78 25 2c 79  25 2b 64 79 25 3a df 78  |.@..x%,y%+dy%:.x|
00000450  25 2b 64 78 25 2c 76 25  0d 01 4a 19 ec 78 25 2c  |%+dx%,v%..J..x%,|
00000460  76 25 2d 64 79 25 3a df  78 25 2b 64 78 25 2c 79  |v%-dy%:.x%+dx%,y|
00000470  25 0d 01 54 19 ec 75 25  2c 79 25 2b 64 79 25 3a  |%..T..u%,y%+dy%:|
00000480  df 75 25 2d 64 78 25 2c  76 25 0d 01 5e 19 ec 75  |.u%-dx%,v%..^..u|
00000490  25 2c 76 25 2d 64 79 25  3a df 75 25 2d 64 78 25  |%,v%-dy%:.u%-dx%|
000004a0  2c 79 25 0d 01 68 07 ed  3a ed 0d 01 72 10 e3 20  |,y%..h..:...r.. |
000004b0  51 25 3d 30 20 b8 20 31  30 30 0d 01 7c 17 58 25  |Q%=0 . 100..|.X%|
000004c0  3d b3 28 33 32 35 29 3a  59 25 3d b3 28 31 35 30  |=.(325):Y%=.(150|
000004d0  29 0d 01 86 13 f0 36 39  2c 58 25 2b 35 30 2c 59  |).....69,X%+50,Y|
000004e0  25 2b 35 30 0d 01 90 17  f0 36 39 2c 31 32 32 35  |%+50.....69,1225|
000004f0  2d 58 25 2c 59 25 2b 35  30 3a ed 0d 01 9a 1a f2  |-X%,Y%+50:......|
00000500  70 6c 28 22 31 22 2c 32  29 3a f2 70 6c 28 22 32  |pl("1",2):.pl("2|
00000510  22 2c 31 30 29 0d 01 a4  4f f1 8a 32 38 2c 31 38  |",10)...O..28,18|
00000520  29 22 44 69 63 65 3a 20  31 20 32 20 33 20 34 20  |)"Dice: 1 2 3 4 |
00000530  35 22 8a 33 34 2c 31 39  29 22 36 20 36 20 36 20  |5".34,19)"6 6 6 |
00000540  36 20 36 22 8a 33 34 2c  32 30 29 22 7c 20 7c 20  |6 6".34,20)"| | |
00000550  7c 20 7c 20 7c 22 8a 32  38 2c 32 32 29 22 4b 65  || | |".28,22)"Ke|
00000560  79 73 3a 22 0d 01 ae 3e  f1 8a 32 39 2c 32 34 29  |ys:"...>..29,24)|
00000570  22 53 70 61 63 65 20 20  20 2d 20 52 6f 6c 6c 20  |"Space   - Roll |
00000580  64 69 63 65 22 8a 32 39  2c 32 35 29 22 20 31 2d  |dice".29,25)" 1-|
00000590  20 35 20 20 20 2d 20 43  6c 61 69 6d 20 64 69 63  | 5   - Claim dic|
000005a0  65 22 0d 01 b8 3f f1 8a  32 39 2c 32 36 29 22 43  |e"...?..29,26)"C|
000005b0  75 72 73 6f 72 73 20 2d  20 53 65 6c 65 63 74 20  |ursors - Select |
000005c0  6c 69 6e 65 22 8a 32 39  2c 32 37 29 22 52 65 74  |line".29,27)"Ret|
000005d0  75 72 6e 20 20 2d 20 72  65 63 6f 72 64 20 69 74  |urn  - record it|
000005e0  22 0d 01 c2 1a e3 20 58  25 3d 32 20 b8 20 35 35  |"..... X%=2 . 55|
000005f0  20 88 20 35 33 3a f7 8d  74 72 42 0d 01 cc 13 e3  | . 53:..trB.....|
00000600  20 51 25 3d 30 20 b8 20  35 3a f3 20 50 24 0d 01  | Q%=0 . 5:. P$..|
00000610  d6 26 f1 8a 58 25 2c 32  2b 51 25 29 50 24 8a 58  |.&..X%,2+Q%)P$.X|
00000620  25 2b 31 36 2c 32 2b 51  25 29 22 3a 2e 2e 2e 2e  |%+16,2+Q%)":....|
00000630  2e 22 3a ed 0d 01 e0 13  e3 20 51 25 3d 30 20 b8  |.":...... Q%=0 .|
00000640  20 36 3a f3 20 50 24 0d  01 ea 2a f1 8a 58 25 2c  | 6:. P$...*..X%,|
00000650  31 37 2b 51 25 29 50 24  8a 58 25 2b 31 36 2c 31  |17+Q%)P$.X%+16,1|
00000660  37 2b 51 25 29 22 3a 2e  2e 2e 2e 2e 22 3a ed 3a  |7+Q%)":.....":.:|
00000670  ed 0d 01 f4 45 ef 35 3a  ec 31 35 30 2c 36 35 30  |....E.5:.150,650|
00000680  3a f1 4e 24 3a ec 39 39  30 2c 36 35 30 3a f1 4e  |:.N$:.990,650:.N|
00000690  24 3a ef 34 3a f7 8d 74  72 42 3a e3 54 3d 31 b8  |$:.4:..trB:.T=1.|
000006a0  31 33 3a f3 4b 24 28 54  29 3a ed 20 20 20 20 20  |13:.K$(T):.     |
000006b0  20 20 20 20 20 20 0d 01  fe 23 ef 26 38 30 31 37  |      ...#.&8017|
000006c0  3b 26 36 33 43 31 3b 26  31 43 33 36 3b 26 36 43  |;&63C1;&1C36;&6C|
000006d0  33 38 3b 26 38 33 43 36  3b 0d 02 08 05 e1 0d 02  |38;&83C6;.......|
000006e0  12 44 dd f2 70 6c 28 70  24 2c 59 25 29 f1 8a 32  |.D..pl(p$,Y%)..2|
000006f0  38 2c 59 25 29 22 50 6c  61 79 65 72 20 22 70 24  |8,Y%)"Player "p$|
00000700  22 3a 2e 2e 2e 2e 2e 2e  2e 2e 22 8a 32 39 2c 59  |":........".29,Y|
00000710  25 2b 32 29 22 54 6f 74  61 6c 20 73 63 6f 72 65  |%+2)"Total score|
00000720  73 22 0d 02 1c 58 f1 8a  32 38 2c 59 25 2b 34 29  |s"...X..28,Y%+4)|
00000730  22 55 70 70 65 72 20 70  61 72 74 3a 2e 2e 2e 2e  |"Upper part:....|
00000740  30 22 8a 32 38 2c 59 25  2b 35 29 22 4c 6f 77 65  |0".28,Y%+5)"Lowe|
00000750  72 20 70 61 72 74 3a 2e  2e 2e 2e 30 22 8a 32 38  |r part:....0".28|
00000760  2c 59 25 2b 36 29 22 4f  76 65 72 61 6c 6c 20 20  |,Y%+6)"Overall  |
00000770  20 3a 2e 2e 2e 2e 30 22  3a e1 0d 02 26 16 dd f2  | :....0":...&...|
00000780  62 6f 78 28 58 25 2c 59  25 2c 55 25 2c 56 25 29  |box(X%,Y%,U%,V%)|
00000790  0d 02 30 18 ec 58 25 2c  59 25 3a df 58 25 2c 56  |..0..X%,Y%:.X%,V|
000007a0  25 3a df 55 25 2c 56 25  0d 02 3a 13 df 55 25 2c  |%:.U%,V%..:..U%,|
000007b0  59 25 3a df 58 25 2c 59  25 3a e1 0d 02 44 11 dd  |Y%:.X%,Y%:...D..|
000007c0  f2 4c 28 58 25 2c 55 25  2c 59 25 29 0d 02 4e 13  |.L(X%,U%,Y%)..N.|
000007d0  ec 58 25 2c 59 25 3a df  55 25 2c 59 25 3a e1 0d  |.X%,Y%:.U%,Y%:..|
000007e0  02 58 17 dd f2 75 70 3a  51 3d 51 2d 31 3a e7 51  |.X...up:Q=Q-1:.Q|
000007f0  3d 30 51 3d 31 33 0d 02  62 16 e7 53 25 28 51 2c  |=0Q=13..b..S%(Q,|
00000800  50 25 29 3c 3e 32 35 35  20 f2 75 70 0d 02 6c 05  |P%)<>255 .up..l.|
00000810  e1 0d 02 76 19 dd f2 64  6f 77 6e 3a 51 3d 51 2b  |...v...down:Q=Q+|
00000820  31 3a e7 51 3d 31 34 51  3d 31 0d 02 80 18 e7 53  |1:.Q=14Q=1.....S|
00000830  25 28 51 2c 50 25 29 3c  3e 32 35 35 20 f2 64 6f  |%(Q,P%)<>255 .do|
00000840  77 6e 0d 02 8a 05 e1 0d  02 94 36 dd a4 66 75 6c  |wn........6..ful|
00000850  6c 3a e3 54 3d 31 b8 31  33 3a e3 53 3d 30 b8 31  |l:.T=1.13:.S=0.1|
00000860  3a e7 53 25 28 54 2c 53  29 3d 32 35 35 20 54 3d  |:.S%(T,S)=255 T=|
00000870  31 33 3a 53 3d 31 3a ed  3a ed 3a 3d 30 0d 02 9e  |13:S=1:.:.:=0...|
00000880  0a ed 3a ed 3a 3d 31 0d  02 a8 24 dd a4 53 28 41  |..:.:=1...$..S(A|
00000890  2c 42 29 e7 53 25 28 41  2c 42 29 3d 32 35 35 20  |,B).S%(A,B)=255 |
000008a0  3d 30 8b 3d 53 25 28 41  2c 42 29 0d 02 b2 6a dc  |=0.=S%(A,B)...j.|
000008b0  20 4f 6e 65 2c 54 77 6f  2c 54 68 72 65 65 2c 46  | One,Two,Three,F|
000008c0  6f 75 72 2c 46 69 76 65  2c 53 69 78 2c 54 68 72  |our,Five,Six,Thr|
000008d0  65 65 20 6f 66 20 61 20  6b 69 6e 64 2c 43 61 72  |ee of a kind,Car|
000008e0  72 65 2c 46 75 6c 6c 20  68 6f 75 73 65 2c 4c 69  |re,Full house,Li|
000008f0  74 74 6c 65 20 73 74 72  65 65 74 2c 42 69 67 20  |ttle street,Big |
00000900  73 74 72 65 65 74 2c 59  61 68 74 7a 65 65 2c 43  |street,Yahtzee,C|
00000910  68 61 6e 63 65 0d 02 bc  1b dd a4 48 28 48 29 3a  |hance......H(H):|
00000920  e7 48 3c 37 20 3d 31 2b  48 20 8b 3d 48 2b 31 30  |.H<7 =1+H .=H+10|
00000930  0d 02 c6 48 dd a4 73 63  28 50 29 e3 54 3d 31 b8  |...H..sc(P).T=1.|
00000940  36 3a 4e 25 28 54 29 3d  30 3a ed 3a e3 54 3d 30  |6:N%(T)=0:.:.T=0|
00000950  b8 34 3a 4e 25 28 44 25  28 54 29 29 3d 4e 25 28  |.4:N%(D%(T))=N%(|
00000960  44 25 28 54 29 29 2b 31  3a ed 3a e7 50 3c 37 20  |D%(T))+1:.:.P<7 |
00000970  3d 4e 25 28 50 29 2a 50  0d 02 d0 0f e7 50 3d 37  |=N%(P)*P.....P=7|
00000980  3d a4 74 68 72 65 65 0d  02 da 0f e7 50 3d 38 3d  |=.three.....P=8=|
00000990  a4 63 61 72 72 65 0d 02  e4 0f e7 50 3d 39 3d a4  |.carre.....P=9=.|
000009a0  66 75 6c 6c 68 0d 02 ee  10 e7 50 3d 31 30 3d a4  |fullh.....P=10=.|
000009b0  73 6d 61 6c 6c 0d 02 f8  10 e7 50 3d 31 31 3d a4  |small.....P=11=.|
000009c0  62 69 67 73 74 0d 03 02  10 e7 50 3d 31 32 3d a4  |bigst.....P=12=.|
000009d0  79 61 68 74 7a 0d 03 0c  09 3d a4 61 6c 6c 0d 03  |yahtz....=.all..|
000009e0  16 27 dd a4 74 68 72 65  65 3a e3 54 3d 31 b8 36  |.'..three:.T=1.6|
000009f0  3a e7 4e 25 28 54 29 3e  32 20 54 3d 36 3a ed 3a  |:.N%(T)>2 T=6:.:|
00000a00  3d a4 61 6c 6c 0d 03 20  08 ed 3a 3d 30 0d 03 2a  |=.all.. ..:=0..*|
00000a10  27 dd a4 63 61 72 72 65  3a e3 54 3d 31 b8 36 3a  |'..carre:.T=1.6:|
00000a20  e7 4e 25 28 54 29 3e 33  20 54 3d 36 3a ed 3a 3d  |.N%(T)>3 T=6:.:=|
00000a30  a4 61 6c 6c 0d 03 34 08  ed 3a 3d 30 0d 03 3e 31  |.all..4..:=0..>1|
00000a40  dd a4 66 75 6c 6c 68 3a  41 3d 30 3a e3 54 3d 31  |..fullh:A=0:.T=1|
00000a50  b8 36 3a e7 4e 25 28 54  29 3d 32 84 4e 25 28 54  |.6:.N%(T)=2.N%(T|
00000a60  29 3d 33 20 41 3d 41 2b  4e 25 28 54 29 0d 03 48  |)=3 A=A+N%(T)..H|
00000a70  11 ed 3a e7 41 3d 35 20  3d 32 35 8b 3d 30 0d 03  |..:.A=5 =25.=0..|
00000a80  52 1e dd a4 73 6d 61 6c  6c 3a e7 4e 25 28 33 29  |R...small:.N%(3)|
00000a90  3d 30 84 4e 25 28 34 29  3d 30 3d 30 0d 03 5c 41  |=0.N%(4)=0=0..\A|
00000aa0  e7 28 4e 25 28 31 29 3e  30 80 4e 25 28 32 29 3e  |.(N%(1)>0.N%(2)>|
00000ab0  30 29 84 28 4e 25 28 32  29 3e 30 80 4e 25 28 35  |0).(N%(2)>0.N%(5|
00000ac0  29 3e 30 29 84 28 4e 25  28 35 29 3e 30 80 4e 25  |)>0).(N%(5)>0.N%|
00000ad0  28 36 29 3e 30 29 8c 3d  33 30 8b 3d 30 0d 03 66  |(6)>0).=30.=0..f|
00000ae0  2e dd a4 62 69 67 73 74  3a e7 4e 25 28 32 29 3d  |...bigst:.N%(2)=|
00000af0  30 84 4e 25 28 33 29 3d  30 84 4e 25 28 34 29 3d  |0.N%(3)=0.N%(4)=|
00000b00  30 84 4e 25 28 35 29 3d  30 3d 30 0d 03 70 19 e7  |0.N%(5)=0=0..p..|
00000b10  4e 25 28 31 29 84 4e 25  28 36 29 3d 31 20 3d 34  |N%(1).N%(6)=1 =4|
00000b20  30 8b 3d 30 0d 03 7a 25  dd a4 79 61 68 74 7a 3a  |0.=0..z%..yahtz:|
00000b30  e3 54 3d 31 b8 36 3a e7  4e 25 28 54 29 3d 35 20  |.T=1.6:.N%(T)=5 |
00000b40  54 3d 36 3a ed 3a 3d 35  30 0d 03 84 08 ed 3a 3d  |T=6:.:=50.....:=|
00000b50  30 0d 03 8e 23 dd a4 61  6c 6c 3a 41 3d 30 3a e3  |0...#..all:A=0:.|
00000b60  54 3d 30 b8 34 3a 41 3d  41 2b 44 25 28 54 29 3a  |T=0.4:A=A+D%(T):|
00000b70  ed 3a 3d 41 0d 03 98 2c  dd f2 79 65 73 3a f1 8a  |.:=A...,..yes:..|
00000b80  50 2c a4 48 28 52 29 29  a4 66 31 35 28 4b 24 28  |P,.H(R)).f15(K$(|
00000b90  52 29 29 8a 50 2b 31 37  2c a4 48 28 52 29 29 3b  |R)).P+17,.H(R));|
00000ba0  0d 03 a2 38 e7 53 25 28  52 2c 50 25 29 3d 32 35  |...8.S%(R,P%)=25|
00000bb0  35 20 f1 22 2e 2e 2e 2e  2e 22 20 8b f1 c4 35 2d  |5 ."....." ...5-|
00000bc0  a9 c3 53 25 28 52 2c 50  25 29 2c 22 2e 22 29 3b  |..S%(R,P%),".");|
00000bd0  53 25 28 52 2c 50 25 29  0d 03 ac 05 e1 0d 03 b6  |S%(R,P%)........|
00000be0  19 dd a4 69 70 3a f2 69  3a ea 49 24 2c 4c 25 2c  |...ip:.i:.I$,L%,|
00000bf0  56 3a 4c 25 3d 38 0d 03  c0 15 f1 c4 4c 25 2c 22  |V:L%=8......L%,"|
00000c00  2e 22 29 c4 4c 25 2c bd  38 29 3b 0d 03 ca 39 f5  |.").L%,.8);...9.|
00000c10  47 3d a4 67 65 74 3a e7  47 3e 36 34 e7 47 3c 39  |G=.get:.G>64.G<9|
00000c20  31 e7 56 3c 4c 25 47 3d  47 2d 33 32 2a 28 56 3e  |1.V<L%G=G-32*(V>|
00000c30  30 29 3a ef 47 3a 49 24  3d 49 24 2b bd 47 3a 56  |0):.G:I$=I$+.G:V|
00000c40  3d 56 2b 31 0d 03 d4 2b  e7 47 3d 31 32 37 e7 56  |=V+1...+.G=127.V|
00000c50  3e 30 ef 47 3a f1 22 2e  22 3b 3a ef 38 3a 56 3d  |>0.G:.".";:.8:V=|
00000c60  56 2d 31 3a 49 24 3d c1  49 24 2c 31 2c 56 29 0d  |V-1:I$=.I$,1,V).|
00000c70  03 de 1e e7 47 3d 33 32  e7 56 3c 38 ef 47 3a 49  |....G=32.V<8.G:I|
00000c80  24 3d 49 24 2b bd 47 3a  56 3d 56 2b 31 0d 03 e8  |$=I$+.G:V=V+1...|
00000c90  14 fd 28 47 3d 31 33 20  80 20 56 3e 30 29 3a f2  |..(G=13 . V>0):.|
00000ca0  6e 0d 03 f2 13 f1 c4 56  2c bd 38 29 49 24 89 37  |n......V,.8)I$.7|
00000cb0  3a 3d 49 24 0d 03 fc 35  dd f2 61 71 78 28 49 24  |:=I$...5..aqx(I$|
00000cc0  29 3a f2 69 3a f1 8a 32  38 2c 33 30 29 89 28 32  |):.i:..28,30).(2|
00000cd0  34 29 3a f1 8a 34 30 2d  a9 49 24 2f 32 2c 33 30  |4):..40-.I$/2,30|
00000ce0  29 49 24 3b 3a f2 6e 3a  e1 0d 04 06 5c dd f2 64  |)I$;:.n:....\..d|
00000cf0  69 63 65 3a f2 61 71 78  28 22 50 6c 65 61 73 65  |ice:.aqx("Please|
00000d00  20 72 6f 6c 6c 20 64 69  63 65 22 29 3a f5 fd a4  | roll dice"):...|
00000d10  67 65 74 3d 33 32 3a f2  61 71 78 28 22 52 6f 6c  |get=32:.aqx("Rol|
00000d20  6c 69 6e 67 20 64 69 63  65 22 29 3a f5 3a e3 57  |ling dice"):.:.W|
00000d30  25 3d 30 b8 34 3a e7 43  25 28 57 25 29 3d 31 20  |%=0.4:.C%(W%)=1 |
00000d40  e5 8d 54 5a 44 0d 04 10  38 52 25 3d b3 28 36 29  |..TZD...8R%=.(6)|
00000d50  3a 44 25 28 57 25 29 3d  52 25 3a f1 8a 33 34 2b  |:D%(W%)=R%:..34+|
00000d60  57 25 2a 32 2c 31 39 29  3b 52 25 3a e7 b3 28 32  |W%*2,19);R%:..(2|
00000d70  30 29 3d 31 30 43 25 28  57 25 29 3d 31 0d 04 1a  |0)=10C%(W%)=1...|
00000d80  29 ed 3a f2 6b 62 3a fd  a4 63 6c 61 69 6d 65 64  |).:.kb:..claimed|
00000d90  3a f1 8a 33 34 2c 32 30  29 22 7c 20 7c 20 7c 20  |:..34,20)"| | | |
00000da0  7c 20 7c 22 3a e1 0d 04  24 3b dd f2 63 6c 61 69  || |":...$;..clai|
00000db0  6d 3a f2 61 71 78 28 22  50 6c 65 61 73 65 20 63  |m:.aqx("Please c|
00000dc0  6c 61 69 6d 20 64 69 63  65 22 29 3a f5 20 47 25  |laim dice"):. G%|
00000dd0  3d a4 67 65 74 3a e7 47  25 3d 33 32 20 fd b9 3a  |=.get:.G%=32 ..:|
00000de0  e1 0d 04 2e 13 e7 47 25  3c 34 39 84 47 25 3e 35  |......G%<49.G%>5|
00000df0  33 20 fd 30 0d 04 38 55  e7 43 25 28 47 25 2d 34  |3 .0..8U.C%(G%-4|
00000e00  39 29 3d 30 43 25 28 47  25 2d 34 39 29 3d 31 3a  |9)=0C%(G%-49)=1:|
00000e10  f1 8a 33 34 2b 28 47 25  2d 34 39 29 2a 32 2c 32  |..34+(G%-49)*2,2|
00000e20  30 29 22 80 22 20 8b 20  43 25 28 47 25 2d 34 39  |0)"." . C%(G%-49|
00000e30  29 3d 30 3a f1 8a 33 34  2b 28 47 25 2d 34 39 29  |)=0:..34+(G%-49)|
00000e40  2a 32 2c 32 30 29 22 7c  22 0d 04 42 06 fd 30 0d  |*2,20)"|"..B..0.|
00000e50  04 4c 2c dd a4 63 6c 61  69 6d 65 64 3a ea 54 25  |.L,..claimed:.T%|
00000e60  3a e3 54 25 3d 30 b8 34  3a e7 43 25 28 54 25 29  |:.T%=0.4:.C%(T%)|
00000e70  3d 30 54 25 3d 34 3a ed  3a 3d 30 0d 04 56 1b ed  |=0T%=4:.:=0..V..|
00000e80  3a e3 54 25 3d 30 b8 34  3a 43 25 28 54 25 29 3d  |:.T%=0.4:C%(T%)=|
00000e90  30 3a ed 3a 3d 31 0d 04  60 56 dd f2 68 69 6c 28  |0:.:=1..`V..hil(|
00000ea0  50 25 29 f1 8a 33 34 2c  32 30 29 22 7c 20 7c 20  |P%)..34,20)"| | |
00000eb0  7c 20 7c 20 7c 22 3a f2  69 3a f1 8a 32 38 2c 32  || | |":.i:..28,2|
00000ec0  2b 38 2a 50 25 29 22 50  6c 61 79 65 72 20 22 3b  |+8*P%)"Player ";|
00000ed0  50 25 2b 31 22 3a 22 4e  24 28 50 25 29 c4 38 2d  |P%+1":"N$(P%).8-|
00000ee0  a9 4e 24 28 50 25 29 2c  22 2e 22 29 0d 04 6a 40  |.N$(P%),".")..j@|
00000ef0  f2 6e 3a f1 8a 32 38 2c  31 30 2d 38 2a 50 25 29  |.n:..28,10-8*P%)|
00000f00  22 50 6c 61 79 65 72 20  22 3b 32 2d 50 25 22 3a  |"Player ";2-P%":|
00000f10  22 4e 24 28 31 2d 50 25  29 c4 38 2d a9 4e 24 28  |"N$(1-P%).8-.N$(|
00000f20  31 2d 50 25 29 2c 22 2e  22 29 3a e1 0d 04 74 1c  |1-P%),"."):...t.|
00000f30  dd f2 63 68 6f 6f 73 65  3a e7 20 50 25 20 50 3d  |..choose:. P% P=|
00000f40  35 35 20 8b 20 50 3d 32  0d 04 7e 63 f2 61 71 78  |55 . P=2..~c.aqx|
00000f50  28 22 50 6c 65 61 73 65  20 63 68 6f 6f 73 65 20  |("Please choose |
00000f60  74 68 65 20 70 6c 61 63  65 22 29 3a f2 6b 62 3a  |the place"):.kb:|
00000f70  f2 6f 73 28 22 46 58 31  33 38 2c 30 2c 33 32 22  |.os("FX138,0,32"|
00000f80  29 3a 51 3d 30 3a f2 64  6f 77 6e 3a 41 3d 51 3a  |):Q=0:.down:A=Q:|
00000f90  51 3d 41 3a 52 3d 41 3a  f5 51 57 3d a4 67 65 74  |Q=A:R=A:.QW=.get|
00000fa0  3a e7 51 57 3d 31 33 39  f2 75 70 0d 04 88 14 f2  |:.QW=139.up.....|
00000fb0  6b 62 3a e7 51 57 3d 31  33 38 f2 64 6f 77 6e 0d  |kb:.QW=138.down.|
00000fc0  04 92 0e e7 51 3c 3e 52  20 f2 79 65 73 0d 04 9c  |....Q<>R .yes...|
00000fd0  39 f2 69 3a f1 8a 50 2c  a4 48 28 51 29 29 a4 66  |9.i:..P,.H(Q)).f|
00000fe0  31 35 28 4b 24 28 51 29  29 3b 3a f2 6e 3a f1 8a  |15(K$(Q));:.n:..|
00000ff0  50 2b 31 37 2c a4 48 28  51 29 29 a4 66 35 28 a4  |P+17,.H(Q)).f5(.|
00001000  73 63 28 51 29 29 0d 04  a6 28 52 3d 51 3a fd 51  |sc(Q))...(R=Q:.Q|
00001010  57 3d 31 33 3a f2 6b 62  3a f1 8a 50 2c a4 48 28  |W=13:.kb:..P,.H(|
00001020  51 29 29 a4 66 31 35 28  4b 24 28 51 29 29 0d 04  |Q)).f15(K$(Q))..|
00001030  b0 41 53 25 28 51 2c 50  25 29 3d a4 73 63 28 51  |.AS%(Q,P%)=.sc(Q|
00001040  29 3a f2 69 3a f1 8a 50  2b 31 37 2c a4 48 28 51  |):.i:..P+17,.H(Q|
00001050  29 29 3b 3a e7 53 25 28  51 2c 50 25 29 f1 a4 66  |));:.S%(Q,P%)..f|
00001060  35 28 53 25 28 51 2c 50  25 29 29 8b f1 89 35 0d  |5(S%(Q,P%))...5.|
00001070  04 ba 57 f2 6e 3a 57 3d  30 3a 59 3d 30 3a e3 54  |..W.n:W=0:Y=0:.T|
00001080  3d 31 b8 36 3a 57 3d 57  2b a4 53 28 54 2c 30 29  |=1.6:W=W+.S(T,0)|
00001090  3a 59 3d 59 2b a4 53 28  54 2c 31 29 3a ed 3a 58  |:Y=Y+.S(T,1):.:X|
000010a0  3d 30 3a 5a 3d 30 3a e3  54 3d 37 b8 31 33 3a 58  |=0:Z=0:.T=7.13:X|
000010b0  3d 58 2b a4 53 28 54 2c  30 29 3a 5a 3d 5a 2b a4  |=X+.S(T,0):Z=Z+.|
000010c0  53 28 54 2c 31 29 0d 04  c4 1f ed 3a f1 8a 33 39  |S(T,1).....:..39|
000010d0  2c 36 29 a4 66 35 28 57  29 8a 33 39 2c 37 29 a4  |,6).f5(W).39,7).|
000010e0  66 35 28 58 29 0d 04 ce  2a f1 8a 33 39 2c 38 29  |f5(X)...*..39,8)|
000010f0  a4 66 35 28 58 2b 57 2d  33 35 2a 28 57 3e 36 32  |.f5(X+W-35*(W>62|
00001100  29 29 8a 33 39 2c 31 34  29 a4 66 35 28 59 29 0d  |)).39,14).f5(Y).|
00001110  04 d8 2d f1 8a 33 39 2c  31 35 29 a4 66 35 28 5a  |..-..39,15).f5(Z|
00001120  29 8a 33 39 2c 31 36 29  a4 66 35 28 59 2b 5a 2d  |).39,16).f5(Y+Z-|
00001130  33 35 2a 28 59 3e 36 32  29 29 3a e1 0d 04 e2 3a  |35*(Y>62)):....:|
00001140  dd f2 65 6e 64 3a f2 74  65 6b 3a f2 6b 62 3a f5  |..end:.tek:.kb:.|
00001150  f7 8d 44 6e 45 3a e3 41  3d 31 b8 31 33 3a f3 42  |..DnE:.A=1.13:.B|
00001160  3a f2 77 3a f2 77 3a f2  77 3a ef 31 39 2c 31 2c  |:.w:.w:.w:.19,1,|
00001170  42 3b 30 3b 3a ed 0d 04  ec 0d fd a6 30 3c 3e 2d  |B;0;:.......0<>-|
00001180  31 3a f9 0d 04 f6 3f dd  f2 61 78 28 41 24 2c 59  |1:....?..ax(A$,Y|
00001190  25 29 58 25 3d 32 30 2d  a9 41 24 2f 32 3a ef 33  |%)X%=20-.A$/2:.3|
000011a0  31 2c 58 25 2c 59 25 3a  e3 54 25 3d 31 b8 a9 41  |1,X%,Y%:.T%=1..A|
000011b0  24 3a f2 77 3a ef 97 c1  41 24 2c 54 25 29 3a ed  |$:.w:...A$,T%):.|
000011c0  3a e1 0d 05 00 50 dd f2  74 65 6b 3a f2 61 78 28  |:....P..tek:.ax(|
000011d0  22 59 61 68 74 7a 65 65  20 68 61 73 20 6a 75 73  |"Yahtzee has jus|
000011e0  74 20 66 69 6e 69 73 68  65 64 22 2c 32 29 3a f2  |t finished",2):.|
000011f0  61 78 28 22 77 69 74 68  20 74 68 65 20 66 6f 6c  |ax("with the fol|
00001200  6c 6f 77 69 6e 67 20 73  63 6f 72 65 73 3a 22 2c  |lowing scores:",|
00001210  34 29 0d 05 0a 58 f2 61  78 28 22 50 6c 61 79 65  |4)...X.ax("Playe|
00001220  72 20 6f 6e 65 3a 20 22  2b 4e 24 28 30 29 2b 22  |r one: "+N$(0)+"|
00001230  20 3a 20 22 2b a4 66 33  28 41 25 29 2c 38 29 3a  | : "+.f3(A%),8):|
00001240  f2 61 78 28 22 50 6c 61  79 65 72 20 74 77 6f 3a  |.ax("Player two:|
00001250  20 22 2b 4e 24 28 31 29  2b 22 20 3a 20 22 2b a4  | "+N$(1)+" : "+.|
00001260  66 33 28 42 25 29 2c 31  31 29 0d 05 14 47 f2 61  |f3(B%),11)...G.a|
00001270  78 28 22 54 68 69 73 20  6d 65 61 6e 73 20 74 68  |x("This means th|
00001280  61 74 20 22 2b 4e 24 28  2d 28 41 25 3c 42 25 29  |at "+N$(-(A%<B%)|
00001290  29 2c 31 35 29 3a f2 61  78 28 22 68 61 73 20 77  |),15):.ax("has w|
000012a0  6f 6e 20 74 68 65 20 67  61 6d 65 21 22 2c 31 37  |on the game!",17|
000012b0  29 0d 05 1e 2a f2 61 78  28 22 50 72 65 73 73 20  |)...*.ax("Press |
000012c0  61 20 6b 65 79 20 74 6f  20 70 6c 61 79 20 61 67  |a key to play ag|
000012d0  61 69 6e 2e 22 2c 32 38  29 3a e1 0d 05 28 19 dd  |ain.",28):...(..|
000012e0  a4 67 65 74 3a f5 43 25  3d b3 28 b3 28 31 30 30  |.get:.C%=.(.(100|
000012f0  30 30 29 29 0d 05 32 11  43 25 3d a6 30 3a fd 43  |00))..2.C%=.0:.C|
00001300  25 3c 3e 2d 31 0d 05 3c  1a e7 20 43 25 3d 32 37  |%<>-1..<.. C%=27|
00001310  20 65 72 72 25 3d 32 37  3a 2a 46 58 31 32 35 0d  | err%=27:*FX125.|
00001320  05 46 08 3a 3d 43 25 0d  05 50 0b dd f2 65 72 72  |.F.:=C%..P...err|
00001330  6f 72 0d 05 5a 13 e7 20  9f 3d 31 37 20 e7 20 ac  |or..Z.. .=17 . .|
00001340  a6 2d 31 20 e1 0d 05 64  11 f6 3a f1 22 20 61 74  |.-1 ...d..:." at|
00001350  20 22 3b 9e 3a e0 0d 05  6e 1e dc 37 2c 33 2c 36  | ";.:...n..7,3,6|
00001360  2c 32 2c 35 2c 31 2c 34  2c 34 2c 31 2c 35 2c 32  |,2,5,1,4,4,1,5,2|
00001370  2c 36 2c 33 0d 05 78 1a  dd f2 6f 73 28 24 62 25  |,6,3..x...os($b%|
00001380  29 3a ea 58 25 2c 59 25  3a 58 25 3d 62 25 0d 05  |):.X%,Y%:X%=b%..|
00001390  82 16 59 25 3d 58 25 81  32 35 36 3a d6 26 46 46  |..Y%=X%.256:.&FF|
000013a0  46 37 3a e1 0d 05 8c 1c  dd a4 66 35 28 4e 25 29  |F7:.......f5(N%)|
000013b0  3d c2 22 2e 2e 2e 2e 2e  22 2b c3 4e 25 2c 35 29  |=."....."+.N%,5)|
000013c0  0d 05 96 1a dd a4 66 33  28 4e 25 29 3d c2 22 20  |......f3(N%)=." |
000013d0  20 20 22 2b c3 4e 25 2c  33 29 0d 05 a0 1e dd a4  |  "+.N%,3)......|
000013e0  66 31 35 28 6b 24 29 3d  c0 6b 24 2b c4 31 35 2c  |f15(k$)=.k$+.15,|
000013f0  22 20 22 29 2c 31 35 29  0d 05 aa 16 dd f2 6b 62  |" "),15)......kb|
00001400  3a f2 6f 73 28 22 46 58  32 31 22 29 3a e1 0d 05  |:.os("FX21"):...|
00001410  b4 15 dd f2 77 3a f2 6f  73 28 22 46 58 31 39 22  |....w:.os("FX19"|
00001420  29 3a e1 0d 05 be 16 dd  f2 69 3a ef 31 37 2c 31  |):.......i:.17,1|
00001430  32 39 2c 31 37 2c 30 3a  e1 0d 05 c8 16 dd f2 6e  |29,17,0:.......n|
00001440  3a ef 31 37 2c 31 32 38  2c 31 37 2c 31 3a e1 0d  |:.17,128,17,1:..|
00001450  05 d2 14 dd f2 72 65 6c  6f 63 28 51 25 29 3a 50  |.....reloc(Q%):P|
00001460  25 3d 90 0d 05 dc 19 e7  20 51 25 3e 3d 50 25 20  |%=...... Q%>=P% |
00001470  84 20 50 25 3e 26 38 30  30 30 20 e1 0d 05 e6 11  |. P%>&8000 .....|
00001480  4c 25 3d b8 50 2d 90 3a  2a 54 41 50 45 0d 05 f0  |L%=.P-.:*TAPE...|
00001490  1c e3 4a 25 3d 30 b8 4c  25 88 34 3a 51 25 21 4a  |..J%=0.L%.4:Q%!J|
000014a0  25 3d 50 25 21 4a 25 3a  ed 0d 05 fa 18 d0 3d 51  |%=P%!J%:......=Q|
000014b0  25 3a 2a 4b 45 59 30 4f  4c 44 7c 4d 52 55 4e 7c  |%:*KEY0OLD|MRUN||
000014c0  4d 0d 06 04 10 2a 46 58  31 33 38 2c 30 2c 31 32  |M....*FX138,0,12|
000014d0  38 0d 06 0e 05 e0 0d ff                           |8.......|
000014d8
18-06-89/Yahtzee.m0
18-06-89/Yahtzee.m1
18-06-89/Yahtzee.m2
18-06-89/Yahtzee.m4
18-06-89/Yahtzee.m5