The game is very simple and easy to play, it's a multiplayer game where each player gets one chance to play alternatively. The goal is to maximize the number of boxes owned. The game continues until no box is left unoccupied.
-
Setup: At the start of the game, choose the number of squares you want to have by specifying the number of rows and columns. The range is from 5 to 30 for both rows and columns. Also, specify the number of players, which can be from 2 to 6.
-
Gameplay:
- Players take turns marking one side of a square on the board.
- If a side completes a square along with previous marks, the player gets the box and an extra chance to play.
- The game requires strategic thinking to maximize the number of boxes owned.
-
Winning: The player with the most boxes owned at the end of the game wins.
- Early Game: Focus on securing territory to build a strong foundation.
- Mid to Late Game: Prioritize closing boxes to prevent opponents from claiming territory.
- Immediate Closure: Always close a box if possible, unless it would immediately grant your opponent an advantage.
- Forcing Closure: Try to force your opponent into closing a box that would benefit you more than them.
- Blocking Moves: Use blocking moves to prevent your opponent from closing boxes or claiming territory.
- Strategic Sacrifice: Sacrifice a box to prevent your opponent from getting a bigger advantage.
- Box Stealing: Aim to steal boxes from your opponent by closing boxes that they are about to complete.
- Forcing Mistakes: Force your opponent into making mistakes by creating complex board states.
- Strategic Importance: The center of the board is crucial for controlling the game. Try to maintain a strong presence there.
- Access Points: Keep control of the access points to the center to limit your opponent's options.
- Anticipating Moves: Try to anticipate your opponent's moves and plan your strategy accordingly.
- Stay Flexible: Be prepared to adapt your strategy based on your opponent's actions.
- Counting Boxes: Keep track of the number of boxes each player has closed to determine the best moves in the endgame.
- Protecting Lead: If you're ahead, focus on protecting your lead rather than taking risks.
- Bluffing: Occasionally make moves that seem advantageous to your opponent but actually benefit you in the long run.
- Psychological Warfare: Use your opponent's expectations against them to gain an advantage.
- Multiplayer game supporting 2 to 6 players.
- Strategic gameplay requiring tactical thinking.
- Customizable board size with rows and columns from 5 to 30.
- Dynamic gameplay where players earn extra chances for completing squares.
If you are interested to contribute in this project, this is how to start contribute ( note: all PRs opened for GSSOC should point to the develop branch )
-
Fork the repo and while forking uncheck the box " Copy the master branch only " and it should be like this:
-
After forking, clone the repo to your local machine. To clone the repo to your local machine, run the following command in your terminal:
git clone https://github.com/<your-github-username>/Dot-Box
-
Add a remote upstream to the original repo. To add a remote upstream, run the following command in your terminal:
git remote add upstream https://github.com/Durgesh4993/Dot-Box/
-
First, ensure you are on the
develop
branch. To switch ondevelop
branch.git checkout develop
-
Create a new branch. To create a new branch, run the following command in your terminal:
git checkout -b <your-branch-name>
-
Make changes in source code.
-
Add your changes To add your changes, run the following command in your terminal:
git add <File1 changed> <File2 changed> ...
-
Commit your changes. To commit your changes, run the following command in your terminal:
git commit -m "<your-commit-message>"
-
Push your changes. To push your changes, run the following command in your terminal:
git push origin <your-branch-name>
-
Open GitHub Desktop and log in to your GitHub account.
-
Make sure you are on the "Current Repository" view. If not, go to "File" and select "Add Local Repository" to add your repository.
-
In the "Current Repository" view, ensure you are on the branch
develop
to submit a pull request for. If you're not on the correct branch, use the "Branch" menu to switch to the correct branch. -
Once you're on the correct branch, make your changes and commit them to the branch. You can do this by clicking the "+" button in the upper-left corner of the GitHub Desktop window, making your changes, and then entering a commit message.
-
After you've made your changes and committed them, click the "Push origin" button in the top-right corner of the GitHub Desktop window. This will push your changes to the remote repository on GitHub.
-
Now, go to the GitHub website, navigate to your fork of the repository, and you should see a button to "Compare & pull request" between your fork and the original repository, click on it.
-
On the pull request page, you can review your changes and add any additional information, such as a title and a description, that you want to include with your pull request. Make sure base branch is develop, that is
base:develop
-
Once you're satisfied with your pull request, click the "Create pull request" button to submit it.
Note: In order to create a pull request, you must have a fork of the original repository in your GitHub account and you must have made the changes in that forked repository.
This project is part of GirlScript Summer of Code. We welcome contributions from the community to help enhance Dot-Box.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
This project is licensed under the MIT License
Thank you for contributing to our project! Your help is greatly appreciated in making Dot-Box even better. 😊