Giter VIP home page Giter VIP logo

mancala's Introduction

The Mancala Game

Game Play

Main Menu

Board Setup

Each of the two players has his six pits in front of them. To the right of the six pits, each player has a larger pit. At the start of the game, there are six stones in each of the six round pits .

Rules

Game Play

The player who begins with the first move picks up all the stones in any of his/her own six pits, and sows the stones on to the right, one in each of the following pits, including his own big pit. No stones are put in the opponents' big pit. If the player's last stone lands in his own big pit, he gets another turn. This can be repeated several times before it's the other player's turn.

Capturing Stones

During the game the pits are emptied on both sides. Always when the last stone lands in an own empty pit, the player captures his/her own stone and all stones in the opposite pit (the other player’s pit) and puts them in his/her own (big or little?) pit.

#The Game Ends

The game is over as soon as one of the sides runs out of stones. The player who still has stones in his pits keeps them and puts them in his/her big pit. The winner of the game is the player who has the most stones in his big pit.

You can also find some visual explanations of the game rules by running a Google Search for Mancala or Kalaha game.

Web App

Player Input

This application welcomes user with an introduction page and two player name inputs.

When the player clicks Start New Game button a new game with a unique UUID starts.

New Game

When one of the players clean either side of the boards, the game ends. Seeds left on the houses will be added to the players' stores respectively to calculate final scores and determine the winner.

Technologies

  • Java 18
  • Spring Boot
  • Thymeleaf
  • Aspectj / Spring AOP
  • SpringDoc OpenAPI
    • Swagger-ui
  • Diffblue
    • JUnit 5
  • Lombok

Tests

Tests are produced by the Diffblue.

mancala's People

Contributors

canercelik avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.