Yeah the way the ai works is that it “looks ahead” a certain number of moves based on the difficult. So difficulty 1 means it looks only at the end of its turn but difficulty 2 means that it will also look at the player’s potential response. This is based on the Minimax algorithm and directly affects the depth. With a game as complex as chess, the algorithm has a lot to deal with so having a higher (especially max) difficulty might not be good for some computers. Also I apologize that I did not implement en passant, but it wouldn’t make sense because I didn’t implement pawn pushing. I do frankly think giving me 1 for everything just because of that is a bit extreme given that you also said it was great the sentence above 🤷♂️