Final Answer:
To create an Omok application in Java that meets the specified requirements, you can follow the object-oriented programming principles by separating the user interface (UI) code from the model code. Create a main class named `Main` to serve as the entry point. Implement two game modes: human vs. human and human vs. computer with a reasonable computer strategy. Ensure the game board is at least 15x15, and allow users to input their moves via standard input. Display the board's progress and game outcome in the standard output. Lastly, implement a cheat mode for users to enable/disable, suggesting next moves based on potential winning or losing sequences.
Step-by-step explanation:
The design follows a modular structure, with a `Main` class as the entry point. This adheres to the separation of concerns, where the UI and game logic are distinct, promoting code reusability. The two game modes offer variety for users, and the computer strategy in the second mode enhances the application's challenge. The game board's minimum size of 15x15 ensures a standard Omok experience.
User interactions occur through standard input and output, providing a streamlined experience. The display of the board's progress with ASCII art facilitates easy understanding of the game state. The application checks for a winning or draw outcome, highlighting the winning row when applicable.
The bonus "cheat" mode enhances user engagement. Enabling users to receive hints based on potential winning or losing sequences adds an extra layer of strategy. This feature provides users with an opportunity to learn and improve their gameplay, making the application more interactive and enjoyable.