{"id":29554368,"url":"https://github.com/amita-roy/tic-tac-toe_testing","last_synced_at":"2026-05-18T00:09:35.823Z","repository":{"id":124304868,"uuid":"290509783","full_name":"amita-roy/tic-tac-toe_testing","owner":"amita-roy","description":"In this project, we are building a Tic Tac Toe game. The main goal is to put into practice the main concepts of Object Oriented Programming. Particularly, classes, modules and objects and access their attributes. I am using rspec to test my project.","archived":false,"fork":false,"pushed_at":"2020-08-26T17:47:26.000Z","size":3237,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-18T09:14:19.566Z","etag":null,"topics":["classes","modules","oop","rspec","ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/amita-roy.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-08-26T13:51:28.000Z","updated_at":"2020-12-17T14:12:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"22104d41-db1f-4731-99f9-a6fb6d13a78d","html_url":"https://github.com/amita-roy/tic-tac-toe_testing","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/amita-roy/tic-tac-toe_testing","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amita-roy%2Ftic-tac-toe_testing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amita-roy%2Ftic-tac-toe_testing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amita-roy%2Ftic-tac-toe_testing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amita-roy%2Ftic-tac-toe_testing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amita-roy","download_url":"https://codeload.github.com/amita-roy/tic-tac-toe_testing/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amita-roy%2Ftic-tac-toe_testing/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33160170,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-17T22:39:12.733Z","status":"ssl_error","status_checked_at":"2026-05-17T22:39:10.741Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["classes","modules","oop","rspec","ruby"],"created_at":"2025-07-18T07:09:44.500Z","updated_at":"2026-05-18T00:09:35.818Z","avatar_url":"https://github.com/amita-roy.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The Tic-Tac-Toe\n\n\u003e In this project, we are building a Tic Tac Toe game. The main goal is to put into practice the main concepts of Object Oriented Programming. Particularly, classes, modules and objects and access their attributes.\n\n## You can see a short demo of the game in the GIF below.\n\n![image](.github/captured.gif)\n\n## The files structure of the project\n\n![screenshot](.github/folder-structure.png)\n\nFor this project, we wrote a Ruby executable script main.rb that allows the user to play the game of Tic, Tac, Toe in the Terminal.\n\n## How To Play\n\n'Tic, Tac, Toe' is a traditional game for two players played on a board with 9 squares.\n\nEach player is represented by a symbol, either 'X' or 'O'. The players then take turns to place their respective symbols in an empty square on the board, with O's going first - in our version of the game, these squares are represented by the numbers 1 to 9.\n\nThe aim of the game is to have three of your symbols form a line, be it vertically, horizontally or diagonally, as illustrated in the image below.\n\n![A Winning Combination of Tic, Tac, Toe](.github/winning-screenshot.webp)\n\nIn the event that all 9 squares are taken without either player getting three of their symbols in a line, a draw is declared.\n\n### Accessing The Game\n\n- To quickly play the game, follow the link in the [Live Demo section](#live-demo) and hit the Run button in the header. The game will begin in the window on the right.\n\n- To download the contents of this repository and play the game locally, follow the steps in the ['Local Installation' section](#local-installation).\n\n## Built With\n\n- Ruby\n- VSCode\n- Rubocop\n\n## Live Demo\n\nTo quickly see our project in action, visit the [live demo](https://repl.it/@cristianCeamatu/microverse-ruby-tic-tac-toe#bin/main.rb) on repl.it.\n\nThere are no pre-requisites for enjoying the game through this method.\n\n## Local Installation\n\n### Prerequisites\n\nIf you intend to download the project, you will need to have Ruby already installed on your machine. For more information on how to install Ruby, follow [this link](https://www.ruby-lang.org/en/downloads/).\n\n### Installation Instructions\n\nTo get your own copy of our project simply clone the repository to your local machine.\n\n**Step 1**: Using the Command Line, navigate into the location where you would like to have the repository. Then enter the following line of code:\n\n`git clone \u003cgit@github.com:cristianCeamatu/microverse-ruby-tic-tac-toe.git\u003e`\n\n**Step 2**: Once the repo has been cloned, navigate inside it by entering the following command:\n\n`cd microverse-ruby-tic-tac-toe`\n\n**Step 3**: Once in the root directory of the repository, simply enter the following line of code to start a game:\n\n`bin/main.rb`\n\nFrom there, the game will begin, and the user need only follow the subsequent instructions that appear in the Terminal.\n\n## Repository Contents\n\nThe code for the project is divided into two main directories: **./bin** and **./lib**.\n\nThe **./bin** folder contains the executable **main.rb** file. This is the only file that contains the Kernel.puts and Kernel.gets methods, allowing for interaction with the game via the Terminal. _This is the only file that should be run if you want to play the game._\n\nThe **./lib** folder contains subsidiary files that set up all of the classes and methods used in bin/main.rb\n\n- **player.rb**, where the Player class is defined.\n- **game.rb**, where the Game class is defined.\n- **board.rb**, where the Board class is defined.\n- **utils.rb**, where the Utils module is defined.\n\nIn addition to the above, the repo also contains .rubocop.yml for linting.\n\n## To Test\n\n**Step 1**:\n\n_After cloning the repository, open the terminal and Install RSpec on your local system by running:_\n\n`gem install rspec`\n\n**Step 2**:\n\n_Run the tests with the command:_\n\n`rspec`\n\n\u003e Test Coverage Screenshot\n\n![screenshot](.github/coverage.png)\n\n## Test Coverage\n\n**Step 1**:\n\n`gem install simplecov`\n\n**Step 2**:\n\n_Add the below code on the top of the `spec_helper.rb`_\n\n`require 'simplecov'`\n\n`SimpleCov.start do`\n`add_filter '/spec/'`\n`end`\n\n**Step 3**:\n\n_After running the rspec command in the terminal, a coverage directory will be generated_\n_copy the path of index.html and open it in browser to check the test coverage_\n\n## Authors\n\n👤 **Cristian Viorel Ceamatu**\n\n- Github: [@cristianCeamatu](https://github.com/cristianCeamatu)\n- Twitter: [@CeamatuV](https://twitter.com/CeamatuV)\n- Linkedin: [Ceamatu Cristian Viorel](https://www.linkedin.com/in/ceamatu-cristian-viorel-7a5469136/)\n\n👤 **Amita Roy**\n\n- Github: [@Amita-Roy](https://github.com/Amita-Roy)\n- Twitter: [@AmitaRoy14](https://twitter.com/AmitaRoy14)\n- Linkedin: [Amita Roy](https://www.linkedin.com/in/amita-roy-3b823b68/)\n\n## 🤝 Contributing\n\nOur favourite contributions are those that help us improve the project, whether with a contribution, an issue, or a feature request!\n\nFeel free to check the [issues page](https://github.com/cristianCeamatu/microverse-ruby-tic-tac-toe/issues) to either create an issue or help us out by fixing an existing one.\n\n## Show your support\n\nIf you've read this far....give us a ⭐️!\n\n## 📝 License\n\nThis project is licensed by Microverse and the Odin Project\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famita-roy%2Ftic-tac-toe_testing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famita-roy%2Ftic-tac-toe_testing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famita-roy%2Ftic-tac-toe_testing/lists"}