PROGRAM:REVERSPART3 01 '******************************* 02 '*REVERSI GAME by -ws- 10.06.20* 03 '*Rev. 1.1 Part3 --- LOAD TO P8* 04 '******************************* 05 G=0:DA 3,AR(2):DA 4,AR(1)' CB2 06 'CLEAR ANALYSIS ARRAY ---------- 07 FOR I=0 TO 63 08 DA 400+I,0:DA 470+I,0:NEXT 09 COL 15,9 10 POS 21,5:? " CB2 MOVE " 11 CALL 8,13:CALL 8,18:RET 12 13 'SUCCESSFUL CB2 POSITIONS ------ 14 FOR P=0 TO 63:V=P:CALL 6,89 15 IF AR(330+P)=14:X=1:CALL 7,44 16 NEXT :RET 17 18 'BEST NUMBER OF PIECES --------- 19 FOR I=0 TO 63:U=AR(470+I) 20 IF U>Z:Z=U:P=I 21 NEXT :V=P:CALL 6,89:CALL 8,29 22 IF T=0:X=0:CALL 7,44:RET 23 K=KEY(0) 24 IF K=234:X=0:CALL 7,44:GO ~L+2 25 GO ~L-2 26 COL 0,7:POS 21,19:? " " 27 RET 28 29 'DISPLAY CB2 POSITION ---------- 30 COL 0,10 31 IF R=8:POS 21,5:? "NO CB2 MOVE" 32 IF R=8:DA 6,1 33 COL AR(4),AR(3) 34 POS 21,16:? %AR(610+S) 35 POS 21,17:? %AR(618+R) 36 IF T=1:POS 21,19:? "ENTER CB2" 37 IF R>0:DA 5,0 38 WAIT 5:G=0:RET 39 40 'GAME OVER --------------------- 41 IF (AR(5)=1)&(AR(6)=1):GO ~L+3 42 IF (N+M=64)#(N=0)#(M=0):GO ~L+2 43 RET 44 IF MN:NO 253:GO ~L+4 46 IF M=N:NO 252:GO ~L+5 47 DATA 1,192," YOU WON",0 48 GO ~L+4 49 DATA 1,160," YOU LOST",0 50 GO ~L+2 51 DATA 1,224," UNDECIDED",0 52 ALERT 1 53 DATA 1,159," NEW GAME?",0 54 ASK K,1 55 IF K=0:CLS :END 56 RET 57 58 'DISK-SQUARE FACTORS ----------- 59 'Can be edited for optimization! 60 'LOW-LEVEL --------------------- 61 DA 1340,2,2,2,2,2,2,2,2 62 DA 1348,2,-2,-2,-2,-2,-2,-2,2 63 DA 1356,2,-2,1,1,1,1,-2,2 64 DA 1364,2,-2,1,1,1,1,-2,2 65 DA 1372,2,-2,1,1,1,1,-2,2 66 DA 1380,2,-2,1,1,1,1,-2,2 67 DA 1388,2,-2,-2,-2,-2,-2,-2,2 68 DA 1396,2,2,2,2,2,2,2,2 69 RET 70 'HIGH-LEVEL -------------------- 71 DA 1340,30,2,10,5,5,10,2,30 72 DA 1348,2,0,5,3,3,5,0,2 73 DA 1356,10,1,5,2,2,5,1,10 74 DA 1364,5,1,3,1,1,3,1,5 75 DA 1372,5,1,3,1,1,3,1,5 76 DA 1380,10,1,5,2,2,5,1,10 77 DA 1388,2,0,5,3,3,5,0,2 78 DA 1396,30,2,10,5,5,10,2,30 79 RET #