Tic Tac Toe

This repository is the detail of a OOC-II Assignment for SWE 19.

You need to build a Tic Tac Toe game with simple AI.

The detailed requirements are in the issues of the repository.

How to Submit

PLEASE FOLLOW THIS PROPERLY.

  1. Create a branch in this repository with your two-digit Student ID and Nickname.
    1. For example, Moshiur Rahman's branch should be 01-moshiur. Use all lowercase characters.
    2. There is a hyphen in between your ID and name.
    3. If your ID is one digit, use a leading zero.
  2. Create a folder in the solutions folder with the same as your branch name. Write everything in this folder only.
    1. There is a .gitkeep file in the solution folder. Do not do anything with this.
    2. Do not mess up with anything outside your folder.
  3. Only commit and push in your branch.

If you think you have done something wrong, please inform your course teacher immediately.

Performance Criteria

                           Minimum    Average      Good Excellent
Total Commits                    8         16        32        64
Refactoring Commits              0          8        12        24
Tagged Commits                   4          8        16        32
Unit Test Coverage              3%        13%       25%       50%  
Maintaining Constraints        ALL          -         -         -
Feature Completion         As per the milestones in GitHub
Code Quality               This will be evaluated manually
  1. The Minimum criteria must be fulfilled to consider your assignment to be submitted.
  2. Constraints: Documented here: #2.
  3. Tagging Commits: Use this format to tag your commits with an issue: #issue-number. For example #512.
  4. Tagging Refactoring Commits: There is a special issue (#1) for refactoring commits. Make sure you use this tag when refactoring. Otherwise, it will not be considered as refactoring.
  5. Milestones: The tasks are associated with milestones. Find the issues with milestones here:
    1. Minimum
    2. Average
    3. Good
    4. Excellent

How to communicate

  1. If your query is related to an issue, comment below the issue.
  2. If it is a general question, comment below the discussion issue: #3
  3. Please do not discuss any solution approach in the discussion threads. Only ask for clarification. If you think your query will disclose a solution approach, please contact your course teachers privately.
  4. Watch this repository to make sure you are notified about everything. The watch button is at the top-right corner of GitHub page.

Notes

  1. Some parts of the assignment may be changed later. If that happens, you will be notified about it.
  2. This is an OOP assignment. That means code quality is very important. However, implementing functionality comes first.
  3. Implementing functionality that was not asked does NOT give you any extra credit.