Implementation of Donald E. Knuth and Michael F. Plass' Breaking Paragraphs Into Lines algorithm.
tic-tac-toe
Synopsis
Concurrent tic-tac-toe server.
Objective
Create my own all-round supercalifragilisticexpialidocious project in order to delve into some of the Go programming language strengths. In particular networking and concurrency.
Approach
I will start with a tic-tac-toe game in the terminal. Initially input will be taken in algebraic notation. Then the main focus would be to make it work as a server. Expand and improve from there. I don't have any notable experience in such projects so I guess most of the details will be handled on the fly.
Possible expansions
- Server that works in the browser.
- AI using the minimax algorithm or alternative.
- Add nine men's morris as a second game and create an AI based on the tic-tac-toe one.
- Enable player vs player.
- Add chat.
- Keep statistics e.g. most active hour of the day, players' country, games played in a row, most winning initial move and so on...
Expertise
- Go.
- Networking.
- Concurrency.
- Possibly AI.
- Project management.
Risks
- My lack of the listed expertise above might be a problem.
- Bus factor of one. C'est la vie.
- Misestimation of the time and effort requirements resulting in unfinished and/or not working project.
Results
- Have fun.
- Create my project which I can brag about.
- Gain knowledge in the areas listed in the expertise section.