Formated all files

This commit is contained in:
2023-09-25 22:06:33 +08:00
parent de0c2992ed
commit 527f6c3cfe
3 changed files with 62 additions and 57 deletions

View File

@ -5,26 +5,27 @@
#include <iostream>
/*
* You may need to define some global variables for the information of the game map here.
* Although we don't encourage to uss global variables in real cpp projects, you may have to use them because the use of
* class is not taught yet. However, if you are member of A-class or have learnt the use of cpp class, member functions,
* etc., you're free to modify this structure.
* You may need to define some global variables for the information of the game
* map here. Although we don't encourage to uss global variables in real cpp
* projects, you may have to use them because the use of class is not taught
* yet. However, if you are member of A-class or have learnt the use of cpp
* class, member functions, etc., you're free to modify this structure.
*/
int rows; // The count of rows of the game map
int columns; // The count of columns of the game map
int game_state; // The state of the game, 0 for continuing, 1 for winning, -1 for losing
int rows; // The count of rows of the game map
int columns; // The count of columns of the game map
int game_state; // The state of the game, 0 for continuing, 1 for winning, -1
// for losing
/**
* @brief The definition of function InitMap()
*
* @details This function is designed to read the initial map from stdin. For example, if there is a 3 * 3 map in which
* mines are located at (0, 1) and (1, 2) (0-based), the stdin would be
* 3 3
* .X.
* @details This function is designed to read the initial map from stdin. For
* example, if there is a 3 * 3 map in which mines are located at (0, 1) and (1,
* 2) (0-based), the stdin would be 3 3 .X.
* ...
* ..X
* where X stands for a mine block and . stands for a normal block. After executing this function, your game map would
* be initialized, with all the blocks unvisited.
* where X stands for a mine block and . stands for a normal block. After
* executing this function, your game map would be initialized, with all the
* blocks unvisited.
*/
void InitMap() {
std::cin >> rows >> columns;
@ -34,40 +35,38 @@ void InitMap() {
/**
* @brief The definition of function VisitBlock(int, int)
*
* @details This function is designed to visit a block in the game map. We take the 3 * 3 game map above as an example.
* At the beginning, if you call VisitBlock(0, 0), the return value would be 0 (game continues), and the game map would
* be
* 1??
* @details This function is designed to visit a block in the game map. We take
* the 3 * 3 game map above as an example. At the beginning, if you call
* VisitBlock(0, 0), the return value would be 0 (game continues), and the game
* map would be 1??
* ???
* ???
* If you call VisitBlock(0, 1) after that, the return value would be -1 (game ends and the players loses) , and the
* game map would be
* 1X?
* If you call VisitBlock(0, 1) after that, the return value would be -1 (game
* ends and the players loses) , and the game map would be 1X?
* ???
* ???
* If you call VisitBlock(0, 2), VisitBlock(2, 0), VisitBlock(1, 2) instead, the return value of the last operation
* would be 1 (game ends and the player wins), and the game map would be
* 1@1
* 122
* 01@
* If you call VisitBlock(0, 2), VisitBlock(2, 0), VisitBlock(1, 2) instead, the
* return value of the last operation would be 1 (game ends and the player
* wins), and the game map would be 1@1 122 01@
*
* @param row The row coordinate (0-based) of the block to be visited.
* @param column The column coordinate (0-based) of the block to be visited.
*
* @note You should edit the value of game_state in this function. Precisely, edit it to
* 0 if the game continues after visit that block, or that block has already been visited before.
* 1 if the game ends and the player wins.
* -1 if the game ends and the player loses.
* @note You should edit the value of game_state in this function. Precisely,
* edit it to 0 if the game continues after visit that block, or that block has
* already been visited before. 1 if the game ends and the player wins. -1 if
* the game ends and the player loses.
*/
void VisitBlock(int row, int column) {
void VisitBlock(int row, int column) {
// TODO (student): Implement me!
}
/**
* @brief The definition of function PrintMap()
*
* @details This function is designed to print the game map to stdout. We take the 3 * 3 game map above as an example.
* At the beginning, if you call PrintMap(), the stdout would be
* @details This function is designed to print the game map to stdout. We take
* the 3 * 3 game map above as an example. At the beginning, if you call
* PrintMap(), the stdout would be
* ???
* ???
* ???
@ -79,13 +78,12 @@ void VisitBlock(int row, int column) {
* ?X?
* 12?
* 01?
* If the player visits all blocks without mine and call PrintMap() after that, the stdout would be
* 1@1
* 122
* 01@
* (You may find the global variable game_state useful when implementing this function.)
* If the player visits all blocks without mine and call PrintMap() after that,
* the stdout would be 1@1 122 01@ (You may find the global variable game_state
* useful when implementing this function.)
*
* @note Use std::cout to print the game map, especially when you want to try the advanced task!!!
* @note Use std::cout to print the game map, especially when you want to try
* the advanced task!!!
*/
void PrintMap() {
// TODO (student): Implement me!
@ -94,13 +92,14 @@ void PrintMap() {
/**
* @brief The definition of function ExitGame()
*
* @details This function is designed to exit the game.
* It outputs a line according to the result, and a line of two integers, visit_count and step_count,
* representing the number of blocks visited and the number of steps taken respectively.
* @details This function is designed to exit the game.
* It outputs a line according to the result, and a line of two integers,
* visit_count and step_count, representing the number of blocks visited and the
* number of steps taken respectively.
*/
void ExitGame() {
// TODO (student): Implement me!
exit(0); // Exit the game immediately
exit(0); // Exit the game immediately
}
#endif