📄 vexillumview.cpp
字号:
qzwz[3][1].qizibiaozhi=shizhang;
qzwz[3][3].qizibiaozhi=tuanzhang;
qzwz[3][4].qizibiaozhi=gongbing;
}
qzwz[4][0].qizibiaozhi=zhadan;
qzwz[4][2].qizibiaozhi=gongbing;
qzwz[4][4].qizibiaozhi=zhadan;
qzwz[5][0].qizibiaozhi=lvzhang;
qzwz[5][1].qizibiaozhi=paizhang;
qzwz[5][2].qizibiaozhi=tuanzhang;
qzwz[5][3].qizibiaozhi=paizhang;
qzwz[5][4].qizibiaozhi=lvzhang;
}
if(k1==1)
{
qzwz[0][1].qizibiaozhi=junqi;
qzwz[3][0].qizibiaozhi=lvzhang;
qzwz[4][0].qizibiaozhi=zhadan;
qzwz[5][4].qizibiaozhi=yingzhang;
qzwz[5][0].qizibiaozhi=tuanzhang;
qzwz[4][4].qizibiaozhi=siling;
qzwz[0][3].qizibiaozhi=dilei;
qzwz[2][0].qizibiaozhi=dilei;
qzwz[5][1].qizibiaozhi=paizhang;
qzwz[1][2].qizibiaozhi=dilei;
qzwz[5][3].qizibiaozhi=paizhang;
qzwz[5][2].qizibiaozhi=lvzhang;
qzwz[4][2].qizibiaozhi=zhadan;
qzwz[3][1].qizibiaozhi=lianzhang;
qzwz[3][3].qizibiaozhi=shizhang;
qzwz[3][4].qizibiaozhi=junzhang;
qzwz[2][2].qizibiaozhi=gongbing;
qzwz[2][4].qizibiaozhi=gongbing;
qzwz[1][0].qizibiaozhi=shizhang;
qzwz[1][1].qizibiaozhi=lianzhang;
qzwz[1][3].qizibiaozhi=gongbing;
qzwz[1][4].qizibiaozhi=tuanzhang;
qzwz[0][0].qizibiaozhi=yingzhang;
qzwz[0][2].qizibiaozhi=paizhang;
qzwz[0][4].qizibiaozhi=lianzhang;
}
if(k1==3)
{
qzwz[0][0].qizibiaozhi=lianzhang;
qzwz[0][1].qizibiaozhi=dilei;
qzwz[0][2].qizibiaozhi=paizhang;
qzwz[0][3].qizibiaozhi=junqi;
qzwz[0][4].qizibiaozhi=yingzhang;
qzwz[1][0].qizibiaozhi=tuanzhang;
qzwz[1][1].qizibiaozhi=gongbing;
qzwz[1][2].qizibiaozhi=dilei;
qzwz[1][3].qizibiaozhi=shizhang;
qzwz[1][4].qizibiaozhi=lianzhang;
qzwz[2][0].qizibiaozhi=gongbing;
qzwz[2][2].qizibiaozhi=gongbing;
qzwz[2][4].qizibiaozhi=dilei;
qzwz[3][0].qizibiaozhi=junzhang;
qzwz[3][1].qizibiaozhi=shizhang;
qzwz[3][3].qizibiaozhi=lianzhang;
qzwz[3][4].qizibiaozhi=lvzhang;
qzwz[4][0].qizibiaozhi=siling;
qzwz[4][2].qizibiaozhi=zhadan;
qzwz[4][4].qizibiaozhi=zhadan;
qzwz[5][0].qizibiaozhi=yingzhang;
qzwz[5][1].qizibiaozhi=paizhang;
qzwz[5][2].qizibiaozhi=lvzhang;
qzwz[5][3].qizibiaozhi=paizhang;
qzwz[5][4].qizibiaozhi=tuanzhang;
}
}
void CVexillumView::Initialization()
{
for(int qww=0;qww<14;qww++)
for(int qww1=0;qww1<5;qww1++)
{
if(qww<6)
guess[qww][qww1].z=0;
else
guess[qww][qww1].z=1;
for(int we=0;we<12;we++)
guess[qww][qww1].qizi[we]=0;
}
for(int qw=0;qw<14;qw++)
for(int qw1=0;qw1<5;qw1++)
{
if((qw==8)||(qw==9))
{
guess[qw][qw1].qizi[siling]=60;//军长,司令
guess[qw][qw1].qizi[junzhang]=60;
}
if((qw==9)||(qw==10)||(qw==11)||(qw==12))
{
if((qw==10)||(qw==11))
{
if(qw==11)
guess[qw][qw1].qizi[dilei]=250;
guess[qw][qw1].qizi[siling]=40;//军长,司令
guess[qw][qw1].qizi[junzhang]=40;
}
if(qw==12)
{
guess[qw][qw1].qizi[dilei]=250;
guess[qw][qw1].qizi[siling]=26;//军长,司令
guess[qw][qw1].qizi[junzhang]=26;
}
guess[qw][qw1].qizi[zhadan]=120;//炸弹
}
if(qw==13)
{
if((qw1==1)||(qw1==3))
{
guess[qw][qw1].qizi[dilei]=125;
guess[qw][qw1].qizi[zhadan]=40;
guess[qw][qw1].qizi[siling]=13;
guess[qw][qw1].qizi[junzhang]=13;
guess[qw][qw1].qizi[junqi]=500;
}
else
{
guess[qw][qw1].qizi[dilei]=250;
guess[qw][qw1].qizi[zhadan]=80;
guess[qw][qw1].qizi[siling]=26;
guess[qw][qw1].qizi[junzhang]=26;
}
}
}
for(int tr2=8;tr2<14;tr2++)
for(int tr12=0;tr12<5;tr12++)
{
if(tr2==8)
{
for(int yq=3;yq<10;yq++)
{
if(yq<6)
guess[tr2][tr12].qizi[yq]=155;
else
guess[tr2][tr12].qizi[yq]=104;
}
}
if(tr2==9)
{
for(int yq=3;yq<10;yq++)
{
if(yq<6)
guess[tr2][tr12].qizi[yq]=134;
else
guess[tr2][tr12].qizi[yq]=90;
}
}
if(tr2==10)
{
for(int yq=3;yq<10;yq++)
{
if(yq<6)
guess[tr2][tr12].qizi[yq]=141;
else
guess[tr2][tr12].qizi[yq]=94;
}
}
if(tr2==11)
{
for(int yq=3;yq<10;yq++)
{
if(yq<6)
guess[tr2][tr12].qizi[yq]=97;
else
guess[tr2][tr12].qizi[yq]=65;
}
}
if(tr2==12)
{
for(int yq=3;yq<10;yq++)
{
if(yq<6)
guess[tr2][tr12].qizi[yq]=102;
else
guess[tr2][tr12].qizi[yq]=68;
}
}
if(tr2==13)
{
for(int yq=3;yq<10;yq++)
{
if(yq<6)
{
if((tr12!=1)&&(tr12!=3))
guess[tr2][tr12].qizi[yq]=109;
else
guess[tr2][tr12].qizi[yq]=54;
}
else
{
if((tr12!=1)&&(tr12!=3))
guess[tr2][tr12].qizi[yq]=73;
else
guess[tr2][tr12].qizi[yq]=37;
}
}
}
}
for(int tr=6;tr<14;tr++)
for(int tr1=0;tr1<5;tr1++)
{
if((qzwz[tr][tr1].wzbz==2)||(tr==6)||(tr==7))
{
for(int wt=0;wt<12;wt++)
guess[tr][tr1].qizi[wt]=0;
guess[tr][tr1].z=0;
}
}
}
void CVexillumView::GuZhi(int wchess,int wx,int wy,int dx,int dy,int shengfu)
{//
if(wchess==nochess)
{
int t,p,tsum,psum;
tsum=0;psum=0;
t=guess[dx][dy].qizi[dilei];
p=guess[dx][dy].qizi[junqi];
if(t)
{
guess[dx][dy].qizi[dilei]=0;
JunFei(dilei,t);
}
if(p)
{
guess[dx][dy].qizi[junqi]=0;
if(dy==1)
{
for(int qr=1;qr<12;qr++)
{
guess[13][3].qizi[junqi]=1000;
tsum=guess[13][3].qizi[qr];
guess[13][3].qizi[qr]=0;
JunFei(qr,tsum);
}
}
else
for(int qr=1;qr<12;qr++)
{
guess[13][1].qizi[junqi]=1000;
tsum=guess[13][1].qizi[qr];
guess[13][1].qizi[qr]=0;
JunFei(qr,tsum);
}
}
}
if((qzwz[dx][dy].qizibiaozhi!=nochess)&&(wchess!=nochess))
{
int bsum;bsum=0;
if((wchess==zhadan)||(wchess==dilei))
{
for(int qt=0;qt<12;qt++)
{
bsum=guess[dx][dy].qizi[qt];
guess[dx][dy].qizi[qt]=0;
JunJian(qt,bsum);
}
guess[wx][wy].z=0;
guess[dx][dy].z=0;
}
else
{
int osum;
if(shengfu==0)
{
if(guess[dx][dy].qizi[zhadan])
{
guess[dx][dy].qizi[zhadan]=0;
CFJunJian(zhadan);
}
if(guess[dx][dy].qizi[dilei])
{
guess[dx][dy].qizi[dilei]=0;
CFJunJian(dilei);
}
CFJunJian(wchess);
for(int qy=0;qy<12;qy++)
{
if((qy!=wchess)&&(qy!=zhadan)&&(qy!=dilei)&&(guess[dx][dy].qizi[qy]))
{
osum=guess[dx][dy].qizi[qy];
guess[dx][dy].qizi[qy]=0;
JunFei(qy,osum);
}
}
guess[dx][dy].z=0;
guess[wx][wy].z=0;
}
if(shengfu==1)//胜
{
if(guess[dx][dy].qizi[zhadan])
{
osum=guess[dx][dy].qizi[zhadan];
guess[dx][dy].qizi[zhadan]=0;
JunFei(zhadan,osum);
}
if(guess[dx][dy].qizi[dilei])
{
osum=guess[dx][dy].qizi[dilei];
guess[dx][dy].qizi[dilei]=0;
JunFei(dilei,osum);
}
for(int qu=3;qu<14;qu++)
{
if(guess[dx][dy].qizi[qu]!=0)
{
if(qu<wchess)
{
osum=guess[dx][dy].qizi[qu];
guess[dx][dy].qizi[qu]=0;
JunJian(qu,osum);
}
else
{
osum=guess[dx][dy].qizi[qu];
guess[dx][dy].qizi[qu]=0;
JunFei(qu,osum);
}
}
}
guess[dx][dy].z=0;
guess[wx][wy].z=0;
}
if(shengfu==-1)
{
int zsum;zsum=0;
if(guess[dx][dy].qizi[zhadan])
{
osum=guess[dx][dy].qizi[zhadan];
guess[dx][dy].qizi[zhadan]=0;
JunFei(zhadan,osum);
}
if(guess[dx][dy].qizi[dilei])
{
osum=guess[dx][dy].qizi[dilei];
guess[dx][dy].qizi[dilei]=0;
JunFei(dilei,osum);
}
for(int qi=3;qi<12;qi++)
{
if(qi>wchess)
{
zsum=guess[dx][dy].qizi[qi];
guess[dx][dy].qizi[qi]=0;
FuJunFei(qi,11-wchess,zsum,dx,dy);
}
else
{
zsum=guess[dx][dy].qizi[qi];
guess[dx][dy].qizi[qi]=0;
JunFei(qi,zsum);
}
}
guess[dx][dy].z=1;
guess[wx][wy].z=0;
}
}
}
}
void CVexillumView::FuJunFei(int chess,int n,int yuanzhi,int dx,int dy)
{
int osum;
if(chess<6)
osum=1000/n*3/2;
else
if(chess<10)
osum=1000/n;
else
osum=1000/n*2/3;
if(osum>yuanzhi)
{
guess[dx][dy].qizi[chess]=osum;
osum=osum-yuanzhi;
JunJian(chess,osum);
}
else
guess[dx][dy].qizi[chess]=yuanzhi;
}
void CVexillumView::CFJunJian(int chess)
{
for(int qe1=0;qe1<14;qe1++)
for(int qee1=0;qee1<5;qee1++)
if(guess[qe1][qee1].z&&guess[qe1][qee1].qizi[chess])
guess[qe1][qee1].qizi[chess]=guess[qe1][qee1].qizi[chess]/2;
}
void CVexillumView::JunFei(int chess,int Zhi)
{
int tsum;tsum=0;
int m,n;
for(int qe=0;qe<14;qe++)
for(int qee=0;qee<5;qee++)
{
if(guess[qe][qee].z&&guess[qe][qee].qizi[chess])
{
m=qe;n=qee;
tsum++;
}
}
for(int qe1=0;qe1<14;qe1++)
for(int qee1=0;qee1<5;qee1++)
{
if(guess[qe1][qee1].z&&guess[qe1][qee1].qizi[chess])
{
if(tsum==0)
;//
else
{
if(tsum==1)
{
for(int yt=0;yt<12;yt++)
{
int i;i=guess[m][n].qizi[yt];
guess[m][n].qizi[yt]=0;
if(yt==chess)
guess[m][n].qizi[yt]=1000;
else
JunFei(yt,i);
}
}
else
{
if(qzwz[qe1][qee1].wzbz!=1)
guess[qe1][qee1].qizi[chess]=guess[qe1][qee1].qizi[chess]+Zhi/(tsum-1);
else
if((guess[13][1].qizi[junqi]>600)||(guess[13][3].qizi[junqi]>600))
guess[qe1][qee1].qizi[chess]=guess[qe1][qee1].qizi[chess]+Zhi/(tsum-1);
else
guess[qe1][qee1].qizi[chess]=guess[qe1][qee1].qizi[chess]+(Zhi/(tsum-1))/2;
}
}
}
}
}
void CVexillumView::ChuanZhi(int fromx,int fromy,int tox,int toy)
{
guess[tox][toy].z=1;
for(int k=0;k<12;k++)
{
guess[tox][toy].qizi[k]=guess[fromx][fromy].qizi[k];
guess[fromx][fromy].qizi[k]=0;
}
guess[fromx][fromy].z=0;
}
void CVexillumView::JunJian(int chess,int Zhi)
{
int tsum;tsum=0;
int m,n;
for(int qe=0;qe<14;qe++)
for(int qee=0;qee<5;qee++)
{
if(guess[qe][qee].z&&guess[qe][qee].qizi[chess])
{
m=qe;n=qee;
tsum++;
}
}
for(int qe1=0;qe1<14;qe1++)
for(int qee1=0;qee1<5;qee1++)
{
if(guess[qe1][qee1].z&&guess[qe1][qee1].qizi[chess])
{
if(tsum==0);//
else
{
if(tsum==1)
{
guess[m][n].qizi[chess]=guess[m][n].qizi[chess]-Zhi;
}
else
{
if(qzwz[qe1][qee1].wzbz!=1)
guess[qe1][qee1].qizi[chess]=guess[qe1][qee1].qizi[chess]-Zhi/(tsum-1);
else
guess[qe1][qee1].qizi[chess]=guess[qe1][qee1].qizi[chess]-((Zhi/(tsum-1))/2);
}
}
}
}
}
void CVexillumView::SouSuo()
{
zhlj.zhi=-1000;
for(int qz=0;qz<14;qz++)
for(int wz=0;wz<5;wz++)
{
if((qzwz[qz][wz].diyou==0)&&(qzwz[qz][wz].qizibiaozhi!=nochess))
guess[qz][wz].z=1;
else
guess[qz][wz].z=0;
if(qzwz[qz][wz].diyou&&(qzwz[qz][wz].qizibiaozhi!=junqi)&&(qzwz[qz][wz].qizibiaozhi!=dilei)&&(qzwz[qz][wz].qizibiaozhi!=nochess))
{
LingHuoXing();
if(qzwz[qz][wz].wzbz==2)
;
else
LingHuo[qzwz[qz][wz].qizibiaozhi]+=ShouWeiXieGaiLv(qzwz[qz][wz].qizibiaozhi,qz,wz);
ChiZiSouSuo(qzwz[qz][wz].qizibiaozhi,qz,wz);
}
}
}
void CVexillumView::ChiZiSouSuo(int chess,int xz,int yz)
{
int az=0;int sz=0;int hz=0;int ex=0;int cz=0;int bz=0;
if(chess==gongbing)
GongBingCorrelation(xz,yz);
else
Correlation(xz,yz);
for(int rts=0;rts<80;rts++)
czzjlj[rts].z=0;
for(int qc=0;qc<8;qc++)
for(int wc=0;wc<30;wc++)
{
if(zjlj[qc][wc].z==1)
{
czzjlj[ex].x=zjlj[qc][wc].x;
czzjlj[ex].y=zjlj[qc][wc].y;
czzjlj[ex].z=1;
ex++;
}
}
for(int rty=0;rty<ex;rty++)
{
if(czzjlj[rty].z==1)
{
az=CZGaiLv(chess,czzjlj[rty].x,czzjlj[rty].y);
if(qzwz[czzjlj[rty].x][czzjlj[rty].y].wzbz==2)
sz=0;
else
sz=ShouWeiXieGaiLv(chess,czzjlj[rty].x,czzjlj[rty].y);
cz=ShouWeiXieGaiLvChi(chess,czzjlj[rty].x,czzjlj[rty].y);
HuoShengGaiLv();
WoFangShouWeiXie();
bz=wofangshou[czzjlj[rty].x][czzjlj[rty].y];
hz=WZZ[czzjlj[rty].x][czzjlj[rty].y].n;
az=az-sz+hz+cz+LingHuo[chess]+bz;
if(zhlj.zhi<az)//待写--------------------------
{
zhlj.fromx=xz;
zhlj.fromy=yz;
zhlj.tox=czzjlj[rty].x;
zhlj.toy=czzjlj[rty].y;
zhlj.zhi=az;
}
}
}
}
int CVexillumView::ShouWeiXieGaiLv(int chess,int xd,int yd)
{
int n=0;int ty=0;
n=qzwz[xd][yd].diyou;
qzwz[xd][yd].diyou=1;
CorrelationWeiXie(xd,yd);
for(int q=0;q<8;q++)
for(int w=0;w<30;w++)
{
if((zjlj[q][w].z)&&(qzwz[zjlj[q][w].x][zjlj[q][w].y].qizibiaozhi!=nochess))
ty=ty+WeiXie(chess,zjlj[q][w].x,zjlj[q][w].y);
}
qzwz[xd][yd].diyou=n;
return ty;
}
void CVexillumView::LingHuoXing()
{
LingHuo[0]=0; LingHuo[1]=0;
LingHuo[2]=20; LingHuo[3]=20;
LingHuo[4]=10; LingHuo[5]=30;
LingHuo[6]=40; LingHuo[7]=50;
LingHuo[8]=60; LingHuo[9]=70;
LingHuo[10]=100;LingHuo[11]=110;
}
int CVexillumView::ShouWeiXieGaiLvChi(int chess,int xd,int yd)
{
int n=0;int ty=0;
n=qzwz[xd][yd].diyou;
qzwz[xd][yd].diyou=1;
Correlation(xd,yd);
for(int q=0;q<8;q++)
for(int w=0;w<30;w++)
{
if((zjlj[q][w].z)&&(qzwz[zjlj[q][w].x][zjlj[q][w].y].qizibiaozhi!=nochess))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -