- get a way to choose promotion (another window or comand line)
- code a Monte Carlo player
- code a reinforcement learning player
- code an Min-Max player ✅
- code a me looking AI
- code en passant ✅
- code draw by repetition
- code board.result = 0 (if not finished), 'w' (if white won), 'b' (if black won), 'd' (if draw) ✅
- Player_Min_Max cannot play with 'w'
- Debbug the Min-Max player as it sacrifices valuable pieces when it shouldn't
- Optimize the Min-Max player (it is way too slow)
- code first move for king and rook and make sure the engine respect the rule ✅
- allow black to promote ✅
- change the way the game is rendered so it don't flicker
- block castling if the intermediary square is in the opposite color vision ✅
- 'not a valid move' on black king check by taking ✅
- allow taking a piece that is checking the opposite king (blocking works) (the engine probably only allow a king move if is_checked) ✅