An open API service indexing awesome lists of open source software.

https://github.com/mikyll/go-tic-tac-toe

Simple Tic Tac Toe CLI game with SinglePlayer and MultiPlayer mode, written in Go
https://github.com/mikyll/go-tic-tac-toe

cli game go golang google interactive menu multiplayer tic-tac-toe

Last synced: about 1 year ago
JSON representation

Simple Tic Tac Toe CLI game with SinglePlayer and MultiPlayer mode, written in Go

Awesome Lists containing this project

README

          

[![GPL-3.0 License][license-shield]][license-url]
[![Size][size-shield]][size-url]
[![Issues][issues-shield]][issues-url]
[![Stars][stars-shield]][stars-url]\
[![Go][go-shield]][go-url]
[![VS Code][vs-code-shield]][vs-code-url]

Go Tic-Tac-Toe

Simple **Tic Tac Toe CLI** game, written in Go, with different playing modes:
- singleplayer vs computer (random or AI);
- 2 players local;
- 2 players LAN.

### Demo


Single Player Easy
Multiplayer Local


Single Player: Easy
Multiplayer: Local

### Download
Clone the repo and run with ```go run .```

### Roadmap
- [X] main menu (singleplayer, multiplayer: local, LAN)
- [X] create simple select gameplay, with random opponent choices
- [ ] add AI
- [x] add multiplayer
- [X] local
- [x] LAN

### References
- [promptui repo](https://github.com/manifoldco/promptui)
- [promptui docs](https://pkg.go.dev/github.com/manifoldco/promptui)
- [colors](https://github.com/fatih/color)
- [press any key (read one byte at a time from stdin)](https://stackoverflow.com/a/70627571)
- [client/server tcp example](https://www.linode.com/docs/guides/developing-udp-and-tcp-clients-and-servers-in-go/)
- [how to rewrite multiple lines to the output](https://stackoverflow.com/a/33509850)
- [clear output](https://stackoverflow.com/questions/22891644/how-can-i-clear-the-terminal-screen-in-go)

### About the Project
This project is a meme ✨

[![LinkedIn][linkedin-shield]][linkedin-url]
[![GitHub followers][github-shield]][github-url]

[downloads-shield]: https://img.shields.io/github/downloads/mikyll/go-tic-tac-toe/total
[downloads-url]: https://github.com/mikyll/go-tic-tac-toe/releases/latest
[license-shield]: https://img.shields.io/github/license/mikyll/go-tic-tac-toe
[license-url]: https://github.com/mikyll/go-tic-tac-toe/blob/main/LICENSE
[size-shield]: https://img.shields.io/github/repo-size/mikyll/go-tic-tac-toe
[size-url]: https://github.com/mikyll/go-tic-tac-toe
[issues-shield]: https://img.shields.io/github/issues/mikyll/go-tic-tac-toe
[issues-url]: https://github.com/mikyll/go-tic-tac-toe/issues
[stars-shield]: https://custom-icon-badges.herokuapp.com/github/stars/mikyll/go-tic-tac-toe?logo=star&logoColor=yellow&style=flat
[stars-url]: https://github.com/mikyll/go-tic-tac-toe/stargazers

[go-shield]: https://img.shields.io/badge/Go-%2300ADD8.svg?logo=go&logoColor=white
[go-url]: https://go.dev/
[vs-code-shield]: https://img.shields.io/badge/VS%20Code-0078d7.svg?logo=visual-studio-code&logoColor=white
[vs-code-url]: https://code.visualstudio.com/

[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?logo=linkedin&colorB=0077B5
[linkedin-url]: https://www.linkedin.com/in/michele-righi/?locale=en_US
[github-shield]: https://img.shields.io/github/followers/mikyll.svg?style=social&label=Follow
[github-url]: https://github.com/mikyll