//-------------------------------------------------------------- void testApp::setup() { /// test { size_t a; } /// original data vector< unsigned char > src; for ( int i=0; i<10000; ++i ) { src.push_back( i%256 ); } /// compress test { /// compress vector< unsigned char > result = ofxZip::compress( src ); /// uncompress vector< unsigned char > uncompressed = ofxZip::uncompress( result ); bool verified = verifyCheck( src, uncompressed ); cout << "src.size(): " << src.size() << endl; cout << "result.size(): " << result.size() << endl; cout << "uncompressed.size(): " << uncompressed.size() << endl; if ( verified ) cout << "** verified! **" << endl; cout << endl; } /// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ /// compress test with level for ( int level=1; level<=9; ++level ) { /// compress vector< unsigned char > result = ofxZip::compress( src, level ); /// uncompress vector< unsigned char > uncompressed = ofxZip::uncompress( result ); bool verified = verifyCheck( src, uncompressed ); cout << "level: " << level << endl; cout << "src.size(): " << src.size() << endl; cout << "result.size(): " << result.size() << endl; cout << "uncompressed.size(): " << uncompressed.size() << endl; if ( verified ) cout << "** verified! **" << endl; cout << endl; } }
int Coin::updateKnight() { int nrange = 0; int tempCoinId; int curKnightX; int curKnightY; //Stores current position of Knight. int colorKnight; //Identifies whether Knight is black or white. int coinIdKnight; Movement tempMove; /*Get the color of Knight.*/ colorKnight = getColour(); /*Get the position of Knight.*/ curPos.getXY(curKnightX,curKnightY); tempMove.coinId=coinId; tempMove.initPos=curPos; if(colorKnight==1) { /*White Knight*/ for(int i=-1;i<=1;i=i+2) { for(int j=1;j<=2;j++) { if((curKnightY + i*j)<8 && (curKnightY +i*j)>=0 && (curKnightX + i*(3-j))>=0 && (curKnightX + i*(3-j))<8) { tempCoinId = board[curKnightY + i*j][curKnightX + i*(3-j)].getCoinId(); tempMove.captureCoinId=tempCoinId; finalPos.setXY(curKnightX+i*(3-j),curKnightY+i*j); tempMove.finalPos=finalPos; /*Square contains either a black coin or it is empty.*/ if(tempCoinId >=EMPTY && tempCoinId <=BPAWN8 && verifyCheck(tempMove)==1) { /*Then store it as a valid range.*/ coinRange[nrange].copyObject(board[curKnightY + i*j][curKnightX + i*(3-j)]); nrange++; } } if((curKnightY +i*j)<8 && (curKnightY +i*j)>=0 && (curKnightX + -i*(3-j))>=0 && (curKnightX + -i*(3-j))<8) { tempCoinId = board[curKnightY + i*j][curKnightX + -i*(3-j)].getCoinId(); tempMove.captureCoinId=tempCoinId; finalPos.setXY(curKnightX-i*(3-j),curKnightY+i*j); tempMove.finalPos=finalPos; /*Square contains either a black coin or it is empty.*/ if(tempCoinId >=EMPTY && tempCoinId <=BPAWN8 && verifyCheck(tempMove)==1) { /*Then store it as a valid range.*/ coinRange[nrange].copyObject(board[curKnightY + i*j][curKnightX + -i*(3-j)]); nrange++; } } } } } else { //Black Knight for(int i=-1;i<=1;i=i+2) { for(int j=1;j<=2;j++) { if((curKnightY +i*j)<8 && (curKnightY +i*j)>=0 && (curKnightX + i*(3-j))>=0 && (curKnightX + i*(3-j))<8) { tempCoinId = board[curKnightY + i*j][curKnightX + i*(3-j)].getCoinId(); tempMove.captureCoinId=tempCoinId; finalPos.setXY(curKnightX+i*(3-j),curKnightY+i*j); tempMove.finalPos=finalPos; /*Square contains either a black coin or it is empty.*/ if(((tempCoinId >=WPAWN1 && tempCoinId <=RWROOK)||tempCoinId == EMPTY) && verifyCheck(tempMove)==1) { /*Then store it as a valid range.*/ coinRange[nrange].copyObject(board[curKnightY + i*j][curKnightX + i*(3-j)]); nrange++; } } if((curKnightY +i*j)<8 && (curKnightY +i*j)>=0 && (curKnightX + -i*(3-j))>=0 && (curKnightX + -i*(3-j))<8) { tempCoinId = board[curKnightY + i*j][curKnightX + -i*(3-j)].getCoinId(); tempMove.captureCoinId=tempCoinId; finalPos.setXY(curKnightX+i*(3-j),curKnightY+-i*j); tempMove.finalPos=finalPos; /*Square contains either a black coin or it is empty.*/ if(((tempCoinId >=WPAWN1 && tempCoinId <=RWROOK)||tempCoinId == EMPTY) && verifyCheck(tempMove)==1) { /*Then store it as a valid range.*/ coinRange[nrange].copyObject(board[curKnightY + i*j][curKnightX + -i*(3-j)]); nrange++; } } } } } }
int Coin::updateRook () { Movement tempMove; nRange = 0; int i=1; int tempCoinId; int curRookX; int curRookY; //Stores current position of Rook. int colorRook; //Identifies whether Rook is black or white. int coinIdRook; /*Get the color of Rook.*/ /*Get the position of Rook.*/ curPos.getXY(curRookX,curRookY); tempMove.coinId=coinId; tempMove.initPos=curPos; /*Working on the white Rook*/ if(coinId==LWROOK || coinId == RWROOK) { i=1; while((curRookY + i)<8) { tempCoinId=board[curRookY + i][curRookX].getCoinId(); tempMove.captureCoinId=tempCoinId; finalPos.setXY(curRookX,curRookY+i); tempMove.finalPos=finalPos; if(tempCoinId >=EMPTY && tempCoinId <= BPAWN8) { if(verifyCheck(tempMove)==1) { coinRange[nRange].copyObject(board[curRookY + i][curRookX]); nRange++; } if(tempCoinId!=EMPTY) { break; } } else { break; } i++; } i=1; while((curRookY - i)>=0) { tempCoinId=board[curRookY - i][curRookX].getCoinId(); tempMove.captureCoinId=tempCoinId; finalPos.setXY(curRookX,curRookY-i); tempMove.finalPos=finalPos; if(tempCoinId >=EMPTY && tempCoinId <=BPAWN8) { if(verifyCheck(tempMove)==1) { coinRange[nRange].copyObject(board[curRookY - i][curRookX]); nRange++; } if(tempCoinId!=EMPTY) { break; } } else { break; } i++; } i=1; while((curRookX + i)<8) { tempCoinId=board[curRookY][curRookX + i].getCoinId(); tempMove.captureCoinId=tempCoinId; finalPos.setXY(curRookX+i,curRookY); tempMove.finalPos=finalPos; if(tempCoinId >=EMPTY && tempCoinId <=BPAWN8) { if(verifyCheck(tempMove)==1) { coinRange[nRange].copyObject(board[curRookY][curRookX + i]); nRange++; } if(tempCoinId!=EMPTY) { break; } } else { break; } i++; } i=1; while((curRookX - i)>=0) { tempCoinId=board[curRookY][curRookX - i].getCoinId(); tempMove.captureCoinId=tempCoinId; finalPos.setXY(curRookX-i,curRookY); tempMove.finalPos=finalPos; if(tempCoinId >=EMPTY && tempCoinId <=BPAWN8) { if(verifyCheck(tempMove)==1) { coinRange[nRange].copyObject(board[curRookY][curRookX - i]); nRange++; } if(tempCoinId!=EMPTY) { break; } } else { break; } i++; } } else { i=1; while((curRookY + i)<8) { tempCoinId=board[curRookY + i][curRookX].getCoinId(); tempMove.captureCoinId=tempCoinId; finalPos.setXY(curRookX,curRookY+i); tempMove.finalPos=finalPos; if(tempCoinId >=WPAWN1 && tempCoinId <=RWROOK || tempCoinId== EMPTY) { if(verifyCheck(tempMove)==1) { coinRange[nRange].copyObject(board[curRookY + i][curRookX]); nRange++; } if(tempCoinId!=EMPTY) { break; } } else { break; } i++; } i=1; while((curRookY - i)>=0) { tempCoinId=board[curRookY - i][curRookX].getCoinId(); tempMove.captureCoinId=tempCoinId; finalPos.setXY(curRookX,curRookY-i); tempMove.finalPos=finalPos; if(tempCoinId >=WPAWN1 && tempCoinId <=RWROOK || tempCoinId == EMPTY) { if(verifyCheck(tempMove)==1) { coinRange[nRange].copyObject(board[curRookY - i][curRookX]); nRange++; } if(tempCoinId!=EMPTY) { break; } } else { break; } i++; } i=1; while((curRookX + i)<8) { tempCoinId=board[curRookY][curRookX + i].getCoinId(); tempMove.captureCoinId=tempCoinId; finalPos.setXY(curRookX+i,curRookY); tempMove.finalPos=finalPos; if(tempCoinId >=WPAWN1 && tempCoinId <=RWROOK || tempCoinId==EMPTY) { if(verifyCheck(tempMove)==1) { coinRange[nRange].copyObject(board[curRookY][curRookX + i]); nRange++; } if(tempCoinId!=EMPTY) { break; } } else { break; } i++; } i=1; while((curRookX - i)>=0) { tempCoinId=board[curRookY][curRookX - i].getCoinId(); tempMove.captureCoinId=tempCoinId; finalPos.setXY(curRookX-i,curRookY); tempMove.finalPos=finalPos; if(tempCoinId >=WPAWN1 && tempCoinId <=RWROOK || tempCoinId == EMPTY) { if(verifyCheck(tempMove)==1) { coinRange[nRange].copyObject(board[curRookY][curRookX - i]); nRange++; } if(tempCoinId!=EMPTY) { break; } } else { break; } i++; } } return 1; }