https://github.com/sayantand99/system-design-tictactoe
Designing A Tic Tac Toe Game Application
https://github.com/sayantand99/system-design-tictactoe
java lld low-level-design machine-coding system-design tictactoe
Last synced: over 1 year ago
JSON representation
Designing A Tic Tac Toe Game Application
- Host: GitHub
- URL: https://github.com/sayantand99/system-design-tictactoe
- Owner: SayantanD99
- Created: 2024-04-12T15:15:53.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-04-21T18:32:33.000Z (over 2 years ago)
- Last Synced: 2025-02-03T15:54:26.646Z (over 1 year ago)
- Topics: java, lld, low-level-design, machine-coding, system-design, tictactoe
- Language: Java
- Homepage:
- Size: 25.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# System Design of a TicTacToe Application
This repository contains a simple yet fun implementation of the classic game of Tic Tac Toe.
The game is designed to be easy to understand and play, making it a great way to learn about system design and game development.
## Design a Tic Tac Toe Application
### Requirements :
- Size of the grid should be N x N
- No of players per Game -> N - 1
- Players can select their symbol / icon, which has to be unique
- Players can play against players or Bots
- Bots can have Difficulty Levels (Easy / Medium / Hard)
- Choose a random player who gets to start the game.
- Deciding Winner is extensible / flexible.
- There can be several winning strategies like :
- Column Winner
- Row Winner
- Diagonal Winner
- Corner Winner
- Game will draw when no Player can win and has no spaces left.
- Game should continue until one of the Player wins or till the game draws.
- Implement an Undo functionality to revert the last actions
## Class Diagram :
