Listing of file='ANALYZ.FOR;03' on disk='vmedia/backgammon-sideB-sector.ccvf'
SUBROUTINE TEST(J1,K,K1,B1,DIE,H,T) INTEGER B1(26),DIE(4),H(5),T(4) BYTE J1,K,K1 BYTE SUB IF(J1.GT.0)GOTO 3320 RETURN 3320 K1= T(J1) B1(K1)= B1(K1)-1 K= DIE(J1) 3350 IF(K1.NE.25)GOTO 3370 K1= 0 3370 SUB = K1+K B1(SUB)= B1(SUB)+1 3380 IF(H(J1).EQ.0)GOTO 3410 B1(SUB)= B1(SUB)+1 H(J1)= 0 3410 RETURN END SUBROUTINE ANALYZ(F,B,B0,B1,DIE,H,M,T) REAL M(9),D,D1,D2 INTEGER B(10),B0(4),B1(26),DIE(4),H(5),T(4) BYTE F,I,J,K,K1,L BYTE DUM,DUM1,DUM2,DUM3,SUB,IT BYTE C,C1 COMMON /TEMP/T1,T2,T3,T4,T5 COMMON /MORE/V,V1,V2,V3,V4 V = 0.0 V2= 3.5 V3= 1.0 4350 DO 4400 K=1,F IF(T(K).NE.0)GOTO 4380 V= V+40.0*V3 4380 IF(T(K).NE.25)GOTO 4400 V= V+4000.0 4400 CONTINUE 4420 IF(B1(25).NE.0)GOTO 4620 4430 IF(B1(26).NE.0)GOTO 4620 4440 DO 4460 I=1,F IF(H(I).NE.0)GOTO 4620 4460 CONTINUE 4470 DO 4490 DUM=1,24 I = 25-DUM IF(B1(I).GT.0)GOTO 4500 4490 CONTINUE 4500 DO 4520 DUM=1,I T1 = I+1-DUM IT = T1 IF(B1(IT).LT.0)GOTO 4620 4520 CONTINUE 4540 V2= 0.0 V3= 5.0 4570 DO 4600 I=1,6 IF(B1(I).GE.0)GOTO 4600 V= V-1000.0*IABS(B1(I))*(7-I) 4600 CONTINUE GOTO 6430 4620 C1= 0 4650 DO 4690 I=1,24 IF(B1(I).NE.-1)GOTO 4690 C1= C1+1 B(C1)= I 4690 CONTINUE 4770 T1= 0.0 T2= 0.0 T3= 0.3 T5= 0.0 4820 DO 4940 J=17,24 IF(B1(J).GT.-2)GOTO 4880 T1= T1+1.0 IF(J.GT.18)GOTO 4880 T1= T1-0.3 4880 IF(B1(J).NE.-1)GOTO 4910 T2= T2+1.0 4910 IF(J.LE.21)GOTO 4940 IF(B1(J).GE.0)GOTO 4940 V= V+30.0*B1(J) 4940 CONTINUE 4950 V= V+T1*V2**2 4970 DO 5000 J=1,8 IF(B1(J).LT.2)GOTO 5000 T3= T3+1.0 5000 CONTINUE 5020 DO 5050 J=13,18 IF(B1(J).GE.0)GOTO 5050 V= V+IABS(B1(J))*V2 5050 CONTINUE 5060 T1= T1*V1**2 T3= T3*V1**2 5090 DO 5130 J=1,F IF(H(J).EQ.0)GOTO 5130 T5= T5+1.0 V= V+(25.0-H(J))*T1*11.0/36.0 5130 CONTINUE 5140 T5= T5+B1(26) 5150 IF(T5.LT.4.0)GOTO 5200 V= V-11.0/36.0*T2*T3 5200 IF(C1.LE.0)GOTO 5250 V= V+300.0 5220 IF(V.GE.M(9))GOTO 5240 GOTO 6700 5240 V= V-300.0 5250 DO 5280 J=1,4 IF(B1(J).GT.-1)GOTO 5280 V= V-IABS(B1(J))*T3/V1*(5-J) 5280 CONTINUE 5300 IF(T5.GT.3.0)GOTO 6130 5310 IF(C1.EQ.0)GOTO 6130 5330 DO 6110 J=1,C1 DUM1 = B(J)+1 DO 6110 K=DUM1,26 C= 0 5360 IF(K.LT.26)GOTO 5400 5370 DO 5390 K1=1,F IF(H(K1).NE.0)GOTO 5410 5390 CONTINUE 5400 IF(B1(K).LE.0)GOTO 6110 5410 IF(K.GT.24)GOTO 5640 T4= 1.0 5460 IF(B(J).GT.6)GOTO 5480 T4= 0.5 5480 IF(B1(K).NE.2)GOTO 5650 T4= T4-1.0 5500 DO 5540 DUM2=1,6 K1 = K-DUM2 5510 IF(K1.LT.1)GOTO 5600 IF(B1(K1).NE.-1)GOTO 5540 T4= T4+11.0+K-K1 5540 CONTINUE 5550 DO 5590 DUM2=7,11 K1 = K-DUM2 5560 IF(K1.LT.1)GOTO 5600 IF(B1(K1).NE.-1)GOTO 5590 T4= T4+2.0 5590 CONTINUE 5600 T4= (36.0-T4)/36.0*B(J)/12.0 5610 IF(T4.GE.0.0)GOTO 5630 T4= 0.15 5630 IF(T4.LT.1.0)GOTO 5650 5640 T4= 1.0 5650 D= K-B(J) 5670 IF(K.LT.26)GOTO 5690 D= D-1.0 5690 IF(T5.GT.0.0)GOTO 5910 5700 IF(D.EQ.1.0)GOTO 5920 5710 IF(D.GT.11.0)GOTO 5980 5730 IF(B(J).GT.13)GOTO 5750 5740 IF(B1(26).NE.0)GOTO 5920 5750 D1= 1.0 5760 D2= D-D1 5770 IF(D2.LE.6.0)GOTO 5800 D1= D1+1.0 GOTO 5760 5800 SUB = K-D1 IF(SUB.LE.0)GOTO 5840 IF(B1(SUB).LT.0)GOTO 5840 C= C+2 GOTO 5870 5840 SUB = K-D2 IF(SUB.LE.0)GOTO 5870 IF(B1(SUB).LT.0)GOTO 5870 5860 C= C+2 5870 IF(D2-D1.LE.1.0)GOTO 5910 D1= D1+1.0 D2= D2-1.0 5900 GOTO 5800 5910 IF(D.GT.6.0)GOTO 5980 5920 IF(B(J).GT.18)GOTO 5950 5940 IF(T5.GT.1.0)GOTO 5970 5950 C= C+11 GOTO 5980 5970 C= C+1 5980 D2= 3.0 6000 IF(INT(D/D2)*D2.NE.D)GOTO 6060 D1= 0.0 D1= D1+D/D2 6030 SUB = K-D1 IF(SUB.LT.1)GOTO 6060 IF(B1(SUB).GT.1)GOTO 6060 C= C+1 6060 IF(D2.NE.3.0)GOTO 6100 D2= 4.0 GOTO 6000 6100 V= V-C/36.0*B(J)*T3*T4 6110 CONTINUE 6130 T1= 0.0 T2= 0.0 6160 DO 6320 K=16,23 6170 IF(B1(K+1).GT.-2)GOTO 6190 T1= T1+1.0 6190 IF(T1.LT.T2)GOTO 6300 T2= T1 T3= 1.0 6250 DO 6280 J=K,24 IF(B1(J).LE.0)GOTO 6280 T3= T3+B1(J) 6280 CONTINUE 6290 V= V+T2*T2*T3 6300 IF(B1(K+1).LT.-1)GOTO 6320 T1 = 0.0 6320 CONTINUE 6340 L= 5 6350 DUM3 = L+2 DO 6390 K=L,DUM3 V= V-B1(K)*V2*30.0 6370 IF(B1(K).GT.-3)GOTO 6390 V= V+B1(K)*V2*30.0+90.0 6390 CONTINUE 6400 IF(L.GE.18)GOTO 6430 L= 18 GOTO 6350 6430 T1= 0.0 T2= 0.0 T3= 0.0 T4= 0.0 6520 DO 6620 J=1,24 6530 IF(B1(J).GE.0)GOTO 6620 T1= T1+1.0 6550 IF(J.GE.19)GOTO 6570 T4= T4+(19.0-J)*IABS(B1(J))+(3.0-INT((J-1)/6.0))* * 3.0*IABS(B1(J)) 6570 IF(B1(J).GT.-2)GOTO 6620 T2= T2+1.0 6600 IF(B1(J).GT.-3)GOTO 6620 T3= T3-(B1(J)*B1(J))+12 6620 CONTINUE 6630 T2= T2*V2 V= V+T1+V2*T2+V2*T3-V3*T4 6700 IF(V.LE.M(9))GOTO 6830 6710 DO 6810 J=1,F 6720 IF(T(J).NE.0)GOTO 6760 6730 SUB = (J-1)*2+1 M(SUB)= B0(J) 6740 M(2*J)= 28.0 GOTO 6810 6760 SUB = (J-1)*2+1 M(SUB)= T(J) 6770 IF(T(J).EQ.25)GOTO 6800 6780 M(2*J)= T(J)+DIE(J) GOTO 6810 6800 M(2*J)= DIE(J) 6810 CONTINUE 6820 M(9)= V 6830 RETURN END SUBROUTINE BADMOV(BADCNT) BYTE BADCNT,I BADCNT = BADCNT+1 IF(BADCNT.LT.2) GOTO 15 I = BADCNT-1 IF(I.GT.4) I = 4 CALL CO(13) CALL CO(10) GOTO (11,12,13,14),I 11 CALL PRINT('LOOK CLOSER@') GOTO 15 12 CALL PRINT('USE YOUR HEAD@') GOTO 15 13 CALL PRINT('DO YOU KNOW HOW TO PLAY?@') GOTO 15 14 CALL PRINT('I WANT A NEW #?$*%" OPPONENT!@') 15 RETURN END SUBROUTINE COMMNT BYTE I W = RND(1.0) IF(W.GT.0.2) GOTO 30 CALL CO(13) CALL CO(10) I = INT(RND(1.0)*9.0+1.0) GOTO (21,22,23,24,25,26,27,28,29),I 21 CALL PRINT('HOPE YOU DON''T MIND COMMENTS@') GOTO 30 22 CALL PRINT('IS YOUR HEART REALLY IN THIS ?@') GOTO 30 23 CALL PRINT('TERRIBLE MOVE!@') GOTO 30 24 CALL PRINT('SUCKER!!!@') GOTO 30 25 CALL PRINT('DEE, DEE, DEE, DUM ...@') GOTO 30 26 CALL PRINT('AM I DISTURBING YOU ?@') GOTO 30 27 CALL CO(17) CALL CO(31) CALL PRINT('<---- * PSYCH-OUT * ---->@') CALL CO(15) CALL CO(18) GOTO 30 28 CALL PRINT('LET''S SEE WHAT YOU CAN DO@') GOTO 30 29 CALL PRINT('WHAT A WEENIE!@') 30 RETURN END