Assignment
Write a tic-tac-toe game that allows a human player to play against the computer. Your program will play many turns against a human opponent, and it will learn. When it is the computer's turn, the computer randomly selects an empty field, except that it won't ever choose a losing combination. For that purpose, your program must keep an array of losing combinations. Whenever the human wins, the immediately preceding combination is stored as losing. For example, suppose that X = computer and O = human. Suppose the current combination is
![1295_tic-tac-toe.jpg](https://secure.tutorsglobe.com/CMSImages/1295_tic-tac-toe.jpg)
Now it is the human's turn, who will of course choose
![2338_tic-tac-toe1.jpg](https://secure.tutorsglobe.com/CMSImages/2338_tic-tac-toe1.jpg)
The computer should then remember the preceding combination
![1608_tic-tac-toe2.jpg](https://secure.tutorsglobe.com/CMSImages/1608_tic-tac-toe2.jpg)
as a losing combination. As a result, the computer will never again choose that combination from
![1514_tic-tac-toe3.jpg](https://secure.tutorsglobe.com/CMSImages/1514_tic-tac-toe3.jpg)
Or
![231_tic-tac-toe4.jpg](https://secure.tutorsglobe.com/CMSImages/231_tic-tac-toe4.jpg)
Discover classes and supply a UML diagram before you begin to program.