{"id":20601657,"url":"https://github.com/rolling-scopes-school/tic-tac-toe","last_synced_at":"2025-05-16T08:04:15.924Z","repository":{"id":16676248,"uuid":"80420643","full_name":"rolling-scopes-school/tic-tac-toe","owner":"rolling-scopes-school","description":"Tic Tac Toe game task","archived":false,"fork":false,"pushed_at":"2023-03-03T07:00:20.000Z","size":412,"stargazers_count":70,"open_issues_count":10,"forks_count":1373,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-04-14T15:37:07.388Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rolling-scopes-school.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-01-30T12:44:21.000Z","updated_at":"2024-03-13T05:24:30.000Z","dependencies_parsed_at":"2023-01-11T19:24:46.592Z","dependency_job_id":"3e2299fe-da9e-43ac-b572-bf31cab7765e","html_url":"https://github.com/rolling-scopes-school/tic-tac-toe","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/rolling-scopes-school%2Ftic-tac-toe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rolling-scopes-school%2Ftic-tac-toe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rolling-scopes-school%2Ftic-tac-toe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rolling-scopes-school%2Ftic-tac-toe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rolling-scopes-school","download_url":"https://codeload.github.com/rolling-scopes-school/tic-tac-toe/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254493379,"owners_count":22080126,"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-16T09:11:36.795Z","updated_at":"2025-05-16T08:04:11.165Z","avatar_url":"https://github.com/rolling-scopes-school.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Tic Tac Toe\n\n---\n⚠️ DO NOT SUBMIT PRS WITH SOLUTIONS TO THIS REPO ⚠️\n\n### Description\n\nYour task is to implement `TicTacToe` class\n\n#### Methods:\n\n##### `getCurrentPlayerSymbol()`\nshould return `x` or `o`\n\n##### `nextTurn(row, col)`\nshould properly update class state (change current player, update marks storage etc.)\n\n##### `isFinished()`\nshould return true if game is finished (e.g. there is a winner or it is a draw)\n\n##### `getWinner()`\nshould return winner symbol (`x` or `o`) or null if there is no winner yet\n\n##### `noMoreTurns()`\nshould return true if there is no more fields to place a `x` or `o`\n\n##### `isDraw()`\nshould return true if there is no more turns and no winner\n\n##### `getFieldValue(row, col)`\nshould return `matrix[row][col]` value (if any) or `null`\n\n### Prerequisites\n1. Install [Node.js](https://nodejs.org/en/download/)   \n2. Fork this repository: https://github.com/rolling-scopes-school/tick-tac-toe/\n3. Clone your newly created repo: https://github.com/\u003c%your_github_username%\u003e/tick-tac-toe/  \n4. Go to folder `tick-tac-toe`  \n5. To install all dependencies use [`npm install`](https://docs.npmjs.com/cli/install)  \n6. Run `npm test` in command line or you can run tests in browser with `npm start` and open http://localhost:8080\n7. You will see the number of passing and failing tests. 100% of passing tests is equal to 100p in score  \n\n---\n\n### Submit to [rs app](https://app.rs.school)\n1. Open [rs app](https://app.rs.school) and login\n2. Open `RS APP` and click `Auto Test`\n3. Select your task (tick-tac-toe)\n4. Press the submit button and enjoy\n\n---\n\n### Notes\n1. We recommend you to use nodejs of version 14 or lower. If you using any of features that does not supported by node v10, score won't be submitted.\n2. Please be sure that each of your test in limit of 30sec.\n\n---\n\n© [lesnitsky](https://github.com/lesnitsky)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frolling-scopes-school%2Ftic-tac-toe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frolling-scopes-school%2Ftic-tac-toe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frolling-scopes-school%2Ftic-tac-toe/lists"}