[Проект] tic-tac-toe

  1. 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.
  2. Не е достатъчно за проект. Това е един метод, който можеш да напишеш за 2-3 часа. Самата тема не е лоша, но ще трябва да я разшириш по някакъв начин. Също така, какво мислиш да правиш? Библиотека? Програма? Модул за TeX? Не става ясно от описанието ти.

  3. Засега е това. Не мога да преценя сложността на проекта. Затова тази задача остава за вас. Стремежът ми е да направя колкото се може повече от изброените разширения на проекта. Ако имате допълнителни изисквания или пък нещо конкретно, на което държите, задайте ги като задължителни критерии за признаване на проекта. Ще се радвам както на препоръки, така и на критики.

  4. Ще приема проекта ти ако отговаря на следните условия:

    • Има чат
    • Поддържа повече от една "сесия" едновременно
    • Отдалечени играча, които да играят един срещу друг
    • Игра срещу AI

Трябва да сте влезли в системата, за да може да отговаряте на теми.