public static byte[] calculatePieceTypes(GameState curr){
		byte[] pieceTypes = new byte[curr.piece_bb.length];
		
		for (int i = 0; i < 2; i++){ // calculate for rabbits 
			byte numStronger = FeatureExtractor.countOneBits(curr.stronger_enemy_bb[i]);
			if (numStronger < 5)
				pieceTypes[i] = 7;
			else if (numStronger < 7)
				pieceTypes[i] = 6;
			else
				pieceTypes[i] = 5;
		}
		
		for (int i = 2; i < 12; i++){ // calculate for non-rabbits
			byte numStronger = FeatureExtractor.countOneBits(curr.stronger_enemy_bb[i]);
			switch (numStronger) {
				case 0: pieceTypes[i] = 0; break;
				case 1: pieceTypes[i] = 1; break;
				case 2: pieceTypes[i] = 2; break;
				case 3: case 4: pieceTypes[i] = 3; break;
				default: pieceTypes[i] = 4; break;
			}
		}
		
		return pieceTypes;
	}