シリアル対戦成功
礒部将棋とシリアル対戦できるようになりました。
投了コマンドがまだなんで、それをいれましょう。
次は連続対戦ができるようにしたいですが、
CSA通信プロトコルには規定がないですねえ。
k-shogiも連続対戦できるようだし、ちょっと調べてみましょう。
通信がバイト単位だったので文字列送信に変更。
あと打つ手がおかしいので修正(from==0なのに駒座標変換をしていた)
void RS_printTe( Te& a ) { unsigned char s[100]; if(a.koma&SELF)s[0]='+'; else s[0]='-'; if(a.from==0) { s[1]='0'; s[2]='0'; } else { s[1]='0'+(int)(a.from%16); s[2]='0'+(int)(a.from/16-1); } s[3]='0'+(int)(a.to%16); s[4]='0'+(int)(a.to/16-1); if(a.promote) { s[5]=csaKoma[ (a.koma&0x07)|PROMOTED ][0]; s[6]=csaKoma[ (a.koma&0x07)|PROMOTED ][1]; } else { s[5]=csaKoma[ (a.koma&0x0f) ][0]; s[6]=csaKoma[ (a.koma&0x0f) ][1]; } s[7]=0x0a; s[8]=0; RS_write( s ); }