# A game of suicide checkers

I need you to develop some software for me. I would like this software to be developed for Windows using C++.

Part 1: Background

Suicide checkers, also known as Anti-Checkers, Giveaway Checkers and Losing draughts is a two-player variant of the board game checkers where the goal outcome has been reversed - if you have no pieces left or if you cannot move anymore, you win. Players take alternating turns, moving their pieces according to the rules of checkers. The goal of the game is to have no pieces left. You are required to develop a computer program in C++ that allows two different algorithms to play against each other in a game of suicide checkers. In the standard 8 × 8 version of the game, player 1 has 12 white pieces and player 2 has 12 black pieces. The starting configuration of the board has all pieces of each player lined up on the black spaces in the first three rows on either side of the board (see Figure 1b). For checkers of varying even board size, we can have boards as shown in Figure 2 where we always have two blank rows in the center of the board. As can be seen the number of pieces changes for different board sizes. For a board size of 6 × 6, each player has 6 pieces. For a board size of 8 × 8, each player has 12 pieces. For a board size of 10 × 10, each player has 20 pieces. For a board size of 12 × 12, each player has 30 pieces. The program must also allow for pieces to be kinged (meaning once a piece reaches the other end of the board it becomes a king and is allowed to move backwards and not only forwards)

In this project you are required to

1. Implement checkers for a board size of n x n where 6 ≤ n ≤ 12 and n is always even.

2. Implement two different algorithms that will play suicide checkers against each other e.g. an algorithm that randomly chooses a valid move may be one of your

algorithms.

3. Implementing the play of a king piece.

4. The game must read the board size in from an [login to view URL] file e.g.

6

6

8

10

5. Each move must be stored in an [login to view URL] file. The first line of the output should contain the size of the board for the current game,

• Each line after this should record a players turn - list “p1” or “p2” depending on whose turn it is. – If a player makes a move without taking pieces list the block number the piece moved from, a dash and the block number the piece moved to, eg. “p1 4-7”.

– If a player makes a move that involves jumping the opponents piece you would have

the following “p2 12x5(8)”, where 12 is the block number player 2’s piece moved from,

block number 5 is where player 2’s piece moved to and block number 8 is the location

where player 1’s piece was jumped.

– If a player makes a move that involves multiple jumps of the opponents piece you would have the following

“p2 17x12(14)12x5(8)”, where player 2’s piece moves from block number 17 to 12 and then from 12 to 5 jumping over player 1’s pieces located on blocks 14 and 8.

• Once the game is over the total number of pieces for player 1 and player 2 are listed on

seperate lines as shown on lines 20 and 21 of Listing 1.

• The final piece of information to include is who the winner is or if it is a draw.

– If there is a winner write either “wp1” if player 1 wins or “wp2” if player 2 wins.

– If there is a draw, write “d”.

• Any subsequent games listed in this file should be separated from previous games by an empty line as shown in line 23. E.g.

[6

p1 4−7

p2 15−12

p1 5−8

p2 12 x5 ( 8 )

p1 1 x8 ( 5 )

p2 14−11

p1 7 x14 ( 1 1 )

p2 17 x12 ( 1 4 ) 12 x5 ( 8 )

p1 2 x7 ( 5 )

p2 13−11

p1 7 x14 ( 1 1 )

p2 18 x11 ( 1 4 )

p1 6−8

p2 11 x6 ( 8 )

p1 3 x8 ( 6 )

p2 16−13

p1 8−11

p2 13 x8 ( 1 1 )

t p 1 0

t p 2 1

wp1

6

// output of remaining games would appear here]

Beceriler: Yazılım Mimarisi, C++ Programlama, Windows Masaüstü

İşveren Hakkında:
( 2 değerlendirme ) Alberton, South Africa

Proje NO: #25317383

## Seçilen:

Hello Sir/ Ma’am As a highly skilled full stack developer, I have rich experience in JAVA, C, C++, C# Python , Arduino, [login to view URL], Word press, and ANDROID. I am very confident with my skills and I'd like to he Daha Fazla

1 gün içinde %selectedBids___i_sum_sub_4%%project_currencyDetails_sign_sub_5% USD
(16 Değerlendirme)
4.7

## Bu iş için 2 freelancer ortalamada \$140 teklif veriyor

kikinhobiaso

Hi there, I am an expert in 2D game development, also mathematics and computer graphics applied to problem solving. Let's talk, Best Regards

\$250 USD in 3 gün içinde
(7 Değerlendirme)
5.3