Introduction This particular program implements a game called "Checkers" that is played in real life. For this assignment, you should try to make your program look as nice as possible using the provided code fragment. Problem statement: Write a C++ program that plays the game of Checkers. The game is simple and you can view the instruction video online: https://www.youtube.com/watch?v=m0drB0cx8pQ You can also find a simulation if you want to see the game in action. One specific online simulation is at: http://www.csqnetwork.com/checkers.html Set Up: • Two players, one uses "x"s, the other uses "o"s. • Checkers may be played on an 8x8, 10x10 or 12x12 square board. Command line arguments will be used to indicate the size of the board, for example: ./checkers 8
Introduction This particular program implements a game called "Checkers" that is played in real life. For this assignment, you should try to make your program look as nice as possible using the provided code fragment. Problem statement: Write a C++ program that plays the game of Checkers. The game is simple and you can view the instruction video online: https://www.youtube.com/watch?v=m0drB0cx8pQ You can also find a simulation if you want to see the game in action. One specific online simulation is at: http://www.csqnetwork.com/checkers.html Set Up: • Two players, one uses "x"s, the other uses "o"s. • Checkers may be played on an 8x8, 10x10 or 12x12 square board. Command line arguments will be used to indicate the size of the board, for example: ./checkers 8
Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
Related questions
Concept explainers
Max Function
Statistical function is of many categories. One of them is a MAX function. The MAX function returns the largest value from the list of arguments passed to it. MAX function always ignores the empty cells when performing the calculation.
Power Function
A power function is a type of single-term function. Its definition states that it is a variable containing a base value raised to a constant value acting as an exponent. This variable may also have a coefficient. For instance, the area of a circle can be given as:
Question
100%
![Introduction
This particular program implements a game called "Checkers" that is played in real life. For this
assignment, you should try to make your program look as nice as possible using the provided code
fragment.
Problem statement:
Write a C++ program that plays the game of Checkers. The game is simple and you can view the
instruction video online: https://www.youtube.com/watch?v=m0drB0cx8pQ
You can also find a simulation if you want to see the game in action. One specific online simulation is
at: http://www.csqnetwork.com/checkers.html
Set Up:
• Two players, one uses "x"s, the other uses "o"s.
• Checkers may be played on an 8x8, 10x10 or 12x12 square board.
• Command line arguments will be used to indicate the size of the board, for
example: ./checkers 8
• No matter the size of the board, pieces are placed on the dark squares of the board, leaving the
middle two rows blank. For example:
How to Play (Game rules):
• Players cannot move an opponent's piece.
• Turns alternate between players until the game is won.
• The player who runs out of pieces first or cannot make a valid move loses the game.
• Pieces may only move diagonally into unoccupied squares and only by one square if they are
not capturing a piece.
• A piece may capture opponent's pieces by jumping over them diagonally. So long as there are
successive pieces to be captured, the piece may continue moving. The line the piece travels
does not have to be straight along one diagonal, it may change directions so long as it
continues to progress the board and capture pieces.
When a piece has reached the King's Row (furthest row from it's originating side) then it is
"kinged" by placing a second token on top of it (You may use "X"s or "O"s or any other
distinguishable symbols to indicate "kinged" pieces). This piece is now permitted to move
backwards on the board and allowed to capture backward.](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F8759b09c-a99c-4616-917a-1eb84cf5071d%2F08c7a589-fbca-42e2-ab9f-dba327621a9c%2F3g8t49l_processed.jpeg&w=3840&q=75)
Transcribed Image Text:Introduction
This particular program implements a game called "Checkers" that is played in real life. For this
assignment, you should try to make your program look as nice as possible using the provided code
fragment.
Problem statement:
Write a C++ program that plays the game of Checkers. The game is simple and you can view the
instruction video online: https://www.youtube.com/watch?v=m0drB0cx8pQ
You can also find a simulation if you want to see the game in action. One specific online simulation is
at: http://www.csqnetwork.com/checkers.html
Set Up:
• Two players, one uses "x"s, the other uses "o"s.
• Checkers may be played on an 8x8, 10x10 or 12x12 square board.
• Command line arguments will be used to indicate the size of the board, for
example: ./checkers 8
• No matter the size of the board, pieces are placed on the dark squares of the board, leaving the
middle two rows blank. For example:
How to Play (Game rules):
• Players cannot move an opponent's piece.
• Turns alternate between players until the game is won.
• The player who runs out of pieces first or cannot make a valid move loses the game.
• Pieces may only move diagonally into unoccupied squares and only by one square if they are
not capturing a piece.
• A piece may capture opponent's pieces by jumping over them diagonally. So long as there are
successive pieces to be captured, the piece may continue moving. The line the piece travels
does not have to be straight along one diagonal, it may change directions so long as it
continues to progress the board and capture pieces.
When a piece has reached the King's Row (furthest row from it's originating side) then it is
"kinged" by placing a second token on top of it (You may use "X"s or "O"s or any other
distinguishable symbols to indicate "kinged" pieces). This piece is now permitted to move
backwards on the board and allowed to capture backward.
![Implementation Requirements:
Establish the size of the board via command line arguments, must include error handling for
too many and too few arguments as well as incorrect input. If an invalid size is provided, then
the program should display a message to indicate the problem, and recover by asking for the
size during runtime.
• The board must be created using two-dimensional, dynamic memory.
• The board must be correctly colored black and white using the following code as a base. The
following code fragment colors a two-dimensional board. It is expected that you will adjust it as
needed to provide the best user interface possible for your program.
for (int i=0; i<rows; i++)
{
for (int j=0; j<cols; j++)
if (i % 2 ==
O && j % 2 == 0)
cout « "I\033[30;47m " « board[i] [j] « " ";
else if (i % 2 == 1 &&j % 2 == 1)
cout « "I\033[30;47m " « board[i][j] « " ";
else
cout « "I\033[ Om " << board[i] [j] « " ";
%3D
cout « "\033[0m";
cout « endl;
The game must be correctly set up and played as described in the "Set Up" and "How to Play"
sections of this document.
The path of travel shall be received as a single, c-style string, and correctly parsed and error
handled to move the pieces in a correct fashion on the board. The string should be a list of
square coordinates. It is up to you as the programmer to determine the best delimiter and
coordinate system to use. Whatever method that is chosen should be clearly communicated to
the user.
The board should be printed after each move of a piece and include the defined coordinate
system. This is especially important for a piece that may move multiple squares in a turn.
• After each move, captured pieces should be removed from the board.
• When the move sequence of a turn has been completed, the total number of captured pieces for
each player should be displayed.
• If a piece makes the King's Row then it should be "kinged" in some way. Kinged pieces are the
only pieces which may move forwards and backwards on the board.
The game should end when only one color of piece remains on the board or if a player has run
out of valid moves.
If there is a winner, the program must immediately declare the winner and ask if the player(s)
want to play again (you may use the same board size or a different one by asking for user input).](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F8759b09c-a99c-4616-917a-1eb84cf5071d%2F08c7a589-fbca-42e2-ab9f-dba327621a9c%2Frbajy9p_processed.jpeg&w=3840&q=75)
Transcribed Image Text:Implementation Requirements:
Establish the size of the board via command line arguments, must include error handling for
too many and too few arguments as well as incorrect input. If an invalid size is provided, then
the program should display a message to indicate the problem, and recover by asking for the
size during runtime.
• The board must be created using two-dimensional, dynamic memory.
• The board must be correctly colored black and white using the following code as a base. The
following code fragment colors a two-dimensional board. It is expected that you will adjust it as
needed to provide the best user interface possible for your program.
for (int i=0; i<rows; i++)
{
for (int j=0; j<cols; j++)
if (i % 2 ==
O && j % 2 == 0)
cout « "I\033[30;47m " « board[i] [j] « " ";
else if (i % 2 == 1 &&j % 2 == 1)
cout « "I\033[30;47m " « board[i][j] « " ";
else
cout « "I\033[ Om " << board[i] [j] « " ";
%3D
cout « "\033[0m";
cout « endl;
The game must be correctly set up and played as described in the "Set Up" and "How to Play"
sections of this document.
The path of travel shall be received as a single, c-style string, and correctly parsed and error
handled to move the pieces in a correct fashion on the board. The string should be a list of
square coordinates. It is up to you as the programmer to determine the best delimiter and
coordinate system to use. Whatever method that is chosen should be clearly communicated to
the user.
The board should be printed after each move of a piece and include the defined coordinate
system. This is especially important for a piece that may move multiple squares in a turn.
• After each move, captured pieces should be removed from the board.
• When the move sequence of a turn has been completed, the total number of captured pieces for
each player should be displayed.
• If a piece makes the King's Row then it should be "kinged" in some way. Kinged pieces are the
only pieces which may move forwards and backwards on the board.
The game should end when only one color of piece remains on the board or if a player has run
out of valid moves.
If there is a winner, the program must immediately declare the winner and ask if the player(s)
want to play again (you may use the same board size or a different one by asking for user input).
Expert Solution
![](/static/compass_v2/shared-icons/check-mark.png)
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution!
Trending now
This is a popular solution!
Step by step
Solved in 2 steps
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Recommended textbooks for you
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education