A game of Connect 4. There are 4 difficulties:
- In easy, the computer plays randomly.
- In medium, the computer recognizes moves that will win or lose immediatly.
- In hard, the computer learns with each match.
- In very hard, the computer starts with a base knowledge acquired by playing against itself and continues to learn during the matches against the human.
This project comes from a online course from KeepCoding (Curso Resolución de Problemas con OOP y TDD - Introducción IA y Machine Learning)
What I did by myself:
- Implemented the possibility of the computer learning prior to starting the game.
- The function get_help. 3.The ability to learn after winning (the computer only learnt when losing before).
- The ability to learn by looking at symmetric moves on the board.
- The class Knowledge (it was an attribute of oracle before).