}
}
}
if(step==0){ }
stepx=i; stepy=j;
}//if
}//for
//μ±?°??óD2??é×? if(k==0){ }
//′??úo?àí2? else{
if(flag-ManChoice==0) return min; else if(flag-ComChoice==0){
//if return max; flag=-flag;
if(search(tb,flag)){ } else{ }
flag=-flag;
return valuefirst(tb);
value=findfirst(tb,step,flag,cut); flag=-flag; return value;
}//if
}//else
int CBwfind::valuefirst(int tb[][8] ) {
int flag,minus,corner=0,v,ComMobil,ManMobil,DiffMobil,Num,squre; int danger; flag=ComChoice;
ComMobil=Mobility(tb,ComChoice); ManMobil=Mobility(tb,ManChoice);
//DiffMobil=ComMobil*ComMobil-ManMobil*ManMobil; //a
DiffMobil=ComMobil-ManMobil; //b
Num=Total(tb); if(flag==1){ }
if(flag==-1){ }
if(Num<25){ } else{
v=minus+2*DiffMobil; minus=black(tb)-white(tb); if(minus>=0) squre=minus*minus; else squre=-minus*minus; danger=white(tb);
minus=white(tb)-black(tb); if(minus>=0) squre=minus*minus; else squre=-minus*minus; danger=black(tb);
}
}
v=minus+3*DiffMobil;
if(danger==0) v=-10000; return v;
int CBwfind::findlast(int tb[][8], int &step, int &flag, int cut) {
int value=0,max=-100000,min=100000,k=0,i,j; int temp[8][8]; if(step==64){ }
for(i=0;i<8;i++)for(j=0;j<8;j++) temp[i][j]=tb[i][j]; for(i=0;i<8;i++)for(j=0;j<8;j++){
if(judge(tb,i,j,flag)){
int ii,jj;
k=1;//′??úo?àíμ?2?×ó newboard(tb,i,j,flag); flag=-flag; step++;
if(-flag==ComChoice){ }
if(-flag==ManChoice){ } step--; flag=-flag;
value=findlast(tb,step,flag,min); value=findlast(tb,step,flag,max);
if(ComChoice==1) return(black(tb)-white(tb)); else return(white(tb)-black(tb));
//???′???ì
for(ii=0;ii<8;ii++)for(jj=0;jj<8;jj++) tb[ii][jj]=temp[ii][jj]; if(flag-ManChoice==0&&value
if(flag-ComChoice==0){ }
if(value>max){ }
max=value;
if(step==CountNum()){ }
stepx=i; stepy=j;
if(value min=value; }//if }//for //μ±?°??óD2??é×? if(k==0){ flag=-flag; if(search(tb,flag)){ } else{ flag=-flag; value=findlast(tb,step,flag,cut); flag=-flag; return value;
相关推荐: