예제 #1
0
파일: Rating.cs 프로젝트: sscheele/chess-AI
 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);
 }