#include #include #include typedef struct Board { char* board; int width, height, mine_rng; } Board; typedef enum Difficulty { Easy, Medium, Hard } Difficulty; Board create_board(Difficulty difficulty) { Board board = { 0 }; switch(difficulty) { case Easy: board.width = 25; board.height = 25; board.mine_rng = 10; break; case Medium: board.width = 35; board.height = 35; board.mine_rng = 7; break; case Hard: board.width = 50; board.height = 50; board.mine_rng = 5; break; } board.board = calloc(sizeof(char), board.width * board.height); return board; } void generate_board(Board board) { for(int x = 0; x < board.width; x++) { for(int y = 0; y < board.height; y++) { int index = y * board.width + x; if(rand() % board.mine_rng == 0) board.board[index] = 'b'; else board.board[index] = ' '; } } } void print_board(Board board) { for(int x = 0; x < board.width; x++) { for(int y = 0; y < board.height; y++) printf("%c", board.board[y * board.width + x]); printf("\n"); } } int main() { srand(time(NULL)); Board board = create_board(Easy); generate_board(board); print_board(board); }