本文整理汇总了C++中Movement::setFinalPos方法的典型用法代码示例。如果您正苦于以下问题:C++ Movement::setFinalPos方法的具体用法?C++ Movement::setFinalPos怎么用?C++ Movement::setFinalPos使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Movement
的用法示例。
在下文中一共展示了Movement::setFinalPos方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: verify_Checkmate_Stalemate
int verify_Checkmate_Stalemate() {
int i;
int Range=0;
int check;
Movement dummy;
/*If the moving coin is white.*/
if(currentMove.coinId>=16 && currentMove.coinId<32) {
/*Checking range for all black coins.*/
for(i=LBROOK;i<=BPAWN8;i++) {
Range=allCoins[i].getNRange();
/*If range of any of the coin is not 0 , then neither checkmate nor stalemate .*/
if(Range!=0 && allCoins[i].returnMode()!=0) {
return -1;
}
}
dummy.setInitPos(allCoins[BKING].returnCurPos());
dummy.coinId=BKING;
dummy.captureCoinId=BKING;
dummy.setFinalPos(allCoins[BKING].returnCurPos());
/*Verifying whether check or not.*/
check=allCoins[BKING].verifyCheck(dummy);
cout<<"verifyCheck returned :"<<check<<endl;
/*If Checkmate return 1 or return 0 for Stalemate.*/
if(check==0) {
return 1;
} else {
return 0;
}
}
/*If the moving coin is black.*/
if(currentMove.coinId>=0 && currentMove.coinId<=15) {
/*Checking range for all white coins.*/
for(i=WPAWN1;i<=RWROOK;i++) {
Range=allCoins[i].getNRange();
/*If range of any of the coin is not 0 , then neither checkmate nor stalemate .*/
if(Range!=0 && allCoins[i].returnMode()!=0) {
return -1;
}
}
dummy.setInitPos(allCoins[WKING].returnCurPos());
dummy.coinId=WKING;
dummy.captureCoinId=WKING;
dummy.setFinalPos(allCoins[WKING].returnCurPos());
/*Verifying whether check or not.*/
check=allCoins[WKING].verifyCheck(dummy);
cout<<"verifyCheck returned :"<<check<<endl;
/*If Checkmate return 1 or return 0 for Stalemate.*/
if(check==0) {
return 1;
} else {
return 0;
}
}
}