A collection of classic games implemented in Java using Swing for GUI development. This project features multiple games with interactive UI elements, score tracking, AI opponents, and dynamic puzzle generation. A centralized Game Launcher allows seamless navigation between games.
- Hangman - Guess the word before you run out of attempts.
- Snake - Grow the snake by eating food while avoiding collisions.
- Memory Matching Game - Flip cards and match pairs.
- Sudoku - Solve a randomly generated 9x9 Sudoku puzzle.
- Tic-Tac-Toe - Play against another player or an AI opponent.
- 2048 - Merge tiles to reach the 2048 tile.
- Dynamic UI Updates: Real-time game interactions and feedback.
- Score Tracking: Keeps track of player performance.
- AI Opponents: Play against computer-controlled players in supported games.
- Randomized Puzzles: Sudoku and Hangman provide new challenges every time.
- Centralized Game Launcher: Easily switch between games without restarting the application.
- Ensure you have Java 8 or higher installed.
- Clone the repository:
git clone https://github.com/yourusername/classic-games-library.git
- Navigate to the project directory:
cd classic-games-library
- Compile the project:
javac -d bin src/*.java
- Run the Game Launcher:
java -cp bin GameLauncher
- Launch the Game Launcher.
- Select a game from the menu.
- Enjoy and challenge yourself!
- Snake: Press the Arrow Keys to move the snake around!
- 2048: First use the mouth and touch the game, then use the arrow keys to move the direction desired.
- Hangman: Enter characters or use a hint to solve the word!
- Memory Matching: Select 2 tiles and if they match you found a pair!
- Sudoku: A Classic game of Sudoku, arrange rows and colums in 1-9
- TicTacToe: Select either Single or Multiplayer and get 3 in a row!
Contributions are welcome! If you would like to improve a game or add a new feature:
- Fork the repository.
- Create a new branch (
git checkout -b feature-name
). - Commit your changes (
git commit -m "Description of changes"
). - Push to your branch (
git push origin feature-name
). - Open a pull request.