{"id":19199643,"url":"https://github.com/aaroncoplan/tic-tac-toe-bot","last_synced_at":"2026-06-23T22:30:19.911Z","repository":{"id":67336532,"uuid":"81590085","full_name":"AaronCoplan/tic-tac-toe-bot","owner":"AaronCoplan","description":"Bot for tic tac toe that learns from past games to become unbeatable.","archived":false,"fork":false,"pushed_at":"2017-06-21T20:04:41.000Z","size":224,"stargazers_count":0,"open_issues_count":5,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-04T12:15:17.670Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AaronCoplan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-10T17:40:18.000Z","updated_at":"2017-02-16T14:07:41.000Z","dependencies_parsed_at":"2023-06-01T09:45:56.437Z","dependency_job_id":null,"html_url":"https://github.com/AaronCoplan/tic-tac-toe-bot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AaronCoplan%2Ftic-tac-toe-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AaronCoplan%2Ftic-tac-toe-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AaronCoplan%2Ftic-tac-toe-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AaronCoplan%2Ftic-tac-toe-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AaronCoplan","download_url":"https://codeload.github.com/AaronCoplan/tic-tac-toe-bot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240272444,"owners_count":19775032,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T12:28:15.006Z","updated_at":"2026-06-23T22:30:19.819Z","avatar_url":"https://github.com/AaronCoplan.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tic Tac Toe Bot\n\nProject to create a **Tic Tac Toe Bot** which learns from past games and becomes unbeatable at Tic Tac Toe.  \n\nContributors: [@AaronCoplan](https://github.com/AaronCoplan), [@Arkidillo](https://github.com/Arkidillo), [@apadalian](https://github.com/apadalian)\n\nThis project is licensed under the MIT License.\n\n## Installing and Running\n\n**Dependencies:** \n\nTo install and run, it is a requirement that the following dependencies are met:\n  * Java 8 is installed\n\nThere are no other requirements at this time.\n\n**Installation:** \n\nOnce the dependencies are met, simply clone this repository.\n\n**Building and Running:**\n\nThis project is built using **Gradle**.  To build and run, follow these instructions:\n\n1. Ensure you are in the root directory of the project (the directory containing the **build.gradle** file and this **README** file)\n2. Build the software into a runnable jar file:\n  * On **Mac** or **Linux**, run the following command: `./gradlew clean build`\n  * On **Windows**, run the following command: `gradlew.bat clean build`\n3. Run the jar file we've just created: \n  * To play against the computer with a GUI: `java -jar build/libs/tictactoebot-v0.0.1.jar`\n  * To train the bot with N games: `java -jar build/libs/tictactoebot-v0.0.1.jar train \u003cnum games\u003e`\n  * To use host a BotVsBot match: `java -jar build/libs/tictactoebot-v0.0.1.jar host \u003cport\u003e`\n     * NOTE: To exit from host, type `exit` in console then press enter, or type `ctrl-c`\n  * To be a client in a BotVsBot match: `java -jar build/libs/tictactoebot-v0.0.1.jar client \u003cip\u003e \u003cport\u003e \u003cnum games\u003e`\n\n## Major Components\n\n* Random Trainer Bot (to rapidly train the bot with N randomized games)\n* Ability for the bot to train against itself\n* Data Handler (representing moves, storing them, and fetching and filtering them efficiently)\n* UI (for a human to play the bot)\n* Move Selection Engine (the bot itself)\n* Prediction Engine (predicting the game)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaroncoplan%2Ftic-tac-toe-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faaroncoplan%2Ftic-tac-toe-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaroncoplan%2Ftic-tac-toe-bot/lists"}