public static int rateAttack(bool isWhite, ChessBoard c) { BitboardLayer[] dict = c.getDict(isWhite); BitboardLayer attackedSqs = c.getAllAttackedSq(isWhite); int counter = 0; for (int j = 0; j <= pieceIndex.KING; j++) //don't include king { foreach (int i in dict[j].getTrueIndicies()) { if (attackedSqs.trueAtIndex(i)) { switch (j) { case pieceIndex.PAWN: counter -= 64; break; case pieceIndex.ROOK: counter -= 500; break; case pieceIndex.KNIGHT: counter -= 300; break; case pieceIndex.BISHOP: counter -= 300; break; case pieceIndex.QUEEN: counter -= 900; break; case pieceIndex.KING: counter -= 200; break; } } } } return (int)(counter * .5); }