バージョンアップしました
オセロです。
コンピュータと対戦します。
コンピュータはそれなりに強いです。
・Xの入力時に99を入力するとパスできます。
・X,Yの入力時に何も入力しないと盤面を再表示します。
・コンピュータは置けるところが無い場合、自動的にパスします。
2017年4月19日 追記
さらにバージョンアップしました
・Xの入力時に99を入力するとパスできますが、置けるところがある場合はパスされません
・パラメータの誤りで、コンピュータが(2,1)に置かないバグを修正しました
1 CLV:J=1:K=2:LET[1],63,56,7,18,45,42,21,16,47,2,61,40,23,58,5,26,37,19,44,34,29,43,20,17,46,13,114,138,53,41,22,24,59,39,132,96,60,31,3,25,51,38,12,33,52,30,11,49,14,9,54,8,55,6,57,15,1,48,62 2 GSB10:G=0 3 INPUT"X?",X:IFX=99G=1:FORL=0TO63:X=L%8:Y=L/8:GSB14:NEXT:IFG=1GOTO7ELSEGOTO2 4 IFX=0ORX>8GOTO2 5 INPUT"Y?",Y:IFY=0ORY>8GOTO2 6 X=X-1:Y=Y-1:GSB14:IFF?"NG!":GOTO3 7 G=0:GSB10:Z=0:J=2:K=1 8 X=[Z]&56>>3:Y=[Z]&7:GSB14:Z=Z+1:IFFANDZ<>60GOTO8 9 ?"COM X";X+1;" Y";Y+1:J=1:K=2:GOTO2 10 ?"Y|12345678-X";:M=0:N=0:FORI=0TO63:IFI%8=0?:?I/8+1;"|"; 11 B=[I]>>6:IFB=1?"O";:M=M+1ELSEIFB?"#";:N=N+1ELSE?"-"; 12 NEXT:?" O";M;" #";N:?:IFM+N=64END 13 RTN 14 F=1:IF[X+Y*8]>>6RTN 15 FORI=0TO10:IFI=3ORI=5ORI=7NEXT 16 T=I&12>>2-1:U=I&3-1:V=X+T:W=Y+U:IFV<0ORW<0ORV>7ORW>7GOTO24 17 IF[V+W*8]>>6<>KGOTO24 18 V=V+T:W=W+U:IFV<0ORV>7ORW<0ORW>7GOTO24 19 B=[V+W*8]>>6:IFB=KGOTO18 20 IFB<>JGOTO24 21 R=X:S=Y*8:F=0:IFGG=2:GOTO24ELSE[R+S]=[R+S]&63+64*J 22 R=R+T:S=S+U*8:A=R+S:IF[A]>>6=JGOTO24 23 [A]=[A]&63+64*J:GOTO22 24 NEXT:RTN