Checkers game github

The Chinese checkers is a board game being played on a deck match generally circular or hexagonal, in which a six-pointed star is shown, having holes in total.

The pawns are arranged in the six outer triangles of a six-pointed star, forming six groups of ten pawns, and making it possible to play two, three, four, or six players at a time. Each group has a different color. With two or three players, you can play with groups of fifteen pawns. Depending on the material used, the pieces may be balls, and the locations are then materialized by holes in the game board.

Alternatively, the game directions are drawn on deck, and the locations are the intersections of these lines. The pieces are placed on these intersections. The game in its square or star form is still called Halma in many countries 1, 2, 3, 4.

The goal of the game is to move all of his pieces in the area opposite to his starting area. The winner is the first player to bring all his pieces to his finish area. Each controls a group of ten or fifteen pieces, which must be brought into the symmetrical zone of its starting zone with respect to the center of the deck.

In the case of the three-player game, this zone is free from the beginning of the game. In other cases two, four, or six players gameit is occupied at the beginning of the game by an opposing player, who will release it as and when it progresses. Each plays, in turn, a single pawn. A movement takes place according to two modes, to choose and exclusively:. Moving a box in one of the six directions of the board.

Movement by successive jumps during a single turn. Each jump is made above a piece of any color, symmetrically with respect to this piece, and in one of the directions of the board. In all cases, the jump may only be allowed if no other pieces are in the jump path or in the finish square, except for the pin that serves as a pivot.

Unlike the classic checkers, the jump is made without taking. The pieces remain in play throughout the game.A checkers reinforcement learning AI, and all the tools needed to train it.

A game of checkers written in Python 3 using minimax algorithm and alpha-beta pruning. Official repository of SimplePM Server. Bug tracking system and documentation located on project's official website. Alquerque - a 2 player abstract strategic perfect information traditional board game with computer AI option.

Checkers game. Add a description, image, and links to the checkers topic page so that developers can more easily learn about it. Curate this topic. To associate your repository with the checkers topic, visit your repo's landing page and select "manage topics. Learn more. Skip to content. Here are public repositories matching this topic Language: All Filter by language.

Sort options. Star Code Issues Pull requests. Updated Feb 21, Python. The new bsdgames: A package of 11 text-based games. Updated Aug 23, C. Updated Apr 11, Python. Updated Feb 24, PHP. Updated Dec 9, Scala. Star 8. Open-source advanced cracking tool made in Electron. Updated Sep 27, JavaScript. Draughts and checkers template library. Updated Oct 11, Java. Star 7. Checkers game in Python using minimax algorithm. Updated May 2, Python.

Updated Feb 9, Python. Star 6. A checkers game made in Java. Updated Feb 6, Java. Star 5. A Player vs AI game of checkers implemented in Prolog. Updated Jul 27, Prolog.GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.

If nothing happens, download GitHub Desktop and try again. If nothing happens, download Xcode and try again. If nothing happens, download the GitHub extension for Visual Studio and try again. As a final project for my AI class, I worked with a small team on implementing the classic board game checkers in Java with Swing and developing an AI to play against. To pick the ideal move, an implementation of the minimax theorm was used to algorithmically minimize the worst case scenario.

To allow the computer to manage the huge number of available moves, the alpha beta pruning technique was added. This technique prevents the computer from exploring movement options that will never be considered because the optimal move has already been discovered.

JAR and Video. Skip to content. Dismiss Join GitHub today GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together. Sign up. Java Branch: master. Find file. Sign in Sign up.

Go back. Launching Xcode If nothing happens, download Xcode and try again. Latest commit Fetching latest commit…. Download the game here or watch me play it below. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Dec 8, Checkers initial commit. Oct 23, Dec 3, GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.

If nothing happens, download GitHub Desktop and try again. If nothing happens, download Xcode and try again. If nothing happens, download the GitHub extension for Visual Studio and try again.

JavaScript Checkers Game

This game is a modified version of the traditional 8 x 8 checkers game. The rules are similar to the original game, except a few differences.

Below is a summary of the game rules. For the graphical user interface, it uses the Tkinter library, which is a built-in library that comes with Python 3.

So you should not need to install additional packages to run the program. You will see a checker board pops up in a new window. You can make moves by first clicking on the checker and then clicking on the destination block on the board.

Once the game reaches a terminal state, we compute the utility value. The utility value is defined as following:. The most important goal of the game is to have more checkers left than your component, therefore I assign a weight of to the difference in the number of checkers. In addition, if the difference in the number of checkers is the same, the AI player would like to have as many checkers left as possible. So a weight of 50 is assigned to the number of remaining AI checkers.

Note that the weights in the utility function are pretty high, because this allows the AI player to prefer a utility value produced from a deterministic terminal state over a heuristics value which is just an estimate.

Since we have a time limit of 15 seconds for each move, sometimes it is impossible to do a complete search of the game state. Therefore, I integrate a cut-off feature in the Alpha Beta Search. Before each search, I specify a depth limit. If the search algorithm reaches the depth limit, it will terminate the search and compute a heuristic value using the evaluation function based on the game state it found.

