DEFINT A-Z TYPE pt Jogador AS INTEGER Alvo AS INTEGER END TYPE DIM Tela(1 TO 8,1 TO 8)AS pt,Tot(1 TO 2),xc(1 TO 20),yc(1 TO 20) FOR i=1 TO 20 READ l,c Tela(l,c).Jogador=1-(i>10) NEXT Tot(1)=10:Tot(2)=10 CLS WIDTH 40 LOCATE 1,1 ?"ÉÍËÍËÍËÍËÍËÍËÍËÍ» FOR i=2 TO 16 IF i MOD 2 THEN ?"ÌÍÎÍÎÍÎÍÎÍÎÍÎÍÎ͹ ELSE ?"º º º º º º º º º END IF NEXT ?"ÈÍÊÍÊÍÊÍÊÍÊÍÊÍÊͼ LOCATE 1,20:?"Arquimedes 1.0 LOCATE 3,20:?"Jogadores: 1 2"; DO vez=NOT vez DO it=0 FOR c=1 TO 8 FOR l=1 TO 8 k=Tela(l,c).Jogador a=0 FOR vl=-1 TO 1 FOR vc=-1 TO 1 IF vl<>0 OR vc<>0 THEN l2=l:c2=c FOR j=1 TO 8 l2=l2+vl:c2=c2+vc IF l2=9 OR c2=9 OR l2=0 OR c2=0 THEN EXIT FOR n=Tela(l2,c2).Jogador IF(k>0 AND n=3-k)OR(k=0 AND n=1-vez)THEN a=a+1 IF n>0 THEN EXIT FOR NEXT IF a=3 THEN 2 END IF NEXT NEXT 2 Tela(l,c).Alvo=a IF k AND(a=3)THEN at=at+1 xl(at)=l:xc(at)=c Tot(k)=Tot(k)-1:Tela(l,c).Jogador=0:it=-1 END IF NEXT NEXT FOR c=1 TO 8 FOR l=1 TO 8 LOCATE 18-2*l,2*c SELECT CASE Tela(l,c).Jogador CASE 1:?"²"; CASE 2:?"°"; CASE 0:?" "; END SELECT NEXT NEXT IF at THEN FOR i=1 TO at LOCATE 18-2*xl(i),2*xc(i):?"±"; NEXT PLAY "MFo4l12cdefgab FOR i=1 TO at LOCATE 18-2*xl(i),2*xc(i) SELECT CASE Tela(xl(i),xc(i)).Jogador CASE 1:?"²"; CASE 2:?"°"; CASE 0:?" "; END SELECT NEXT at=0 END IF LOOP WHILE it LOCATE 4,20:?USING "Pe‡as :## ##";Tot(1);Tot(2); FOR k=1 TO 2 IF Tot(k)<3 THEN WIDTH 80 ?"Jogador ";k;" perdeu ? PLAY "MFo3l14gfedc EXIT DO END IF NEXT LOCATE 19,1:?"Jogador ";vez+2 1 LOCATE 20,1:?SPACE$(40); LOCATE 20,1:?"Movimento :"; INPUT "",exp$ exp$=UCASE$(exp$) IF exp$="FIM" THEN EXIT DO IF INSTR(exp$,"-")<>3 THEN BEEP:GOTO 1 d$=LEFT$(exp$,2) p$=MID$(exp$,4) lde=VAL(RIGHT$(d$,1)) cde=ASC(d$)-64 lpara=VAL(RIGHT$(p$,1)) cpara=ASC(p$)-64 IF Tela(lde,cde).Jogador<>vez+2 THEN BEEP:GOTO 1 IF Tela(lpara,cpara).Jogador>0 OR(Tela(lpara,cpara).Alvo=3)THEN BEEP:GOTO 1 l2=lde:c2=cde:vl=SGN(lpara-lde):vc=SGN(cpara-cde) FOR j=1 TO 8 l2=l2+vl:c2=c2+vc IF l2=lpara AND c2=cpara THEN EXIT FOR IF l2=9 OR c2=9 OR l2=0 OR c2=0 THEN BEEP:GOTO 1 IF Tela(l2,c2).Jogador THEN BEEP:GOTO 1 NEXT l2=lde:c2=cde FOR j=1 TO 8 t!=TIMER:DO:LOOP UNTIL TIMER-t!>.1 LOCATE 18-2*l2,2*c2:?" "; l2=l2+vl:c2=c2+vc LOCATE 18-2*l2,2*c2:IF vez THEN ?"²";ELSE ?"°"; IF l2=lpara AND c2=cpara THEN EXIT FOR NEXT Tela(lde,cde).Jogador=0:Tela(lpara,cpara).Jogador=vez+2 LOOP WIDTH 80 SYSTEM DATA 1,5,1,6,1,7,1,8,2,6,2,7,2,8,3,7,3,8,4,8 DATA 5,1,6,1,6,2,7,1,7,2,7,3,8,1,8,2,8,3,8,4