コンピュータ将棋はいつできるのか

/*-- 駒の動きをソースコードで表現する --*/
/*-- http://d.hatena.ne.jp/karmen/20100507 の続き --*/
/*-- C言語を使う人はイコールが==(=ふたつ)だからねっ!--*/
N=0; /*-- N=0:成らない N=1:成る --*/

歩: X2=X1,Y2=Y1+1;
香: X2=X1,Y2>=Y1;
桂: X2=(X1+1)or(X1-1),Y2=Y1+2;
銀: {(X2=X1+1)or(X2=X1-1)}
   and
   {(Y2=Y1+1)}or(Y2=Y1-1)}
   or
   {(X2=X1)and(Y2=Y1+1)}
金: {(X2=X1+1)or(X2=X1-1)}
   and
   (Y2=Y1+1)
   or
   {(X2=X1)and(Y2=Y1+1)}
   or
   {(X2=X1)and(Y2=Y1-1)}
飛: (X2=X1)or(Y2=Y1)
角: (X2-X1)=(Y2-Y1)
王: {(X2=X1+1)or(X2=X1-1)}
   and
   {(Y2=Y1+1)}or(Y2=Y1-1)}
   or
   {(X2=X1)and(Y2=Y1+1)}
   or
   {(X2=X1)and(Y2=Y1-1)}
   or
   {(X2=X+1)and(Y2=Y1)}
   or
   {(X2=X-1)and(Y2=Y1)}
/*-- このままじゃ、香車や飛車と角が駒を飛び越します --*/


🄫1999-2023 id:karmen