Note: This is not an exercise in determining strategy or teaching an AI to play Checkers. We are just practicing Random Walks in a fun example! Don't stress if your game doesn't seem to get anywhere.
As you got through the steps below you may find it useful to redefine your work done in previous steps. In that case, go ahead and copy the cell down and make your changes. Use markdown to indicate each step.
1) Create classes to represent the necessary objects for gameplay. This will include, at least, the game board, the two types of pieces and the two sides. You will need to determine the best way to represent the relationship between them.
2) Set up one side of the board. Print the status of the board.
3) Execute 10 turns. On each turn randomly select a piece that can move (see rules above) and move it. If a piece reaches the opposite King Row elevate it from a Single to a King. Print the status of the board.
4) Reset the board and set up both sides. Execute 10 turns, same as above. This time you have to have your Jump method working. Print the status of the board
5) Reset the board and play a game with a maximum of 100 turns (it is possible we could end up with a couple of drunk Kings meandering around the board.) Print the winner and final board. If the maximum number of turns is reached the winner will be the side with the most pieces counting Singles as 1 and Kings as 2.) If that is a tie we will call the game a draw.
Bonus) Write a simulation to determine whether it is advantageous to go first when you don't have a strategy
Note: Please find the attachment to understand game and rules
You will want to make sure you are not trying the same piece more than once a turn, or testing moving the same direction more than once for a piece. That is called selection without replacement. A handy way to do this is to use [login to view URL] to randomize your list and then iterate through it until you have either had success or exhausted your possibilities.