I just wanted to write a c++ programme to make the computer play a game of tictactoe against a human opponent. I am very much new to this field and this is the first ai program I am going to write. I plan to have three versions of the program just for learning as much as I can. I need small help here and there in all.
The first version will be just the algorithm part with a very poorly designed interface. I think that using some minimax principles, I can manage to write a code that ensures a win or a draw for the computer. What I am not sure is that should this be called AI? The other option, which feels more like a real AI, is that the computer plays very badly in the beginning, slowly learns from its mistakes and finally becomes an unbeatable opponent. Which one is real AI? If it is the second one, then I have no idea about how even to start the programme.
In the second version, I plan to work on the interface part. I want to have a 3D graphical interface. Although it sounds odd to have a 3D graphical interface for tictactoe, my purpose to do so is just learning. So mostly I will be using OpenGL or DirectX. Just one thing I don't understand about DirectX is that is it not just another c++ library? If it is, then why is it's SDK for?
In the third version, I plan to add a to player mode play-able on the internet. Here, I have no clue how to start. Which library can be used for this purpose?