From da4d3229dec5cf62171fb7869c33a4ec4fe9bfee Mon Sep 17 00:00:00 2001 From: ssc Date: Thu, 24 Oct 2024 23:54:36 +0200 Subject: [PATCH] added readme.md with the assignment statement as English version of the content of index.html --- README.md | 47 +++++++++++++++++++++++++++++++++++++++++-- assignment/Readme.md | 48 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 93 insertions(+), 2 deletions(-) create mode 100644 assignment/Readme.md diff --git a/README.md b/README.md index 3758e18..b859d36 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,49 @@ # Assignment: Chess -The first assignment dealing with multiple files and unit test. +Implementation of a chess board using multiple files and unit test. -Read the [problem statement](http://htmlpreview.github.com/?https://github.com/if-03-22-prpr/if.03.22-04_chess/blob/master/assignment/html/index.html) for further information. +## Introduction + + Your task is to implement some basic chess functions. We will focus on management + functions (initializing, placing chess pieces on the board, etc.) and initial considerations + about how chess pieces can threaten each other (Do two different squares share a movement + path of a specific chess piece?). + +## Basics + +Chess is played on a square board with eight columns (files, labeled with the letters +"a" to "h") and eight rows (ranks, labeled with the numbers 1 to 8). +A square is uniquely identified by the combination of a file label and a rank label. +Many of the functions to be implemented will deal with these positions. + +For illustration, here is a depiction of a chessboard: + + ![Chess Board](chess_board_blank.gif) + +## Using the Project + +### Execution + +After a successful build, you can run the program in the following ways: + ++ `./chess` A chessboard with the pieces in their starting positions will be displayed. ++ `./chess test` The automated unit tests will be executed. + +## Project Components + +The project consists of the following files: + ++ `makefile`: Used to control the make utility. ++ `chess_main_driver.cpp`: Contains the main() function that displays a chessboard with the pieces in their starting positions. ++ `chess_test_driver.cpp`: Contains the main() function that runs the automated unit tests. ++ `test_chess.h`: Contains all prototypes for the test functions. ++ `test_chess.cpp`: Contains the implementation of all test functions and some general data used for the test functions. ++ `chess.h`: Contains the data structures used in this project and the prototypes of the functions you need to implement. ++ `chess.cpp`: Contains the skeleton implementations of the functions you need to implement. ++ `general.h`: Contains macro definitions for MIN and MAX. ++ `shortcut.h`, `shortcut.cpp`: Contain functions for executing the automated tests. You do not need to worry about these files. ++ `chess_printer.h` and `chess_printer.c:` Contain functions for displaying a chessboard in an ASCII terminal. These are not relevant to your work. ++ `mainpage.h`, `Doxyfile`: Files for generating the documentation you are currently reading. You do not need to worry about these files. + +> Note: for further details read the [problem statement](http://htmlpreview.github.com/?https://github.com/if-03-22-prpr/if.03.22-04_chess/blob/master/assignment/html/index.html) (de). diff --git a/assignment/Readme.md b/assignment/Readme.md new file mode 100644 index 0000000..d78d096 --- /dev/null +++ b/assignment/Readme.md @@ -0,0 +1,48 @@ +### IF.03.22 POSE - Procedural Programming + +# Assignment: Chess + +Implementation of a chess board using multiple files and unit test. + +## Introduction + + Your task is to implement some basic chess functions. We will focus on management + functions (initializing, placing chess pieces on the board, etc.) and initial considerations + about how chess pieces can threaten each other (Do two different squares share a movement + path of a specific chess piece?). + +## Basics + +Chess is played on a square board with eight columns (files, labeled with the letters +"a" to "h") and eight rows (ranks, labeled with the numbers 1 to 8). +A square is uniquely identified by the combination of a file label and a rank label. +Many of the functions to be implemented will deal with these positions. + +For illustration, here is a depiction of a chessboard: + + ![Chess Board](chess_board_blank.gif) + +## Using the Project + +### Execution + +After a successful build, you can run the program in the following ways: + ++ `./chess` A chessboard with the pieces in their starting positions will be displayed. ++ `./chess test` The automated unit tests will be executed. + +## Project Components + +The project consists of the following files: + ++ `makefile`: Used to control the make utility. ++ `chess_main_driver.cpp`: Contains the main() function that displays a chessboard with the pieces in their starting positions. ++ `chess_test_driver.cpp`: Contains the main() function that runs the automated unit tests. ++ `test_chess.h`: Contains all prototypes for the test functions. ++ `test_chess.cpp`: Contains the implementation of all test functions and some general data used for the test functions. ++ `chess.h`: Contains the data structures used in this project and the prototypes of the functions you need to implement. ++ `chess.cpp`: Contains the skeleton implementations of the functions you need to implement. ++ `general.h`: Contains macro definitions for MIN and MAX. ++ `shortcut.h`, `shortcut.cpp`: Contain functions for executing the automated tests. You do not need to worry about these files. ++ `chess_printer.h` and `chess_printer.c:` Contain functions for displaying a chessboard in an ASCII terminal. These are not relevant to your work. ++ `mainpage.h`, `Doxyfile`: Files for generating the documentation you are currently reading. You do not need to worry about these files.