I just played a 3 check game. I was playing as black. I made a lot of blunders, but I didn't understand the computer's recommendation. The analysis says I should have played 18. Rc7. Doesn't that give away a check with no compensation? Also, why was 21. Bxg2+ a blunder if I got a free check? Of course, I know that stockfish is right, but I don't understand why. I would really appreciate it if someone could shed some light on these recommendations.
Here is the game:
Here is the game: