A command-line implementation of the classic Tic-Tac-Toe game written in Java.
- Two game modes:
- Human vs Human
- Human vs Computer
- Simple command-line interface
- Computer player with strategic moves
- Input validation
- Interactive game board display
- Java 23 or higher
-
Start the game and choose a game mode:
- 1 for Human vs Human
- 2 for Human vs Computer
- 3 to Exit
-
The board is numbered from 1 to 9:
1 | 2 | 3
------------
4 | 5 | 6
------------
7 | 8 | 9
- Players take turns entering a number (1-9) to place their mark (X or O)
- First player to get three in a row (horizontally, vertically, or diagonally) wins!
src
βββ org.example
βββ enums
β βββ Character.java - Enum representing the characters used in the game
βββ logic
β βββ core
β β βββ Game.java - Initializes a new game
β β βββ GameProcessLogicHandler.java - Handles the game loop logic
β β βββ GameSession.java - Starts the game session by setting up players, and starting the game loop.
β βββ gamemode
β β βββ HumanVsComputerMode.java - Implements the Human vs. Computer game mode.
β β βββ HumanVsHumanMode.java - Implements the Human vs. Human game mode
β βββ menu
β βββ GameMenu.java - Manages the main menu and game mode selection
βββ players
β βββ types
β β βββ Player.java - Represents a Human player
β β βββ ComputerPlayer.java - Represents a Computer player
β βββ creator
β βββ PlayerCreator.java - Handles the creation of a Player
βββ Main.java - You know what it is
- Built with Java 23
- Implements basic AI strategy for computer moves
- Object-oriented design with clear separation of concerns