This guarantees that the AI player will come up with a move within the time limit. The depth limit is dynamically computed, and it is negatively correlated with the total number of checkers left. The more checkers we have, the more branches the search tree will generate. Therefore, the AI player starts with a lower depth limit. As the total number of checkers decreases, the search depth limit gradually increases. If the search reaches the depth limit, the AI player calls the evaluation function to get a heuristics value of the current path.

The evaluation function is defined as following:. Same as before, the difference in number of checkers between two players is important, so it is assigned a weight of In addition, we count the number of safe AI checkers and multiply that by A safe AI checker is a checker that the opponent cannot capture. It is defined as a checker that either is on the boundary of the board leftmost and rightmost columns or has passed all of the opponent checkers.

Lastly, the heuristic value also takes into account of the number of AI checkers left. Note that weights in the evaluation function are lower than the weights in the utility function.

This makes sure that heuristics values are always smaller than utility values and utility values are preferred by the AI player, because utility values lead to deterministic results. Skip to content.GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.

If nothing happens, download GitHub Desktop and try again. If nothing happens, download Xcode and try again. If nothing happens, download the GitHub extension for Visual Studio and try again. A checkers game with a simple computer player. The computer player works by assigning a weight for each move.

checkers game github

When a move weight is calculated, it is based off information such as move safety e. It checks a number of other factors and assigns a final weight. The move with the highest weight is chosen as the move. To ensure computer players are less predictable, if multiple moves have the same weight then one is randomly chosen. The checkers program comes complete with all graphical user interface components that scale relative to the size of the window.

checkers game github

It is a user-friendly UI and has options to change the type of player for both player 1 and 2, and restart the game. In addition, it provides a checker board UI to show the current game state. All player classes extend the abstract Player class and either implement the logic to update the game or allow the user to input their moves.

It is able to make connections across the network to other checkers clients. To set up a network player, simply do the following:. In addition to peer-to-peer connections, a checkers window can act as a router and forward the game state between two clients if both of the players are network players. A small amount of security has been put in place for peer-to-peer connections.

When a remote client makes a new connection, it receives a session ID which is randomly generated that must be used in all following messages between the clients. This ensures that another checkers client cannot pretend to be an already connected client and change the game state unexpectedly. Skip to content.

Dismiss Join GitHub today GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together. If nothing happens, download GitHub Desktop and try again. If nothing happens, download Xcode and try again.

If nothing happens, download the GitHub extension for Visual Studio and try again. Play by selecting your piece and clicking on the tile you want to move to.

Click here to learn how to play checkers. Jumping when available is enforced. The Board object controls the board and therefore the game.

The pieces and tiles instances are used in the game for checking whether a piece can be moved, moving a piece, deleting a piece, checking whether tile is in range, and much more. The script is fully commented and original. Skip to content. Dismiss Join GitHub today GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together. Sign up. A Checkers Game based on Javascript. JavaScript Branch: master.

Find file. Sign in Sign up. Go back. Launching Xcode If nothing happens, download Xcode and try again. Latest commit Fetching latest commit…. Checkers Using It Play by selecting your piece and clicking on the tile you want to move to. If you find any bugs, please make a Pull Request or an Issue. You signed in with another tab or window. Reload to refresh your session.

checkers-game

You signed out in another tab or window. Added case when player wins. Jan 2, Moved from gcismallprojects Jan 1, Initial commit. Fixed readme. Jan 3, May 27, GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.

If nothing happens, download GitHub Desktop and try again. If nothing happens, download Xcode and try again. If nothing happens, download the GitHub extension for Visual Studio and try again. When asked the question. Press enter when you see a blinking cursor and no input is asked.

To enter moves when asked, for example to move a piece from position [x1, y1] to [x2, y2], in start position enter x1 y1 press enter in end position enter x2 y2 press enter.

When there are multiple attack moves like [x1, y1] to [x2, y2] to [x3, y3], in start position enter x1 y1 press enter in end position enter x2 y2 x3 y3 press enter. Assume that agent is in state s and has many choices for action aand for each choice of action, environment takes agent to a state s'.

For our reinforcement learning agent, we used following features to represent state action s, a pairs:. The agent takes action a in state s and moves to state s'.

The opponent takes action in state s' and moves to state s''. The environment will then given the reward to the agent for the action a in state s. Thus reward function depends on current state of the agent sthe action it took a and the state in which it will take next action s''.

Board class for checkers game specified in game. Skip to content.

checkers game github

Dismiss Join GitHub today GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.

Sign up. A checkers game which can be played against various Artificially Intelligent agents.

How To Play Checkers

Python Branch: master. Find file. Sign in Sign up. Go back. Launching Xcode If nothing happens, download Xcode and try again.

Latest commit Fetching latest commit…. Which Python This project is written using Python 3. How to Play against Agent When asked the question. To enter moves when asked, for example to move a piece from position [x1, y1] to [x2, y2], in start position enter x1 y1 press enter in end position enter x2 y2 press enter When there are multiple attack moves like [x1, y1] to [x2, y2] to [x3, y3], in start position enter x1 y1 press enter in end position enter x2 y2 x3 y3 press enter Play against Alpha-Beta agent To play game against alphabeta agent, enter following command: python checkers.

To create this agent, search upto depth 3 is performed, and then evaluation function is used. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window.


thoughts on “Checkers game github

Leave a Reply

Your email address will not be published. Required fields are marked *