What I changed
Added 8 cases to check for to see if someone won: three rows, three columns and two diagonals.
Why I changed it
TTTGame.check_winner always reported false, so the game only ended when the board was full even if someone should have won.
Estimate for remaining time to finish assignment: [Like a few hours assuming my students don't rip a door off its hinges in the bathroom again...]