Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/georgiosioannoucoder/tic-tac-toe

Android implementation of Tic Tac Toe using Java 8. ❌⭕
https://github.com/georgiosioannoucoder/tic-tac-toe

android android-studio java-8 java8 tic-tac-toe

Last synced: 4 days ago
JSON representation

Android implementation of Tic Tac Toe using Java 8. ❌⭕

Awesome Lists containing this project

README

        

# Tic Tac Toe | Android Application

[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![MIT License][license-shield]][license-url]
[![LinkedIn][linkedin-shield]][linkedin-url]
[![GitHub][github-shield]][github-url]




Logo

Tic Tac Toe


Tic Tac Toe, also known as Noughts and Crosses, is a paper-and-pencil game for two players who take turns marking spaces in a three-by-three grid with X or O. The player who succeeds in placing three of their marks in a horizontal, vertical, or diagonal row is the winner.


Explore the docs »




Report Bug
·
Request Feature


Table of Contents



  1. About The Project



  2. Getting Started


  3. Code

  4. Demo

  5. Slides

  6. Contributing

  7. License

  8. Contact

## About The Project

Logo

### Key Features

1. **Being able to play the game successfully without any errors. Consider all possible combinations that exist in winning a “Tic Tac Toe” game. There are a total of eight combinations to win a “Tic Tac Toe” game. Moreover, there are 255,168 unique ways of playing the “Tic Tac Toe” game.**
2. **Keeping score of the game. Distinguish if player 1 wins, or player 2 wins, or it is a draw. When a player wins, then the score increases for that player. When it is a draw, the score of both players stays the same.**
3. **When a player wins, display a toast message displaying the name of the player who won.**
4. **Reset button that resets the game and the score.**
5. **One-player mode and two-player mode. In one-player mode, a random number generator is used to simulate the second player. A reinforcement learning model can be used in the future to imitate the second player.**
6. **User-frienly registration form with regex checking.**
7. **Play a sound when each player taps on the screen and when the game ends.**
8. **This Android application will be developed and based on the minimum SDK of API 16: Android 4.1 (Jelly Bean). This API was chosen for the following reason. According to the official webpage of Android, using this API my application will run on approximately 99.8% of devices.**

Back to top

### Built With

[![Figma][Figma]][Figma-url]
[![Java][Java]][Java-url]
[![AndroidStudio][AndroidStudio]][AndroidStudio-url]
[![Git][Git]][Git-url]

Back to top

## Getting Started

**To get a local copy of Tic Tac Toe up and running locally follow these simple example steps:**

### Prerequisites

**NOTE:** How to check if Git is installed and what is its version

```sh
git -v
```

1. Please make sure you have git installed

- Windows: [https://git-scm.com/download/win](https://git-scm.com/download/win)
- Mac: [https://git-scm.com/download/mac](https://git-scm.com/download/mac)
- Linux: [https://git-scm.com/download/linux](https://git-scm.com/download/linux)

2. Please make sure you have Android Studio installed. You can download it [here](https://developer.android.com/studio).

### Installation

#### SetUp

1. Navigate to the directory where you want to clone/run/save the application

```sh
cd your_selected_directory
```

2. Clone this repository

```sh
git clone https://github.com/GeorgiosIoannouCoder/tic-tac-toe.git
```

3. Navigate to the tic-tac-toe git repository

```sh
cd tic-tac-toe
```

4. Open your file explorer

```sh
start .
```

5. Open Android Studio

6. Click on open/import an existing in Android Studio

7. Open the tic-tac-toe folder from steps 3 and 4 inside Android Studio.

8. Run the application inside Android Studio.

Back to top

## Code

The main code files can be found [here](https://github.com/GeorgiosIoannouCoder/tic-tac-toe/tree/main/app/src/main/java/edu/cuny/ccny/finalprogrammingproject).

Back to top

## Demo

Project demo and features are [here](https://github.com/GeorgiosIoannouCoder/tic-tac-toe/blob/main/FinalProgrammingProjectVideoSubtitles.mp4).

https://github.com/GeorgiosIoannouCoder/tic-tac-toe/assets/110848236/bb084339-e831-433f-9d96-2e03fd07f97a

Back to top

## Slides

Project Final Slides are located [here](https://github.com/GeorgiosIoannouCoder/tic-tac-toe/blob/main/Ioannou_FinalProjectPresentationSlides.pdf).

Back to top

## Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
Don't forget to give the project a star! Thanks again!

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

Back to top

## License

Distributed under the MIT License. See [LICENSE](https://github.com/GeorgiosIoannouCoder/tic-tac-toe/blob/master/LICENSE) for more information.

MIT License

Copyright (c) 2021 Georgios Ioannou

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Back to top

## Contact

Georgios Ioannou - [@LinkedIn](https://linkedin.com/in/georgiosioannoucoder)

Georgios Ioannou - [@georgiosioannoucoder](https://georgiosioannoucoder.github.io/) - Please contact me via the form in my portfolio.

Project Link: [https://github.com/GeorgiosIoannouCoder/tic-tac-toe](https://github.com/GeorgiosIoannouCoder/tic-tac-toe)

Back to top

[contributors-shield]: https://img.shields.io/github/contributors/GeorgiosIoannouCoder/tic-tac-toe.svg?style=for-the-badge
[contributors-url]: https://github.com/GeorgiosIoannouCoder/tic-tac-toe/graphs/contributors

[forks-shield]: https://img.shields.io/github/forks/GeorgiosIoannouCoder/tic-tac-toe.svg?style=for-the-badge
[forks-url]: https://github.com/GeorgiosIoannouCoder/tic-tac-toe/network/members

[stars-shield]: https://img.shields.io/github/stars/GeorgiosIoannouCoder/tic-tac-toe.svg?style=for-the-badge
[stars-url]: https://github.com/GeorgiosIoannouCoder/tic-tac-toe/stargazers

[issues-shield]: https://img.shields.io/github/issues/GeorgiosIoannouCoder/tic-tac-toe.svg?style=for-the-badge
[issues-url]: https://github.com/GeorgiosIoannouCoder/tic-tac-toe/issues

[license-shield]: https://img.shields.io/github/license/GeorgiosIoannouCoder/tic-tac-toe.svg?style=for-the-badge
[license-url]: https://github.com/GeorgiosIoannouCoder/tic-tac-toe/blob/master/LICENSE

[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=0077B5
[linkedin-url]: https://linkedin.com/in/georgiosioannoucoder

[github-shield]: https://img.shields.io/badge/-GitHub-black.svg?style=for-the-badge&logo=github&colorB=000
[github-url]: https://github.com/GeorgiosIoannouCoder/

[Figma]: https://img.shields.io/badge/figma-a259ff?style=for-the-badge&logo=figma&logoColor=1abcfe
[Figma-url]: https://www.figma.com/

[Java]: https://img.shields.io/badge/java-5382a1?style=for-the-badge&logo=openjdk&logoColor=f89820
[Java-url]: https://www.java.com/

[AndroidStudio]: https://img.shields.io/badge/android%20studio-001e2b?style=for-the-badge&logo=androidstudio&logoColor=00ed64
[AndroidStudio-url]: https://developer.android.com/studio

[Git]: https://img.shields.io/badge/git-000000?style=for-the-badge&logo=git&logoColor=orange
[Git-url]: https://git-scm.com/