When I tried looking into it, it gave me the error "ILLEGAL: N i2-h4 on turn 3". Random setups make it harder to test and debug code, and I generally do not recommend them. In this case, your log has constant values for coin1 and coin2, but your backup does not. So, you began this game before you started using constants to store your random values. Since the only values for coin1 and coin2 should be 0 or 1, I tried all four combinations. They were initially set to 1 and 1, which gave the error "ILLEGAL: Q e2-h5 on turn 5", but all other combinations gave the error "ILLEGAL: N i2-h4 on turn 3".
Looking at your code, I see you are using "drop any". This introduces an additional random element that is not stored in any constant. So, there are more than just four possible initial positions. If you are going to use "drop any", then what you should store in your constants is the position of the pieces.
When I tried looking into it, it gave me the error "ILLEGAL: N i2-h4 on turn 3". Random setups make it harder to test and debug code, and I generally do not recommend them. In this case, your log has constant values for coin1 and coin2, but your backup does not. So, you began this game before you started using constants to store your random values. Since the only values for coin1 and coin2 should be 0 or 1, I tried all four combinations. They were initially set to 1 and 1, which gave the error "ILLEGAL: Q e2-h5 on turn 5", but all other combinations gave the error "ILLEGAL: N i2-h4 on turn 3".
Looking at your code, I see you are using "drop any". This introduces an additional random element that is not stored in any constant. So, there are more than just four possible initial positions. If you are going to use "drop any", then what you should store in your constants is the position of the pieces.