07/01/30 17:31:02
void mt(){
BB: //ラベル
s=t+u; // s = 現在の指し手 + 読みの深さ
x=ad[s]; // 読み位置のアドレス
if(te[5*x]<=128){z=64;te_add();} //手が壊れいたら新規に登録
tu=te[5*x+3]; //指し手の記録総数
if(tu==0){ 指し手が0ならば
if(td==1){ ・・・ } 2度指し手が0なら勝敗を記録
else{ ・・・ } 1度指し手が0ならパスで指し進める
}
cn=te[5*x]&63; //現在の手の読み位置
z=te[5*x+3+cn]; //現在の手
situ(); //取れるコマを出す
if(sit[0]==masu[s][ch(F)]){ ・・・ } //すべてのコマが取れるなら勝敗を記録
if((masu[s][0]+masu[s][1])>=63){ ・・・ } //残りのマスが1つだけなら勝敗を記録
if(ha[u]==1){ ・・・ } //手を戻してやってきたとき
hmove();adress(); //手を進めてやってきたとき
FF:;
if(te_deteru)w=tu-1; else w=tu+3; //現局面の手がすべて出ているとき
kar[u+1]=kar[u]+rt[w][cn-1]; //確率の計算(対数を使う)
if((kar[u+1]<0) && (kar[u+1]<lg*(hash[p].k-1))){ //確率が残っていて、まだ指し進めていないとき
hash[p].k=1+(int)(kar[u+1]/lg);move();goto BB;}