{"id":13823019,"url":"https://github.com/ultimate-ttt/ultimate-ttt","last_synced_at":"2025-05-16T17:33:00.280Z","repository":{"id":47150799,"uuid":"122641067","full_name":"ultimate-ttt/ultimate-ttt","owner":"ultimate-ttt","description":"Play \"Ultimate Tic-Tac-Toe\" in the browser 🚀","archived":true,"fork":false,"pushed_at":"2021-09-11T09:00:00.000Z","size":12133,"stargazers_count":28,"open_issues_count":4,"forks_count":9,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-11-19T23:37:38.104Z","etag":null,"topics":["css-grid","react","redux","tic-tac-toe","typescript","ultimate-tic-tac-toe","web-game"],"latest_commit_sha":null,"homepage":"https://ultimatettt.netlify.com","language":"TypeScript","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/ultimate-ttt.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":"CODEOWNERS","security":null,"support":null}},"created_at":"2018-02-23T15:51:28.000Z","updated_at":"2024-09-03T05:37:14.000Z","dependencies_parsed_at":"2022-08-20T15:10:45.500Z","dependency_job_id":null,"html_url":"https://github.com/ultimate-ttt/ultimate-ttt","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ultimate-ttt%2Fultimate-ttt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ultimate-ttt%2Fultimate-ttt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ultimate-ttt%2Fultimate-ttt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ultimate-ttt%2Fultimate-ttt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ultimate-ttt","download_url":"https://codeload.github.com/ultimate-ttt/ultimate-ttt/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254576783,"owners_count":22094453,"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":["css-grid","react","redux","tic-tac-toe","typescript","ultimate-tic-tac-toe","web-game"],"created_at":"2024-08-04T08:02:30.337Z","updated_at":"2025-05-16T17:32:59.004Z","avatar_url":"https://github.com/ultimate-ttt.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/maracuja-juice/ultimate-tic-tac-react/blob/main/public/android-chrome-192x192.png\"\nwidth=\"150\" alt=\"tic tac toe logo\" /\u003e\n\u003c/p\u003e\n\u003ch1 align=\"center\"\u003eUltimate Tic-Tac-Toe\u003c/h1\u003e\n\n\n\u003cdiv align=\"center\"\u003e\n\nA browser game implementation of ultimate tic-tac-toe using React, Redux and CSS Grid.\n\n[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/ultimate-ttt/ultimate-ttt/issues)\n[![Build Status](https://github.com/ultimate-ttt/ultimate-ttt/actions/workflows/main.yml/badge.svg?branch=master)](https://github.com/ultimate-ttt/ultimate-ttt/actions/workflows/main.yml)\n\n\u003c/div\u003e\n\n## Demo\n\nBelow you see a quick demo of the game mechanics.\nYou can test it out yourself [here](https://ultimatettt.netlify.com/)\n\n\u003cimg src=\"https://user-images.githubusercontent.com/16801528/38771159-2815f1ec-401e-11e8-8edb-157b58403761.gif\" alt=\"demo of the game\" width=\"500\"\u003e\n\n## Game Rules\n\n\u003e For an interactive explanation you can go to our [how to play page](https://ultimatettt.netlify.com/how-to-play).\n\nUltimate Tic-Tac-Toe is played with 9 small tic-tac-toe boards.\nEach turn a player marks a field. When you get three signs in a row (diagonal, vertical or horizontal) on a small board, you’ve won that board.\nTo win the game, you need to win three small boards in a row.\n\nBut here's the **twist:**\nEach turn the previous move of your opponent dictates in which board you can move next.\n\nFor example the first player makes this move in one of the small boards:\n```\n[ ][X][ ]\n[ ][ ][ ]\n[ ][ ][ ]\n```\nThe second player can in the next turn only play in the tiles that are marked with a `!`. These are tiles from the small board that are equivalent to the position of the last move.\n```\n[ ][ ][ ]   [!][!][!]   [ ][ ][ ]\n[ ][ ][ ]   [!][!][!]   [ ][ ][ ]\n[ ][ ][ ]   [!][!][!]   [ ][ ][ ]\n\n[ ][ ][ ]   [ ][ ][ ]   [ ][ ][ ]\n[ ][ ][ ]   [ ][ ][ ]   [ ][ ][ ]\n[ ][ ][ ]   [ ][ ][ ]   [ ][ ][ ]\n\n[ ][ ][ ]   [ ][ ][ ]   [ ][X][ ]\n[ ][ ][ ]   [ ][ ][ ]   [ ][ ][ ]\n[ ][ ][ ]   [ ][ ][ ]   [ ][ ][ ]\n```\n\nIf your opponent sends you to a board that's already won, you can make your move on **any** of the other boards.\nIf one of the small boards results in a tie, the board counts for neither X nor O.\n\n## Supported browsers\nAll browser versions that support CSS Grid layout are supported. For an exact overview of which browser versions that are [click here](https://caniuse.com/#feat=css-grid). If you detect an issue with a behaviour in a particular browser version: [let us know](https://github.com/ultimate-ttt/ultimate-ttt/issues/new?template=bug_report.md)!\n\n## Run locally\nIt's easy to run a local instance of this game - just clone the repository, run `yarn` ([installation instructions for yarn](https://yarnpkg.com/en/docs/install)) and use:\n\n- `yarn test` for tests in watch mode\n- `yarn test:int` for executing browser tests (currently requires bash)\n- `yarn start` to run\n- `yarn storybook` to test the components with [Storybook](https://github.com/storybooks/storybook)\n- `yarn prettier` to format the code with [Prettier](https://github.com/prettier/prettier)\n\n## Contribute\n\nAny type of feedback, pull request or issue is welcome. Follow the \"Run locally\" section of this documentation to learn how to debug the project.\n\n## License\n[MIT](https://tldrlegal.com/license/mit-license)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fultimate-ttt%2Fultimate-ttt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fultimate-ttt%2Fultimate-ttt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fultimate-ttt%2Fultimate-ttt/lists"}