This one uses a robust AI (Artificial Intelligence) engine with a mathematically designed algorithm** that ensures that it WILL NEVER lose!!
Your objective in this single-player contest of "The Human against The Machine" is to score as close as possible to the machine in a series of games. - A win earns 2 points and a draw earns 1 point; - At each game you can choose either to play as 'X' (thus making the first move) or as '0' (the machine makes the first move as 'X' then).
**The algorithm is an original adaptation and implementation for JAVA of the idea explained in a classic Computer Science book: Linger, R.C., H.D. Mills, and B.I. Witt, Structured Programming: Theory and Practice, Reading, MA: Addison-Wesley, 1979
Because the key idea is to demonstrate in action the power of a "pure" and deep recursive AI algorithm, this app does NOT contain any "hard-wired" knowledge database or "heuristics" regarding what move would be commonly known as a good move to make at start (or at any stage whatsoever).
Therefore, it does take a substantial amount of processing cycles for the Machine to "think" in order to make the very FIRST move when it is the one to go first (i.e. when you play as 'O', and the machine as 'X').
The exact time it will take greatly depends on the "raw power" (speed) of the CPU found in your particular device model.
From observations, it may take up to about 25-30 seconds on slower devices.