大家好,我是@黑客小羊,今天给大家几个游戏代码
1.象棋
int a[114][514],b,c,d,g;
int cc=0;
int check(){
p.moveTo(-420,-280);
string ob;
int num;
cin>>ob>>num;
if(ob=="cg")cc=num;
}
int abs(int v){
if(v<0)v=v-v-v;
return v;
}
int f(int v){
return 0+(v>=8&&v<=14)*1;
}
string st(int k){
if(k==1 )return "将";
if(k==2 )return "仕";
if(k==3 )return "象";
if(k==4 )return "馬";
if(k==5 )return "車";
if(k==6 )return "砲";
if(k==7 )return "卒";
if(k==8 )return "帅";
if(k==9 )return "士";
if(k==10)return "相";
if(k==11)return "马";
if(k==12)return "车";
if(k==13)return "炮";
if(k==14)return "兵";
}
int can(int q,int w,int e,int r){
if(cc==1)return 1;
int k=a[q][w];string tr=st(a[q][w]);
if(f(k)!=g)return 0;
if((f(a[q][w])==f(a[e][r]))&&(a[e][r]!=0))return 0;
if(tr=="車"||tr=="车"){
if(q==e){
if(w>r)
for(int i=w-1;i>r;i--)if(a[q][i]!=0)return 0;
if(w<r)
for(int i=w+1;i<r;i++)if(a[q][i]!=0)return 0;
}
else if(w==r){
if(q>e)
for(int i=q-1;i>e;i--)if(a[i][w]!=0)return 0;
if(q<e)
for(int i=q+1;i<e;i++)if(a[i][w]!=0)return 0;
}
else if(q!=e&&w!=r)return 0;
}
if(tr=="馬"||tr=="马"){
if(a[q-1][w]==0){
if(q-2==e&&w+1==r)return 1;
if(q-2==e&&w-1==r)return 1;
}
if(a[q+1][w]==0){
if(q+2==e&&w+1==r)return 1;
if(q+2==e&&w-1==r)return 1;
}
if(a[q][w-1]==0){
if(q+1==e&&w-2==r)return 1;
if(q-1==e&&w-2==r)return 1;
}
if(a[q][w+1]==0){
if(q-1==e&&w+2==r)return 1;
if(q+1==e&&w+2==r)return 1;
}
return 0;
}
if(tr=="象"||tr=="相"){
if(f(k)==0){
if(q+2==e&&w+2==r&&a[q+1][w+1]==0)return 0+(r<=5);
if(q+2==e&&w-2==r&&a[q+1][w-1]==0)return 0+(r<=5);
if(q-2==e&&w+2==r&&a[q-1][w+1]==0)return 0+(r<=5);
if(q-2==