From b0edb4219ea4df381d0235aa34b74799334aa0b2 Mon Sep 17 00:00:00 2001 From: dawidg81 Date: Wed, 28 Jan 2026 20:01:46 +0100 Subject: finished merging code and simplifying file structure --- src/Game.cpp | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++ src/Game.hpp | 24 ++++++++++++++++++ src/Game/Game.cpp | 45 --------------------------------- src/Game/Game.hpp | 24 ------------------ src/Game/display.cpp | 14 ----------- src/Game/edit.cpp | 25 ------------------- src/Game/init.cpp | 38 ---------------------------- src/Utils.cpp | 22 +++++++++++++++++ src/Utils.hpp | 11 +++++++++ src/Utils/Utils.hpp | 11 --------- src/Utils/catch.cpp | 22 ----------------- 11 files changed, 127 insertions(+), 179 deletions(-) create mode 100644 src/Game.cpp create mode 100644 src/Game.hpp delete mode 100644 src/Game/Game.cpp delete mode 100644 src/Game/Game.hpp delete mode 100644 src/Game/display.cpp delete mode 100644 src/Game/edit.cpp delete mode 100644 src/Game/init.cpp create mode 100644 src/Utils.cpp create mode 100644 src/Utils.hpp delete mode 100644 src/Utils/Utils.hpp delete mode 100644 src/Utils/catch.cpp (limited to 'src') diff --git a/src/Game.cpp b/src/Game.cpp new file mode 100644 index 0000000..7c7e2d3 --- /dev/null +++ b/src/Game.cpp @@ -0,0 +1,70 @@ +#include "Game.hpp" +#include "../Utils/Utils.hpp" + +#include +#include +#include +#include + +void Game::initDiff(int diff) { + switch (diff) { + case 0: + boardWidth = 9; + boardHeight = 9; + mines = 9; + break; + case 1: + boardWidth = 16; + boardHeight = 16; + mines = 12; + break; + case 2: + boardWidth = 30; + boardHeight = 16; + mines = 16; + break; + case 3: + std::cout << "Editing game parameters\n"; + break; + } +} + +void Game::initBoard() { + for (int i = 0; i < boardHeight; i++) { + for (int j = 0; j < boardWidth; j++) { + bombMap[i][j] = rand() % 2; + } + } + + for (int i = 0; i < boardHeight; i++) { + for (int j = 0; j < boardWidth; j++) { + tileMap[i][j] = 0; + } + } +} + +int Game::editDiff(){ + Utils util; + + std::cout << "Now editing custom difficulty" << std::endl; + + std::cout << "Board width: "; + if(util.catchReturn(util.catchInputInt(Game::boardWidth)) != 0) return 1; + std::cout << Game::boardWidth; + + std::cout << "Board height: "; + if(util.catchReturn(util.catchInputInt(Game::boardHeight)) != 0) return 1; + + std::cout << "Mines: "; + if(util.catchReturn(util.catchInputInt(Game::mines)) != 0) return 1; + + return 0; +} + +void Game::displayBoard() { + for (int i = 0; i < boardHeight; i++) { + for (int j = 0; j < boardWidth; j++) + putchar(tileMap[i][j]); + putchar('\n'); + } +} \ No newline at end of file diff --git a/src/Game.hpp b/src/Game.hpp new file mode 100644 index 0000000..767ab94 --- /dev/null +++ b/src/Game.hpp @@ -0,0 +1,24 @@ +#ifndef GAME_HPP +#define GAME_HPP + +class Game { +private: + static constexpr int MAX_W = 32; + static constexpr int MAX_H = 32; + + int boardWidth; + int boardHeight; + + bool bombMap[MAX_H][MAX_W]; + int tileMap[MAX_H][MAX_W]; + + int mines; + +public: + int editDiff(); + void initDiff(int diff); + void initBoard(); + void displayBoard(); +}; + +#endif diff --git a/src/Game/Game.cpp b/src/Game/Game.cpp deleted file mode 100644 index b0f6a80..0000000 --- a/src/Game/Game.cpp +++ /dev/null @@ -1,45 +0,0 @@ -#include "Game.hpp" -#include "../Utils/Utils.hpp" - -#include -#include -#include -#include - -void Game::initDiff(int diff) { - switch (diff) { - case 0: - boardWidth = 9; - boardHeight = 9; - mines = 9; - break; - case 1: - boardWidth = 16; - boardHeight = 16; - mines = 12; - break; - case 2: - boardWidth = 30; - boardHeight = 16; - mines = 16; - break; - case 3: - std::cout << "Editing game parameters\n"; - break; - } -} - -void Game::initBoard() { - for (int i = 0; i < boardHeight; i++) { - for (int j = 0; j < boardWidth; j++) { - bombMap[i][j] = rand() % 2; - } - } - - for (int i = 0; i < boardHeight; i++) { - for (int j = 0; j < boardWidth; j++) { - tileMap[i][j] = 0; - } - } -} - diff --git a/src/Game/Game.hpp b/src/Game/Game.hpp deleted file mode 100644 index 767ab94..0000000 --- a/src/Game/Game.hpp +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef GAME_HPP -#define GAME_HPP - -class Game { -private: - static constexpr int MAX_W = 32; - static constexpr int MAX_H = 32; - - int boardWidth; - int boardHeight; - - bool bombMap[MAX_H][MAX_W]; - int tileMap[MAX_H][MAX_W]; - - int mines; - -public: - int editDiff(); - void initDiff(int diff); - void initBoard(); - void displayBoard(); -}; - -#endif diff --git a/src/Game/display.cpp b/src/Game/display.cpp deleted file mode 100644 index 4fb16cb..0000000 --- a/src/Game/display.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include "Game.hpp" - -#include -#include -#include - - -void Game::displayBoard() { - for (int i = 0; i < boardHeight; i++) { - for (int j = 0; j < boardWidth; j++) - putchar(tileMap[i][j]); - putchar('\n'); - } -} \ No newline at end of file diff --git a/src/Game/edit.cpp b/src/Game/edit.cpp deleted file mode 100644 index af89e65..0000000 --- a/src/Game/edit.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include "Game.hpp" -#include "../Utils/Utils.hpp" - -#include -#include -#include -#include - -int Game::editDiff(){ - Utils util; - - std::cout << "Now editing custom difficulty" << std::endl; - - std::cout << "Board width: "; - if(util.catchReturn(util.catchInputInt(Game::boardWidth)) != 0) return 1; - std::cout << Game::boardWidth; - - std::cout << "Board height: "; - if(util.catchReturn(util.catchInputInt(Game::boardHeight)) != 0) return 1; - - std::cout << "Mines: "; - if(util.catchReturn(util.catchInputInt(Game::mines)) != 0) return 1; - - return 0; -} \ No newline at end of file diff --git a/src/Game/init.cpp b/src/Game/init.cpp deleted file mode 100644 index a572fbc..0000000 --- a/src/Game/init.cpp +++ /dev/null @@ -1,38 +0,0 @@ -#include "Game.hpp" - -#include -#include -#include - -void Game::initDiff(int diff) { - switch (diff) { - case 0: - boardWidth = 9; - boardHeight = 9; - mines = 9; - break; - case 1: - boardWidth = 16; - boardHeight = 16; - mines = 12; - break; - case 2: - boardWidth = 30; - boardHeight = 16; - mines = 16; - break; - case 3: - std::cout << "Editing game parameters\n"; - break; - } -} - -void Game::initBoard() { - for (int i = 0; i < boardHeight; i++) - for (int j = 0; j < boardWidth; j++) - bombMap[i][j] = rand() % 2; - - for (int i = 0; i < boardHeight; i++) - for (int j = 0; j < boardWidth; j++) - tileMap[i][j] = 0; -} \ No newline at end of file diff --git a/src/Utils.cpp b/src/Utils.cpp new file mode 100644 index 0000000..37ebefe --- /dev/null +++ b/src/Utils.cpp @@ -0,0 +1,22 @@ +#include "Utils.hpp" + +#include +#include + +int Utils::catchInputInt(int* input){ + std::cin >> input; + + if (std::cin.fail()) { + std::cout << "error: Input failed" << std::endl; + return 1; + } + + return 0; +} + +int Utils::catchReturn(int renum){ + if (renum != 0) { + std::cout << "Received error signal, sending further" << std::endl; + } + return 0; +} diff --git a/src/Utils.hpp b/src/Utils.hpp new file mode 100644 index 0000000..e977db4 --- /dev/null +++ b/src/Utils.hpp @@ -0,0 +1,11 @@ +#include + +#ifndef UTILS_HPP + +class Utils{ + public: + int catchInputInt(int* input); + int catchReturn(int renum); +}; + +#endif diff --git a/src/Utils/Utils.hpp b/src/Utils/Utils.hpp deleted file mode 100644 index e977db4..0000000 --- a/src/Utils/Utils.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#include - -#ifndef UTILS_HPP - -class Utils{ - public: - int catchInputInt(int* input); - int catchReturn(int renum); -}; - -#endif diff --git a/src/Utils/catch.cpp b/src/Utils/catch.cpp deleted file mode 100644 index 37ebefe..0000000 --- a/src/Utils/catch.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include "Utils.hpp" - -#include -#include - -int Utils::catchInputInt(int* input){ - std::cin >> input; - - if (std::cin.fail()) { - std::cout << "error: Input failed" << std::endl; - return 1; - } - - return 0; -} - -int Utils::catchReturn(int renum){ - if (renum != 0) { - std::cout << "Received error signal, sending further" << std::endl; - } - return 0; -} -- cgit v1.2.3