{"id":26550163,"url":"https://github.com/mikyll/go-tic-tac-toe","last_synced_at":"2025-03-22T07:32:32.066Z","repository":{"id":108931108,"uuid":"442634785","full_name":"mikyll/go-tic-tac-toe","owner":"mikyll","description":"Simple Tic Tac Toe CLI game with SinglePlayer and MultiPlayer mode, written in Go","archived":false,"fork":false,"pushed_at":"2024-02-29T14:34:18.000Z","size":1410,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-02-29T15:46:43.462Z","etag":null,"topics":["cli","game","go","golang","google","interactive","menu","multiplayer","tic-tac-toe"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mikyll.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}},"created_at":"2021-12-29T02:08:57.000Z","updated_at":"2023-03-01T01:56:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"d88e4529-30e5-4bab-a41e-27a3f55f7ee5","html_url":"https://github.com/mikyll/go-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/mikyll%2Fgo-tic-tac-toe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikyll%2Fgo-tic-tac-toe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikyll%2Fgo-tic-tac-toe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikyll%2Fgo-tic-tac-toe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mikyll","download_url":"https://codeload.github.com/mikyll/go-tic-tac-toe/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244924787,"owners_count":20532872,"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":["cli","game","go","golang","google","interactive","menu","multiplayer","tic-tac-toe"],"created_at":"2025-03-22T07:30:38.078Z","updated_at":"2025-03-22T07:32:32.060Z","avatar_url":"https://github.com/mikyll.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n  [![GPL-3.0 License][license-shield]][license-url]\n  [![Size][size-shield]][size-url]\n  [![Issues][issues-shield]][issues-url]\n  [![Stars][stars-shield]][stars-url]\\\n  [![Go][go-shield]][go-url]\n  [![VS Code][vs-code-shield]][vs-code-url]\n\n\u003c/div\u003e\n\n\u003ch1 align=\"center\"\u003eGo Tic-Tac-Toe\u003c/h1\u003e\n\nSimple **Tic Tac Toe CLI** game, written in Go, with different playing modes:\n- singleplayer vs computer (random or AI);\n- 2 players local;\n- 2 players LAN.\n\n### Demo\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd width=\"49.9%\"\u003e\u003cimg src=\"https://github.com/mikyll/go-tic-tac-toe/blob/main/gfx/demo_singleplayer_easy.gif\" alt=\"Single Player Easy\"/\u003e\u003c/td\u003e\n    \u003ctd width=\"49.9%\"\u003e\u003cimg src=\"https://github.com/mikyll/go-tic-tac-toe/blob/main/gfx/demo_multiplayer_local.gif\" alt=\"Multiplayer Local\"/\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003cb\u003eSingle Player: Easy\u003c/b\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003cb\u003eMultiplayer: Local\u003c/b\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n### Download\nClone the repo and run with ```go run .```\n\n### Roadmap\n- [X] main menu (singleplayer, multiplayer: local, LAN)\n- [X] create simple select gameplay, with random opponent choices\n- [ ] add AI\n- [x] add multiplayer\n  - [X] local\n  - [x] LAN\n\n### References\n- [promptui repo](https://github.com/manifoldco/promptui)\n- [promptui docs](https://pkg.go.dev/github.com/manifoldco/promptui)\n- [colors](https://github.com/fatih/color)\n- [press any key (read one byte at a time from stdin)](https://stackoverflow.com/a/70627571)\n- [client/server tcp example](https://www.linode.com/docs/guides/developing-udp-and-tcp-clients-and-servers-in-go/)\n- [how to rewrite multiple lines to the output](https://stackoverflow.com/a/33509850)\n- [clear output](https://stackoverflow.com/questions/22891644/how-can-i-clear-the-terminal-screen-in-go)\n\n### About the Project\nThis project is a meme ✨\n\n\u003cdiv align=\"center\"\u003e\n\n[![LinkedIn][linkedin-shield]][linkedin-url]\n[![GitHub followers][github-shield]][github-url]\n  \n\u003c/div\u003e\n\n[downloads-shield]: https://img.shields.io/github/downloads/mikyll/go-tic-tac-toe/total\n[downloads-url]: https://github.com/mikyll/go-tic-tac-toe/releases/latest\n[license-shield]: https://img.shields.io/github/license/mikyll/go-tic-tac-toe\n[license-url]: https://github.com/mikyll/go-tic-tac-toe/blob/main/LICENSE\n[size-shield]: \thttps://img.shields.io/github/repo-size/mikyll/go-tic-tac-toe\n[size-url]: https://github.com/mikyll/go-tic-tac-toe\n[issues-shield]: https://img.shields.io/github/issues/mikyll/go-tic-tac-toe\n[issues-url]: https://github.com/mikyll/go-tic-tac-toe/issues\n[stars-shield]: https://custom-icon-badges.herokuapp.com/github/stars/mikyll/go-tic-tac-toe?logo=star\u0026logoColor=yellow\u0026style=flat\n[stars-url]: https://github.com/mikyll/go-tic-tac-toe/stargazers\n\n[go-shield]: https://img.shields.io/badge/Go-%2300ADD8.svg?logo=go\u0026logoColor=white\n[go-url]: https://go.dev/\n[vs-code-shield]:  https://img.shields.io/badge/VS%20Code-0078d7.svg?logo=visual-studio-code\u0026logoColor=white\n[vs-code-url]: https://code.visualstudio.com/\n\n[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?logo=linkedin\u0026colorB=0077B5\n[linkedin-url]: https://www.linkedin.com/in/michele-righi/?locale=en_US\n[github-shield]: https://img.shields.io/github/followers/mikyll.svg?style=social\u0026label=Follow\n[github-url]: https://github.com/mikyll\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikyll%2Fgo-tic-tac-toe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmikyll%2Fgo-tic-tac-toe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikyll%2Fgo-tic-tac-toe/lists"}