Skip to content

Commit

Permalink
Updated readme
Browse files Browse the repository at this point in the history
  • Loading branch information
Vivek Dagar committed Apr 5, 2024
1 parent f3a04d9 commit c1d9b94
Showing 1 changed file with 127 additions and 2 deletions.
129 changes: 127 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,127 @@
# TicTacAI
A Tic Tac Toe game in Python that allows you to play against an AI that's implemented using minimax algorithm.
<br/>
<p align="center">
<h3 align="center">TicTacAI</h3>

<p align="center">
A simple command-line version of the Tic Tac Toe game that allows users to play against each other or against an AI.
<br/>
<br/>
</p>
</p>

![Issues](https://img.shields.io/github/issues/vivekkdagar/TicTacAI) ![License](https://img.shields.io/github/license/vivekkdagar/TicTacAI)

## Table Of Contents

* [About the Project](#about-the-project)
* [Built With](#built-with)
* [Getting Started](#getting-started)
* [Prerequisites](#prerequisites)
* [Installation](#installation)
* [Usage](#usage)
* [Contributing](#contributing)
* [License](#license)
* [Authors](#authors)
* [Acknowledgements](#acknowledgements)

## About The Project

![Screen Shot](https://github.com/vivekkdagar/TicTacAI/blob/main/assets/screenshot.png)

## Gameplay

- The game is played on a 3x3 grid.
- Option to choose whether the human player or AI starts the game first.
- Players take turns marking a cell with their symbol ('X' or 'O').
- To input their symbol, players use the numpad (1 to 9) corresponding to the grid cells as follows:

```
1 | 2 | 3
---------
4 | 5 | 6
---------
7 | 8 | 9
```

For example, to place their symbol in the top-left cell, a player would input '1', and for the bottom-right cell, they would input '9'.

- The player who succeeds in placing three of their marks in a horizontal, vertical, or diagonal row wins the game.
- If all cells are filled and no player has won, the game ends in a draw.

## Technical Implementation Highlights

- Demonstrates a modular code structure that enhances readability, maintainability, and extensibility of the game.

- Showcases robust error handling mechanisms to gracefully handle invalid inputs and unexpected scenarios, enhancing user experience and software reliability.

- Scalability: Extendable codebase for future feature additions or modifications.


## Getting Started

This is an example of how you may give instructions on setting up your project locally.
To get a local copy up and running follow these simple example steps.

### Prerequisites

There are 2 ways of setting up this project

* npm

```sh
npm install npm@latest -g
```

### Installation

1. Get a free API Key at [https://example.com](https://example.com)

2. Clone the repo

```sh
git clone https://github.com/your_username_/Project-Name.git
```

3. Install NPM packages

```sh
npm install
```

4. Enter your API in `config.js`

```JS
const API_KEY = 'ENTER YOUR API';
```

## Usage

Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.

_For more examples, please refer to the [Documentation](https://example.com)_

## Contributing



### Creating A Pull Request

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

## License

Distributed under the MIT License. See [LICENSE](https://github.com/vivekkdagar/TicTacAI/blob/main/LICENSE.md) for more information.

## Authors

* **Vivek Dagar** - *Comp Sci Student* - [Vivek Dagar](https://github.com/ShaanCoding/) - *Built ReadME Template*

## Acknowledgements

* [README Generator](https://readme.shaankhan.dev/)
* [ImgShields](https://shields.io/)
* []()

0 comments on commit c1d9b94

Please sign in to comment.