From d5ea4bf56ef203e3410816be6dfd8f5f0b300a89 Mon Sep 17 00:00:00 2001 From: marie3003 <marie.viktoria.becker@gmail.com> Date: Fri, 13 Dec 2024 14:11:22 +0100 Subject: [PATCH 1/3] documentation of game controller and game instance --- src/client/GameController.cpp | 12 +--- src/client/GameController.h | 80 +++++++++++++++++++--- src/client/panels/TrickEstimationPanel.cpp | 2 +- src/server/game_instance.h | 79 ++++++++++++++++++--- 4 files changed, 142 insertions(+), 31 deletions(-) diff --git a/src/client/GameController.cpp b/src/client/GameController.cpp index 74cbdc1..7c00def 100644 --- a/src/client/GameController.cpp +++ b/src/client/GameController.cpp @@ -165,7 +165,7 @@ void GameController::leaveGame() } // TODO: estimate trick request, here message box with entry -void GameController::estimateTrick() +void GameController::processEstimateTricks() { wxString trickEstimate = GameController::_trickEstimationPanel->getTrickEstimate().Trim(); @@ -185,16 +185,6 @@ void GameController::estimateTrick() // Handle the error: the string was not a valid integer GameController::showError("Invalid input!"," Please enter a valid number for the trick estimate."); } - - /* - std::string title = "How many tricks?"; - std::string message = "Enter estimated number of tricks"; - std::string buttonLabel = "OK"; - - wxMessageDialog dialogBox = wxMessageDialog(nullptr, message, title, wxICON_NONE); - dialogBox.SetOKLabel(wxMessageDialog::ButtonLabel(buttonLabel)); - dialogBox.ShowModal(); - */ } diff --git a/src/client/GameController.h b/src/client/GameController.h index 27a4bcc..6e60eae 100644 --- a/src/client/GameController.h +++ b/src/client/GameController.h @@ -5,39 +5,99 @@ #include "panels/ConnectionPanel.h" #include "panels/MainGamePanelWizard.h" #include "panels/TrickEstimationPanel.h" -#include "network/ResponseListenerThread.h" #include "../common/game_state/game_state.h" // TODO: include decide_trump_request - +/** + * @class GameController + * @brief Controls visualization of the game state and processes client actions. + * + * This class handles the visualization of the game state a client received. + * It adapts the visualization based on the parameters found in the game state + * and reacts to interactions of a user with the GUI by sending out requests + * via the client network manager to the server. + */ class GameController { public: + /** + * @brief Initializes game window when a new Wizard-client is started + * @param gameWindow The game window that needs to be initialized + */ static void init(GameWindow* gameWindow); + /** + * @brief Handles connection to server when a user joins a game. + */ static void connectToServer(); + /** + * @brief Updates game state whenever any player interacted with the server based on parameters of current game state. + * @param newGameState The new game state send from the server. + */ static void updateGameState(game_state* newGameState); + /** + * @brief Send out 'start game' request to server. + */ static void startGame(); - static void estimateTricks(int nof_cards); + /** + * @brief Send out 'leave game' request to server. + */ static void leaveGame(); + /** + * @brief Process input from trick estimation panel and trigger estimateTricks function. + */ + static void processEstimateTricks(); + /** + * @brief Send out 'estimate tricks' request to server. + * @param nof_tricks Number of predicted tricks to win in the next round. + */ + static void estimateTricks(int nof_tricks); + /** + * @brief Send out 'play card' request to server. + * @param cardToPlay Pointer to card that user chooses to play. + */ static void playCard(card* cardToPlay); - static void estimateTrick(); + /** + * @brief Finds event handler for main thread. + * @return wxwidgets event handler + */ static wxEvtHandler* getMainThreadEventHandler(); + /** + * @brief Handles showing of error messages. + * @param title Title of the error message. + * @param message Text of the error message. + */ static void showError(const std::string& title, const std::string& message); + /** + * @brief Set status message. + * @param message Text of status message. + */ static void showStatus(const std::string& message); + /** + * @brief Shows message that round has finished and current scores of players at the end of a round. + * @param oldGameState Game state of last round. + * @param newGameState Updated game state of new round. + */ static void showNewRoundMessage(game_state* oldGameState, game_state* newGameState); + /** + * @brief Shows message at the end of each trick stating which player won the trick. + * @param winner Winner of the trick. + */ static void showTrickOverMessage(const player* winner); + /** + * @brief Shows message at the end of the game that the game has ended and states the winner. + */ static void showGameOverMessage(); private: - static GameWindow* _gameWindow; - static ConnectionPanel* _connectionPanel; - static MainGamePanelWizard* _mainGamePanelWizard; - static TrickEstimationPanel* _trickEstimationPanel; + static GameWindow* _gameWindow; ///< The window which contains all panels shown to the user. + static ConnectionPanel* _connectionPanel; ///< The pannel used to connect to the game. + static MainGamePanelWizard* _mainGamePanelWizard; ///< The main panel used throughout playing the game. + static TrickEstimationPanel* _trickEstimationPanel; ///< The panel used to estimate tricks at the beginning of each round. - static player* _me; - static game_state* _currentGameState; + static player* _me; ///< The player for which the GUI is build. + static game_state* _currentGameState; ///< The state of the game which is currently displayed in the GUI. }; diff --git a/src/client/panels/TrickEstimationPanel.cpp b/src/client/panels/TrickEstimationPanel.cpp index 34cb20d..116fe08 100644 --- a/src/client/panels/TrickEstimationPanel.cpp +++ b/src/client/panels/TrickEstimationPanel.cpp @@ -262,7 +262,7 @@ void TrickEstimationPanel::buildThisPlayer(wxGridBagSizer* sizer, game_state* ga // show button that allows our player to start the game wxButton* submitEstimateButton = new wxButton(mePanel, wxID_ANY, "Submit", wxDefaultPosition, wxSize(80, 32)); submitEstimateButton->Bind(wxEVT_BUTTON, [](wxCommandEvent& event) { - GameController::estimateTrick(); + GameController::processEstimateTricks(); }); mePanelSizer_vert->Add(submitEstimateButton,0,wxALIGN_CENTER); } diff --git a/src/server/game_instance.h b/src/server/game_instance.h index bef5fe6..b4d45ee 100644 --- a/src/server/game_instance.h +++ b/src/server/game_instance.h @@ -1,9 +1,3 @@ -// -// Created by Manuel on 25.01.2021. -// -// The game_instance class is a wrapper around the game_state of an active instance of the game. -// This class contains functions to modify the contained game_state. - #ifndef WIZARD_GAME_H #define WIZARD_GAME_H @@ -14,33 +8,100 @@ #include "../common/game_state/player/player.h" #include "../common/game_state/game_state.h" +/** + * @class game_instance + * @brief Class that modifies game state based on content received from client. + * The game instance functionalities are called by the request handler via the game instance manager. + * It handles the final step of interacting with the game instance (and the actual game logic). + */ class game_instance { private: - game_state* _game_state; - inline static std::mutex modification_lock; + game_state* _game_state; ///< Game state that is modified. + inline static std::mutex modification_lock; ///< Mutex which makes sure that game state is only modified by one player at a time. public: + /** + * @brief Constructs a new game instance object. + */ game_instance(); + /** + * @brief Destructs game instance object + */ ~game_instance() { if (_game_state != nullptr) { delete _game_state; } _game_state = nullptr; } - std::string get_id(); + /** + * @brief Accessor of game instance id. + * @return id of game instance + */ + std::string get_id(); + /** + * @brief Accessor of current game state. + * @return Current game state. + */ game_state* get_game_state(); + /** + * @brief Checks whether game is already full. + * The game is full if 6 players have joined already. + * @return Boolean which states whether game is full. + */ bool is_full(); + /** + * @brief Checks whether game is started. + * @return Boolean that states whether game is started. + */ bool is_started(); + /** + * @brief Checks whether game is finished. + * @return Boolean that states whether game is finished. + */ bool is_finished(); // game update functions + /** + * @brief Attempts to start the game. + * @param player Player who started the game. + * @param err Contains error message if something goes wrong while starting the game. + * @return Boolean that states whether game could be started successfully + */ bool start_game(player* player, std::string& err); + /** + * @brief Attempts to add player to the game. + * @param new_player Pointer to player that wants to join the game. + * @param err Contains error message that possibly states what went wrong while joining the game. + * @return Boolean which states whether player could successfully join the game. + */ bool try_add_player(player* new_player, std::string& err); + /** + * @brief Attempts to remove player from the game. + * If the game hasn't started yet, the player can be easily removed from the game. + * If the game has already started it is finished immediately. + * @param player Pointer to player that leaves the game. + * @param err Error message which states if the reason why the player couldn't leave the game if something went wrong. + * @return Boolean which states whether the player successfully left the game. + */ bool try_remove_player(player* player, std::string& err); + /** + * @brief Attempts to play a card. + * @param player Pointer to player who plays the card. + * @param card_id Id of the card. + * @param err Error message which contains possible errors. + * @return Boolean which states whether card could be played successfully. + */ bool play_card(player* player, const std::string& card_id, std::string& err); + /** + * @brief Attempts to estimate tricks. + * @param player Pointer to player who estimates tricks. + * @param err Error message which contains possible errors. + * @param nof_tricks Predicted number of tricks to win. + * @return Boolean which states whether trick estimation was successful. + */ bool estimate_tricks(player *player, std::string& err, int nof_tricks); }; -- GitLab From d4d81d7d293806ea901b45d1dc6d8668f2ea44d8 Mon Sep 17 00:00:00 2001 From: marie3003 <marie.viktoria.becker@gmail.com> Date: Fri, 13 Dec 2024 15:48:58 +0100 Subject: [PATCH 2/3] generate html files --- html/_game_controller_8h_source.html | 92 ++--- html/annotated.html | 4 +- html/class_game_controller-members.html | 28 +- html/class_game_controller.html | 362 ++++++++++++++++++-- html/classgame__instance-members.html | 24 +- html/classgame__instance.html | 323 +++++++++++++++-- html/classtrick-members.html | 31 +- html/classtrick.html | 32 ++ html/doxygen_crawl.html | 29 ++ html/functions.html | 37 +- html/functions_func.html | 37 +- html/game__instance_8h_source.html | 95 ++--- html/game__instance__manager_8h_source.html | 2 +- html/hierarchy.html | 4 +- html/index.html | 10 +- html/menudata.js | 2 + html/search/all_12.js | 10 +- html/search/all_14.js | 16 +- html/search/all_15.js | 4 +- html/search/all_16.js | 3 +- html/search/all_18.js | 9 +- html/search/all_6.js | 3 +- html/search/all_8.js | 5 +- html/search/all_a.js | 46 +-- html/search/all_c.js | 19 +- html/search/all_e.js | 3 +- html/search/functions_1.js | 3 +- html/search/functions_3.js | 3 +- html/search/functions_5.js | 55 +-- html/search/functions_7.js | 13 +- html/search/functions_8.js | 3 +- html/search/functions_9.js | 6 +- html/search/functions_a.js | 11 +- html/search/functions_b.js | 17 +- html/search/functions_c.js | 5 +- html/search/functions_d.js | 5 +- html/search/functions_e.js | 9 +- html/search/functions_f.js | 19 +- html/search/searchdata.js | 2 +- html/trick_8h_source.html | 55 +-- 40 files changed, 1100 insertions(+), 336 deletions(-) diff --git a/html/_game_controller_8h_source.html b/html/_game_controller_8h_source.html index e30a266..79c7757 100644 --- a/html/_game_controller_8h_source.html +++ b/html/_game_controller_8h_source.html @@ -99,48 +99,60 @@ $(function(){ initResizable(false); }); <div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include "panels/ConnectionPanel.h"</span></div> <div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include "panels/MainGamePanelWizard.h"</span></div> <div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#include "panels/TrickEstimationPanel.h"</span></div> -<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#include "network/ResponseListenerThread.h"</span></div> -<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include "../common/game_state/game_state.h"</span></div> -<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> </div> -<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment">// TODO: include decide_trump_request</span></div> -<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> </div> -<div class="foldopen" id="foldopen00013" data-start="{" data-end="};"> -<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"><a class="line" href="class_game_controller.html"> 13</a></span><span class="keyword">class </span><a class="code hl_class" href="class_game_controller.html">GameController</a> {</div> -<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div> -<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="keyword">public</span>:</div> -<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> <span class="keyword">static</span> <span class="keywordtype">void</span> init(<a class="code hl_class" href="class_game_window.html">GameWindow</a>* gameWindow);</div> -<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> </div> -<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> <span class="keyword">static</span> <span class="keywordtype">void</span> connectToServer();</div> -<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> <span class="keyword">static</span> <span class="keywordtype">void</span> updateGameState(<a class="code hl_class" href="classgame__state.html">game_state</a>* newGameState);</div> -<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> <span class="keyword">static</span> <span class="keywordtype">void</span> startGame();</div> -<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> <span class="keyword">static</span> <span class="keywordtype">void</span> estimateTricks(<span class="keywordtype">int</span> nof_cards);</div> -<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> <span class="keyword">static</span> <span class="keywordtype">void</span> leaveGame();</div> -<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> <span class="keyword">static</span> <span class="keywordtype">void</span> playCard(<a class="code hl_class" href="classcard.html">card</a>* cardToPlay);</div> -<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> <span class="keyword">static</span> <span class="keywordtype">void</span> estimateTrick();</div> -<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div> -<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> <span class="keyword">static</span> wxEvtHandler* getMainThreadEventHandler();</div> -<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <span class="keyword">static</span> <span class="keywordtype">void</span> showError(<span class="keyword">const</span> std::string& title, <span class="keyword">const</span> std::string& message);</div> -<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <span class="keyword">static</span> <span class="keywordtype">void</span> showStatus(<span class="keyword">const</span> std::string& message);</div> -<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <span class="keyword">static</span> <span class="keywordtype">void</span> showNewRoundMessage(<a class="code hl_class" href="classgame__state.html">game_state</a>* oldGameState, <a class="code hl_class" href="classgame__state.html">game_state</a>* newGameState);</div> -<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">static</span> <span class="keywordtype">void</span> showTrickOverMessage();</div> -<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="keyword">static</span> <span class="keywordtype">void</span> showGameOverMessage();</div> -<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div> -<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="keyword">private</span>:</div> -<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">static</span> <a class="code hl_class" href="class_game_window.html">GameWindow</a>* _gameWindow;</div> -<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">static</span> <a class="code hl_class" href="class_connection_panel.html">ConnectionPanel</a>* _connectionPanel;</div> -<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keyword">static</span> <a class="code hl_class" href="class_main_game_panel_wizard.html">MainGamePanelWizard</a>* _mainGamePanelWizard;</div> -<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">static</span> <a class="code hl_class" href="class_trick_estimation_panel.html">TrickEstimationPanel</a>* _trickEstimationPanel;</div> -<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div> -<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">static</span> <a class="code hl_class" href="classplayer.html">player</a>* _me;</div> -<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">static</span> <a class="code hl_class" href="classgame__state.html">game_state</a>* _currentGameState;</div> -<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> </div> -<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span>};</div> +<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#include "../common/game_state/game_state.h"</span></div> +<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> </div> +<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment">// TODO: include decide_trump_request</span></div> +<div class="foldopen" id="foldopen00020" data-start="{" data-end="};"> +<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"><a class="line" href="class_game_controller.html"> 20</a></span><span class="keyword">class </span><a class="code hl_class" href="class_game_controller.html">GameController</a> {</div> +<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div> +<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="keyword">public</span>:</div> +<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_game_controller.html#a8889bad76bc35487d3391fb8a5791616">init</a>(<a class="code hl_class" href="class_game_window.html">GameWindow</a>* gameWindow);</div> +<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div> +<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_game_controller.html#a023da21da545374ee46fb873149976c4">connectToServer</a>();</div> +<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_game_controller.html#a994773f79be8c9e8dc8c19ee2d389103">updateGameState</a>(<a class="code hl_class" href="classgame__state.html">game_state</a>* newGameState);</div> +<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_game_controller.html#a8f30ab3ff471ac0a5c8b88dc7fea45f4">startGame</a>();</div> +<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_game_controller.html#a8d42b2e41759bfd65cdebad87437369e">leaveGame</a>();</div> +<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_game_controller.html#a5f1023f2029e5dbb25b795a0606e06a9">processEstimateTricks</a>();</div> +<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_game_controller.html#abd110563d0f37f06096176c199d22055">estimateTricks</a>(<span class="keywordtype">int</span> nof_tricks);</div> +<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_game_controller.html#a87b164e2094901861e5b47056634facc">playCard</a>(<a class="code hl_class" href="classcard.html">card</a>* cardToPlay);</div> +<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> </div> +<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keyword">static</span> wxEvtHandler* <a class="code hl_function" href="class_game_controller.html#abec8c73ea01e4b7e01b2ca1d932e0c16">getMainThreadEventHandler</a>();</div> +<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_game_controller.html#adf043f9026a62f634a873c9f9d292034">showError</a>(<span class="keyword">const</span> std::string& title, <span class="keyword">const</span> std::string& message);</div> +<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_game_controller.html#a6a43eb061a9882b3937fc88bb4794324">showStatus</a>(<span class="keyword">const</span> std::string& message);</div> +<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_game_controller.html#a3c350056b82df662c946cb9119f11ced">showNewRoundMessage</a>(<a class="code hl_class" href="classgame__state.html">game_state</a>* oldGameState, <a class="code hl_class" href="classgame__state.html">game_state</a>* newGameState);</div> +<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_game_controller.html#a8108659ad09724318c3a251d93bd5869">showTrickOverMessage</a>(<span class="keyword">const</span> <a class="code hl_class" href="classplayer.html">player</a>* winner);</div> +<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_game_controller.html#abb91c546ab8400c1e2e9f2a2ccc8298f">showGameOverMessage</a>();</div> +<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> </div> +<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="keyword">private</span>:</div> +<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keyword">static</span> <a class="code hl_class" href="class_game_window.html">GameWindow</a>* _gameWindow; </div> +<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keyword">static</span> <a class="code hl_class" href="class_connection_panel.html">ConnectionPanel</a>* _connectionPanel; </div> +<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <span class="keyword">static</span> <a class="code hl_class" href="class_main_game_panel_wizard.html">MainGamePanelWizard</a>* _mainGamePanelWizard; </div> +<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keyword">static</span> <a class="code hl_class" href="class_trick_estimation_panel.html">TrickEstimationPanel</a>* _trickEstimationPanel; </div> +<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> </div> +<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">static</span> <a class="code hl_class" href="classplayer.html">player</a>* _me; </div> +<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="keyword">static</span> <a class="code hl_class" href="classgame__state.html">game_state</a>* _currentGameState; </div> +<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> </div> +<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span>};</div> </div> -<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> </div> -<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> </div> -<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="preprocessor">#endif </span><span class="comment">//WIZARDUI_GAMECONTROLLER_H</span></div> +<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> </div> +<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> </div> +<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span><span class="preprocessor">#endif </span><span class="comment">//WIZARDUI_GAMECONTROLLER_H</span></div> <div class="ttc" id="aclass_connection_panel_html"><div class="ttname"><a href="class_connection_panel.html">ConnectionPanel</a></div><div class="ttdef"><b>Definition</b> ConnectionPanel.h:8</div></div> -<div class="ttc" id="aclass_game_controller_html"><div class="ttname"><a href="class_game_controller.html">GameController</a></div><div class="ttdef"><b>Definition</b> GameController.h:13</div></div> +<div class="ttc" id="aclass_game_controller_html"><div class="ttname"><a href="class_game_controller.html">GameController</a></div><div class="ttdoc">Controls visualization of the game state and processes client actions.</div><div class="ttdef"><b>Definition</b> GameController.h:20</div></div> +<div class="ttc" id="aclass_game_controller_html_a023da21da545374ee46fb873149976c4"><div class="ttname"><a href="class_game_controller.html#a023da21da545374ee46fb873149976c4">GameController::connectToServer</a></div><div class="ttdeci">static void connectToServer()</div><div class="ttdoc">Handles connection to server when a user joins a game.</div><div class="ttdef"><b>Definition</b> GameController.cpp:46</div></div> +<div class="ttc" id="aclass_game_controller_html_a3c350056b82df662c946cb9119f11ced"><div class="ttname"><a href="class_game_controller.html#a3c350056b82df662c946cb9119f11ced">GameController::showNewRoundMessage</a></div><div class="ttdeci">static void showNewRoundMessage(game_state *oldGameState, game_state *newGameState)</div><div class="ttdoc">Shows message that round has finished and current scores of players at the end of a round.</div><div class="ttdef"><b>Definition</b> GameController.cpp:212</div></div> +<div class="ttc" id="aclass_game_controller_html_a5f1023f2029e5dbb25b795a0606e06a9"><div class="ttname"><a href="class_game_controller.html#a5f1023f2029e5dbb25b795a0606e06a9">GameController::processEstimateTricks</a></div><div class="ttdeci">static void processEstimateTricks()</div><div class="ttdoc">Process input from trick estimation panel and trigger estimateTricks function.</div><div class="ttdef"><b>Definition</b> GameController.cpp:168</div></div> +<div class="ttc" id="aclass_game_controller_html_a6a43eb061a9882b3937fc88bb4794324"><div class="ttname"><a href="class_game_controller.html#a6a43eb061a9882b3937fc88bb4794324">GameController::showStatus</a></div><div class="ttdeci">static void showStatus(const std::string &message)</div><div class="ttdoc">Set status message.</div><div class="ttdef"><b>Definition</b> GameController.cpp:207</div></div> +<div class="ttc" id="aclass_game_controller_html_a8108659ad09724318c3a251d93bd5869"><div class="ttname"><a href="class_game_controller.html#a8108659ad09724318c3a251d93bd5869">GameController::showTrickOverMessage</a></div><div class="ttdeci">static void showTrickOverMessage(const player *winner)</div><div class="ttdoc">Shows message at the end of each trick stating which player won the trick.</div><div class="ttdef"><b>Definition</b> GameController.cpp:245</div></div> +<div class="ttc" id="aclass_game_controller_html_a87b164e2094901861e5b47056634facc"><div class="ttname"><a href="class_game_controller.html#a87b164e2094901861e5b47056634facc">GameController::playCard</a></div><div class="ttdeci">static void playCard(card *cardToPlay)</div><div class="ttdoc">Send out 'play card' request to server.</div><div class="ttdef"><b>Definition</b> GameController.cpp:156</div></div> +<div class="ttc" id="aclass_game_controller_html_a8889bad76bc35487d3391fb8a5791616"><div class="ttname"><a href="class_game_controller.html#a8889bad76bc35487d3391fb8a5791616">GameController::init</a></div><div class="ttdeci">static void init(GameWindow *gameWindow)</div><div class="ttdoc">Initializes game window when a new Wizard-client is started.</div><div class="ttdef"><b>Definition</b> GameController.cpp:23</div></div> +<div class="ttc" id="aclass_game_controller_html_a8d42b2e41759bfd65cdebad87437369e"><div class="ttname"><a href="class_game_controller.html#a8d42b2e41759bfd65cdebad87437369e">GameController::leaveGame</a></div><div class="ttdeci">static void leaveGame()</div><div class="ttdoc">Send out 'leave game' request to server.</div><div class="ttdef"><b>Definition</b> GameController.cpp:161</div></div> +<div class="ttc" id="aclass_game_controller_html_a8f30ab3ff471ac0a5c8b88dc7fea45f4"><div class="ttname"><a href="class_game_controller.html#a8f30ab3ff471ac0a5c8b88dc7fea45f4">GameController::startGame</a></div><div class="ttdeci">static void startGame()</div><div class="ttdoc">Send out 'start game' request to server.</div><div class="ttdef"><b>Definition</b> GameController.cpp:146</div></div> +<div class="ttc" id="aclass_game_controller_html_a994773f79be8c9e8dc8c19ee2d389103"><div class="ttname"><a href="class_game_controller.html#a994773f79be8c9e8dc8c19ee2d389103">GameController::updateGameState</a></div><div class="ttdeci">static void updateGameState(game_state *newGameState)</div><div class="ttdoc">Updates game state whenever any player interacted with the server based on parameters of current game...</div><div class="ttdef"><b>Definition</b> GameController.cpp:92</div></div> +<div class="ttc" id="aclass_game_controller_html_abb91c546ab8400c1e2e9f2a2ccc8298f"><div class="ttname"><a href="class_game_controller.html#abb91c546ab8400c1e2e9f2a2ccc8298f">GameController::showGameOverMessage</a></div><div class="ttdeci">static void showGameOverMessage()</div><div class="ttdoc">Shows message at the end of the game that the game has ended and states the winner.</div><div class="ttdef"><b>Definition</b> GameController.cpp:256</div></div> +<div class="ttc" id="aclass_game_controller_html_abd110563d0f37f06096176c199d22055"><div class="ttname"><a href="class_game_controller.html#abd110563d0f37f06096176c199d22055">GameController::estimateTricks</a></div><div class="ttdeci">static void estimateTricks(int nof_tricks)</div><div class="ttdoc">Send out 'estimate tricks' request to server.</div><div class="ttdef"><b>Definition</b> GameController.cpp:151</div></div> +<div class="ttc" id="aclass_game_controller_html_abec8c73ea01e4b7e01b2ca1d932e0c16"><div class="ttname"><a href="class_game_controller.html#abec8c73ea01e4b7e01b2ca1d932e0c16">GameController::getMainThreadEventHandler</a></div><div class="ttdeci">static wxEvtHandler * getMainThreadEventHandler()</div><div class="ttdoc">Finds event handler for main thread.</div><div class="ttdef"><b>Definition</b> GameController.cpp:191</div></div> +<div class="ttc" id="aclass_game_controller_html_adf043f9026a62f634a873c9f9d292034"><div class="ttname"><a href="class_game_controller.html#adf043f9026a62f634a873c9f9d292034">GameController::showError</a></div><div class="ttdeci">static void showError(const std::string &title, const std::string &message)</div><div class="ttdoc">Handles showing of error messages.</div><div class="ttdef"><b>Definition</b> GameController.cpp:196</div></div> <div class="ttc" id="aclass_game_window_html"><div class="ttname"><a href="class_game_window.html">GameWindow</a></div><div class="ttdef"><b>Definition</b> GameWindow.h:8</div></div> <div class="ttc" id="aclass_main_game_panel_wizard_html"><div class="ttname"><a href="class_main_game_panel_wizard.html">MainGamePanelWizard</a></div><div class="ttdef"><b>Definition</b> MainGamePanelWizard.h:8</div></div> <div class="ttc" id="aclass_trick_estimation_panel_html"><div class="ttname"><a href="class_trick_estimation_panel.html">TrickEstimationPanel</a></div><div class="ttdef"><b>Definition</b> TrickEstimationPanel.h:13</div></div> diff --git a/html/annotated.html b/html/annotated.html index 6682dd8..3d78112 100644 --- a/html/annotated.html +++ b/html/annotated.html @@ -102,10 +102,10 @@ $(function(){ initResizable(false); }); <tr id="row_7_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_error_dialog.html" target="_self">ErrorDialog</a></td><td class="desc"></td></tr> <tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classestimate__tricks__request.html" target="_self">estimate_tricks_request</a></td><td class="desc"></td></tr> <tr id="row_9_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classfull__state__response.html" target="_self">full_state_response</a></td><td class="desc"></td></tr> -<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classgame__instance.html" target="_self">game_instance</a></td><td class="desc"></td></tr> +<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classgame__instance.html" target="_self">game_instance</a></td><td class="desc">Class that modifies game state based on content received from client. The game instance functionalities are called by the request handler via the game instance manager. It handles the final step of interacting with the game instance (and the actual game logic) </td></tr> <tr id="row_11_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classgame__instance__manager.html" target="_self">game_instance_manager</a></td><td class="desc"></td></tr> <tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classgame__state.html" target="_self">game_state</a></td><td class="desc">Represents the state of the game </td></tr> -<tr id="row_13_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_game_controller.html" target="_self">GameController</a></td><td class="desc"></td></tr> +<tr id="row_13_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_game_controller.html" target="_self">GameController</a></td><td class="desc">Controls visualization of the game state and processes client actions </td></tr> <tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_game_window.html" target="_self">GameWindow</a></td><td class="desc"></td></tr> <tr id="row_15_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classhand.html" target="_self">hand</a></td><td class="desc">Represents a player's hand in the game </td></tr> <tr id="row_16_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_image_panel.html" target="_self">ImagePanel</a></td><td class="desc"></td></tr> diff --git a/html/class_game_controller-members.html b/html/class_game_controller-members.html index 37a2f25..e4c1ac0 100644 --- a/html/class_game_controller-members.html +++ b/html/class_game_controller-members.html @@ -91,20 +91,20 @@ $(function(){ initResizable(false); }); <p>This is the complete list of members for <a class="el" href="class_game_controller.html">GameController</a>, including all inherited members.</p> <table class="directory"> - <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>connectToServer</b>() (defined in <a class="el" href="class_game_controller.html">GameController</a>)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>estimateTrick</b>() (defined in <a class="el" href="class_game_controller.html">GameController</a>)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>estimateTricks</b>(int nof_cards) (defined in <a class="el" href="class_game_controller.html">GameController</a>)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>getMainThreadEventHandler</b>() (defined in <a class="el" href="class_game_controller.html">GameController</a>)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>init</b>(GameWindow *gameWindow) (defined in <a class="el" href="class_game_controller.html">GameController</a>)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>leaveGame</b>() (defined in <a class="el" href="class_game_controller.html">GameController</a>)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>playCard</b>(card *cardToPlay) (defined in <a class="el" href="class_game_controller.html">GameController</a>)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>showError</b>(const std::string &title, const std::string &message) (defined in <a class="el" href="class_game_controller.html">GameController</a>)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showGameOverMessage</b>() (defined in <a class="el" href="class_game_controller.html">GameController</a>)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>showNewRoundMessage</b>(game_state *oldGameState, game_state *newGameState) (defined in <a class="el" href="class_game_controller.html">GameController</a>)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showStatus</b>(const std::string &message) (defined in <a class="el" href="class_game_controller.html">GameController</a>)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>showTrickOverMessage</b>() (defined in <a class="el" href="class_game_controller.html">GameController</a>)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>startGame</b>() (defined in <a class="el" href="class_game_controller.html">GameController</a>)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>updateGameState</b>(game_state *newGameState) (defined in <a class="el" href="class_game_controller.html">GameController</a>)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="class_game_controller.html#a023da21da545374ee46fb873149976c4">connectToServer</a>()</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="class_game_controller.html#abd110563d0f37f06096176c199d22055">estimateTricks</a>(int nof_tricks)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="class_game_controller.html#abec8c73ea01e4b7e01b2ca1d932e0c16">getMainThreadEventHandler</a>()</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="class_game_controller.html#a8889bad76bc35487d3391fb8a5791616">init</a>(GameWindow *gameWindow)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="class_game_controller.html#a8d42b2e41759bfd65cdebad87437369e">leaveGame</a>()</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="class_game_controller.html#a87b164e2094901861e5b47056634facc">playCard</a>(card *cardToPlay)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="class_game_controller.html#a5f1023f2029e5dbb25b795a0606e06a9">processEstimateTricks</a>()</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="class_game_controller.html#adf043f9026a62f634a873c9f9d292034">showError</a>(const std::string &title, const std::string &message)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="class_game_controller.html#abb91c546ab8400c1e2e9f2a2ccc8298f">showGameOverMessage</a>()</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="class_game_controller.html#a3c350056b82df662c946cb9119f11ced">showNewRoundMessage</a>(game_state *oldGameState, game_state *newGameState)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="class_game_controller.html#a6a43eb061a9882b3937fc88bb4794324">showStatus</a>(const std::string &message)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="class_game_controller.html#a8108659ad09724318c3a251d93bd5869">showTrickOverMessage</a>(const player *winner)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="class_game_controller.html#a8f30ab3ff471ac0a5c8b88dc7fea45f4">startGame</a>()</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="class_game_controller.html#a994773f79be8c9e8dc8c19ee2d389103">updateGameState</a>(game_state *newGameState)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> </table></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> diff --git a/html/class_game_controller.html b/html/class_game_controller.html index 51fd147..3e550c0 100644 --- a/html/class_game_controller.html +++ b/html/class_game_controller.html @@ -91,52 +91,368 @@ $(function(){ initResizable(false); }); <div class="headertitle"><div class="title">GameController Class Reference</div></div> </div><!--header--> <div class="contents"> + +<p>Controls visualization of the game state and processes client actions. + <a href="#details">More...</a></p> + +<p><code>#include <<a class="el" href="_game_controller_8h_source.html">GameController.h</a>></code></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a> Static Public Member Functions</h2></td></tr> -<tr class="memitem:a8889bad76bc35487d3391fb8a5791616" id="r_a8889bad76bc35487d3391fb8a5791616"><td class="memItemLeft" align="right" valign="top"><a id="a8889bad76bc35487d3391fb8a5791616" name="a8889bad76bc35487d3391fb8a5791616"></a> -static void </td><td class="memItemRight" valign="bottom"><b>init</b> (<a class="el" href="class_game_window.html">GameWindow</a> *gameWindow)</td></tr> +<tr class="memitem:a8889bad76bc35487d3391fb8a5791616" id="r_a8889bad76bc35487d3391fb8a5791616"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a8889bad76bc35487d3391fb8a5791616">init</a> (<a class="el" href="class_game_window.html">GameWindow</a> *gameWindow)</td></tr> +<tr class="memdesc:a8889bad76bc35487d3391fb8a5791616"><td class="mdescLeft"> </td><td class="mdescRight">Initializes game window when a new Wizard-client is started. <br /></td></tr> <tr class="separator:a8889bad76bc35487d3391fb8a5791616"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a023da21da545374ee46fb873149976c4" id="r_a023da21da545374ee46fb873149976c4"><td class="memItemLeft" align="right" valign="top"><a id="a023da21da545374ee46fb873149976c4" name="a023da21da545374ee46fb873149976c4"></a> static void </td><td class="memItemRight" valign="bottom"><b>connectToServer</b> ()</td></tr> +<tr class="memdesc:a023da21da545374ee46fb873149976c4"><td class="mdescLeft"> </td><td class="mdescRight">Handles connection to server when a user joins a game. <br /></td></tr> <tr class="separator:a023da21da545374ee46fb873149976c4"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a994773f79be8c9e8dc8c19ee2d389103" id="r_a994773f79be8c9e8dc8c19ee2d389103"><td class="memItemLeft" align="right" valign="top"><a id="a994773f79be8c9e8dc8c19ee2d389103" name="a994773f79be8c9e8dc8c19ee2d389103"></a> -static void </td><td class="memItemRight" valign="bottom"><b>updateGameState</b> (<a class="el" href="classgame__state.html">game_state</a> *newGameState)</td></tr> +<tr class="memitem:a994773f79be8c9e8dc8c19ee2d389103" id="r_a994773f79be8c9e8dc8c19ee2d389103"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a994773f79be8c9e8dc8c19ee2d389103">updateGameState</a> (<a class="el" href="classgame__state.html">game_state</a> *newGameState)</td></tr> +<tr class="memdesc:a994773f79be8c9e8dc8c19ee2d389103"><td class="mdescLeft"> </td><td class="mdescRight">Updates game state whenever any player interacted with the server based on parameters of current game state. <br /></td></tr> <tr class="separator:a994773f79be8c9e8dc8c19ee2d389103"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8f30ab3ff471ac0a5c8b88dc7fea45f4" id="r_a8f30ab3ff471ac0a5c8b88dc7fea45f4"><td class="memItemLeft" align="right" valign="top"><a id="a8f30ab3ff471ac0a5c8b88dc7fea45f4" name="a8f30ab3ff471ac0a5c8b88dc7fea45f4"></a> static void </td><td class="memItemRight" valign="bottom"><b>startGame</b> ()</td></tr> +<tr class="memdesc:a8f30ab3ff471ac0a5c8b88dc7fea45f4"><td class="mdescLeft"> </td><td class="mdescRight">Send out 'start game' request to server. <br /></td></tr> <tr class="separator:a8f30ab3ff471ac0a5c8b88dc7fea45f4"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a987fed0a0d9158efd69428b87b9132e9" id="r_a987fed0a0d9158efd69428b87b9132e9"><td class="memItemLeft" align="right" valign="top"><a id="a987fed0a0d9158efd69428b87b9132e9" name="a987fed0a0d9158efd69428b87b9132e9"></a> -static void </td><td class="memItemRight" valign="bottom"><b>estimateTricks</b> (int nof_cards)</td></tr> -<tr class="separator:a987fed0a0d9158efd69428b87b9132e9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8d42b2e41759bfd65cdebad87437369e" id="r_a8d42b2e41759bfd65cdebad87437369e"><td class="memItemLeft" align="right" valign="top"><a id="a8d42b2e41759bfd65cdebad87437369e" name="a8d42b2e41759bfd65cdebad87437369e"></a> static void </td><td class="memItemRight" valign="bottom"><b>leaveGame</b> ()</td></tr> +<tr class="memdesc:a8d42b2e41759bfd65cdebad87437369e"><td class="mdescLeft"> </td><td class="mdescRight">Send out 'leave game' request to server. <br /></td></tr> <tr class="separator:a8d42b2e41759bfd65cdebad87437369e"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a87b164e2094901861e5b47056634facc" id="r_a87b164e2094901861e5b47056634facc"><td class="memItemLeft" align="right" valign="top"><a id="a87b164e2094901861e5b47056634facc" name="a87b164e2094901861e5b47056634facc"></a> -static void </td><td class="memItemRight" valign="bottom"><b>playCard</b> (<a class="el" href="classcard.html">card</a> *cardToPlay)</td></tr> +<tr class="memitem:a5f1023f2029e5dbb25b795a0606e06a9" id="r_a5f1023f2029e5dbb25b795a0606e06a9"><td class="memItemLeft" align="right" valign="top"><a id="a5f1023f2029e5dbb25b795a0606e06a9" name="a5f1023f2029e5dbb25b795a0606e06a9"></a> +static void </td><td class="memItemRight" valign="bottom"><b>processEstimateTricks</b> ()</td></tr> +<tr class="memdesc:a5f1023f2029e5dbb25b795a0606e06a9"><td class="mdescLeft"> </td><td class="mdescRight">Process input from trick estimation panel and trigger estimateTricks function. <br /></td></tr> +<tr class="separator:a5f1023f2029e5dbb25b795a0606e06a9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:abd110563d0f37f06096176c199d22055" id="r_abd110563d0f37f06096176c199d22055"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="#abd110563d0f37f06096176c199d22055">estimateTricks</a> (int nof_tricks)</td></tr> +<tr class="memdesc:abd110563d0f37f06096176c199d22055"><td class="mdescLeft"> </td><td class="mdescRight">Send out 'estimate tricks' request to server. <br /></td></tr> +<tr class="separator:abd110563d0f37f06096176c199d22055"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a87b164e2094901861e5b47056634facc" id="r_a87b164e2094901861e5b47056634facc"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a87b164e2094901861e5b47056634facc">playCard</a> (<a class="el" href="classcard.html">card</a> *cardToPlay)</td></tr> +<tr class="memdesc:a87b164e2094901861e5b47056634facc"><td class="mdescLeft"> </td><td class="mdescRight">Send out 'play card' request to server. <br /></td></tr> <tr class="separator:a87b164e2094901861e5b47056634facc"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:aaabc13bc223e6c5760a96885843bf1a9" id="r_aaabc13bc223e6c5760a96885843bf1a9"><td class="memItemLeft" align="right" valign="top"><a id="aaabc13bc223e6c5760a96885843bf1a9" name="aaabc13bc223e6c5760a96885843bf1a9"></a> -static void </td><td class="memItemRight" valign="bottom"><b>estimateTrick</b> ()</td></tr> -<tr class="separator:aaabc13bc223e6c5760a96885843bf1a9"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:abec8c73ea01e4b7e01b2ca1d932e0c16" id="r_abec8c73ea01e4b7e01b2ca1d932e0c16"><td class="memItemLeft" align="right" valign="top"><a id="abec8c73ea01e4b7e01b2ca1d932e0c16" name="abec8c73ea01e4b7e01b2ca1d932e0c16"></a> -static wxEvtHandler * </td><td class="memItemRight" valign="bottom"><b>getMainThreadEventHandler</b> ()</td></tr> +<tr class="memitem:abec8c73ea01e4b7e01b2ca1d932e0c16" id="r_abec8c73ea01e4b7e01b2ca1d932e0c16"><td class="memItemLeft" align="right" valign="top">static wxEvtHandler * </td><td class="memItemRight" valign="bottom"><a class="el" href="#abec8c73ea01e4b7e01b2ca1d932e0c16">getMainThreadEventHandler</a> ()</td></tr> +<tr class="memdesc:abec8c73ea01e4b7e01b2ca1d932e0c16"><td class="mdescLeft"> </td><td class="mdescRight">Finds event handler for main thread. <br /></td></tr> <tr class="separator:abec8c73ea01e4b7e01b2ca1d932e0c16"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:adf043f9026a62f634a873c9f9d292034" id="r_adf043f9026a62f634a873c9f9d292034"><td class="memItemLeft" align="right" valign="top"><a id="adf043f9026a62f634a873c9f9d292034" name="adf043f9026a62f634a873c9f9d292034"></a> -static void </td><td class="memItemRight" valign="bottom"><b>showError</b> (const std::string &title, const std::string &message)</td></tr> +<tr class="memitem:adf043f9026a62f634a873c9f9d292034" id="r_adf043f9026a62f634a873c9f9d292034"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="#adf043f9026a62f634a873c9f9d292034">showError</a> (const std::string &title, const std::string &message)</td></tr> +<tr class="memdesc:adf043f9026a62f634a873c9f9d292034"><td class="mdescLeft"> </td><td class="mdescRight">Handles showing of error messages. <br /></td></tr> <tr class="separator:adf043f9026a62f634a873c9f9d292034"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a6a43eb061a9882b3937fc88bb4794324" id="r_a6a43eb061a9882b3937fc88bb4794324"><td class="memItemLeft" align="right" valign="top"><a id="a6a43eb061a9882b3937fc88bb4794324" name="a6a43eb061a9882b3937fc88bb4794324"></a> -static void </td><td class="memItemRight" valign="bottom"><b>showStatus</b> (const std::string &message)</td></tr> +<tr class="memitem:a6a43eb061a9882b3937fc88bb4794324" id="r_a6a43eb061a9882b3937fc88bb4794324"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a6a43eb061a9882b3937fc88bb4794324">showStatus</a> (const std::string &message)</td></tr> +<tr class="memdesc:a6a43eb061a9882b3937fc88bb4794324"><td class="mdescLeft"> </td><td class="mdescRight">Set status message. <br /></td></tr> <tr class="separator:a6a43eb061a9882b3937fc88bb4794324"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a3c350056b82df662c946cb9119f11ced" id="r_a3c350056b82df662c946cb9119f11ced"><td class="memItemLeft" align="right" valign="top"><a id="a3c350056b82df662c946cb9119f11ced" name="a3c350056b82df662c946cb9119f11ced"></a> -static void </td><td class="memItemRight" valign="bottom"><b>showNewRoundMessage</b> (<a class="el" href="classgame__state.html">game_state</a> *oldGameState, <a class="el" href="classgame__state.html">game_state</a> *newGameState)</td></tr> +<tr class="memitem:a3c350056b82df662c946cb9119f11ced" id="r_a3c350056b82df662c946cb9119f11ced"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a3c350056b82df662c946cb9119f11ced">showNewRoundMessage</a> (<a class="el" href="classgame__state.html">game_state</a> *oldGameState, <a class="el" href="classgame__state.html">game_state</a> *newGameState)</td></tr> +<tr class="memdesc:a3c350056b82df662c946cb9119f11ced"><td class="mdescLeft"> </td><td class="mdescRight">Shows message that round has finished and current scores of players at the end of a round. <br /></td></tr> <tr class="separator:a3c350056b82df662c946cb9119f11ced"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a43165cb5f259a99e9fa74a7250d05397" id="r_a43165cb5f259a99e9fa74a7250d05397"><td class="memItemLeft" align="right" valign="top"><a id="a43165cb5f259a99e9fa74a7250d05397" name="a43165cb5f259a99e9fa74a7250d05397"></a> -static void </td><td class="memItemRight" valign="bottom"><b>showTrickOverMessage</b> ()</td></tr> -<tr class="separator:a43165cb5f259a99e9fa74a7250d05397"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a8108659ad09724318c3a251d93bd5869" id="r_a8108659ad09724318c3a251d93bd5869"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a8108659ad09724318c3a251d93bd5869">showTrickOverMessage</a> (const <a class="el" href="classplayer.html">player</a> *winner)</td></tr> +<tr class="memdesc:a8108659ad09724318c3a251d93bd5869"><td class="mdescLeft"> </td><td class="mdescRight">Shows message at the end of each trick stating which player won the trick. <br /></td></tr> +<tr class="separator:a8108659ad09724318c3a251d93bd5869"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abb91c546ab8400c1e2e9f2a2ccc8298f" id="r_abb91c546ab8400c1e2e9f2a2ccc8298f"><td class="memItemLeft" align="right" valign="top"><a id="abb91c546ab8400c1e2e9f2a2ccc8298f" name="abb91c546ab8400c1e2e9f2a2ccc8298f"></a> static void </td><td class="memItemRight" valign="bottom"><b>showGameOverMessage</b> ()</td></tr> +<tr class="memdesc:abb91c546ab8400c1e2e9f2a2ccc8298f"><td class="mdescLeft"> </td><td class="mdescRight">Shows message at the end of the game that the game has ended and states the winner. <br /></td></tr> <tr class="separator:abb91c546ab8400c1e2e9f2a2ccc8298f"><td class="memSeparator" colspan="2"> </td></tr> </table> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"><p>Controls visualization of the game state and processes client actions. </p> +<p>This class handles the visualization of the game state a client received. It adapts the visualization based on the parameters found in the game state and reacts to interactions of a user with the GUI by sending out requests via the client network manager to the server. </p> +</div><h2 class="groupheader">Member Function Documentation</h2> +<a id="abd110563d0f37f06096176c199d22055" name="abd110563d0f37f06096176c199d22055"></a> +<h2 class="memtitle"><span class="permalink"><a href="#abd110563d0f37f06096176c199d22055">◆ </a></span>estimateTricks()</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">void GameController::estimateTricks </td> + <td>(</td> + <td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>nof_tricks</em></span></td><td>)</td> + <td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">static</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>Send out 'estimate tricks' request to server. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">nof_tricks</td><td>Number of predicted tricks to win in the next round. </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<a id="abec8c73ea01e4b7e01b2ca1d932e0c16" name="abec8c73ea01e4b7e01b2ca1d932e0c16"></a> +<h2 class="memtitle"><span class="permalink"><a href="#abec8c73ea01e4b7e01b2ca1d932e0c16">◆ </a></span>getMainThreadEventHandler()</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">wxEvtHandler * GameController::getMainThreadEventHandler </td> + <td>(</td> + <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td> + <td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">static</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>Finds event handler for main thread. </p> +<dl class="section return"><dt>Returns</dt><dd>wxwidgets event handler </dd></dl> + +</div> +</div> +<a id="a8889bad76bc35487d3391fb8a5791616" name="a8889bad76bc35487d3391fb8a5791616"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a8889bad76bc35487d3391fb8a5791616">◆ </a></span>init()</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">void GameController::init </td> + <td>(</td> + <td class="paramtype"><a class="el" href="class_game_window.html">GameWindow</a> *</td> <td class="paramname"><span class="paramname"><em>gameWindow</em></span></td><td>)</td> + <td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">static</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>Initializes game window when a new Wizard-client is started. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">gameWindow</td><td>The game window that needs to be initialized </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<a id="a87b164e2094901861e5b47056634facc" name="a87b164e2094901861e5b47056634facc"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a87b164e2094901861e5b47056634facc">◆ </a></span>playCard()</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">void GameController::playCard </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classcard.html">card</a> *</td> <td class="paramname"><span class="paramname"><em>cardToPlay</em></span></td><td>)</td> + <td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">static</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>Send out 'play card' request to server. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">cardToPlay</td><td>Pointer to card that user chooses to play. </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<a id="adf043f9026a62f634a873c9f9d292034" name="adf043f9026a62f634a873c9f9d292034"></a> +<h2 class="memtitle"><span class="permalink"><a href="#adf043f9026a62f634a873c9f9d292034">◆ </a></span>showError()</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">void GameController::showError </td> + <td>(</td> + <td class="paramtype">const std::string &</td> <td class="paramname"><span class="paramname"><em>title</em></span>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const std::string &</td> <td class="paramname"><span class="paramname"><em>message</em></span> )</td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">static</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>Handles showing of error messages. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">title</td><td>Title of the error message. </td></tr> + <tr><td class="paramname">message</td><td>Text of the error message. </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<a id="a3c350056b82df662c946cb9119f11ced" name="a3c350056b82df662c946cb9119f11ced"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a3c350056b82df662c946cb9119f11ced">◆ </a></span>showNewRoundMessage()</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">void GameController::showNewRoundMessage </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classgame__state.html">game_state</a> *</td> <td class="paramname"><span class="paramname"><em>oldGameState</em></span>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="classgame__state.html">game_state</a> *</td> <td class="paramname"><span class="paramname"><em>newGameState</em></span> )</td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">static</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>Shows message that round has finished and current scores of players at the end of a round. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">oldGameState</td><td>Game state of last round. </td></tr> + <tr><td class="paramname">newGameState</td><td>Updated game state of new round. </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<a id="a6a43eb061a9882b3937fc88bb4794324" name="a6a43eb061a9882b3937fc88bb4794324"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a6a43eb061a9882b3937fc88bb4794324">◆ </a></span>showStatus()</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">void GameController::showStatus </td> + <td>(</td> + <td class="paramtype">const std::string &</td> <td class="paramname"><span class="paramname"><em>message</em></span></td><td>)</td> + <td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">static</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>Set status message. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">message</td><td>Text of status message. </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<a id="a8108659ad09724318c3a251d93bd5869" name="a8108659ad09724318c3a251d93bd5869"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a8108659ad09724318c3a251d93bd5869">◆ </a></span>showTrickOverMessage()</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">void GameController::showTrickOverMessage </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="classplayer.html">player</a> *</td> <td class="paramname"><span class="paramname"><em>winner</em></span></td><td>)</td> + <td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">static</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>Shows message at the end of each trick stating which player won the trick. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">winner</td><td>Winner of the trick. </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<a id="a994773f79be8c9e8dc8c19ee2d389103" name="a994773f79be8c9e8dc8c19ee2d389103"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a994773f79be8c9e8dc8c19ee2d389103">◆ </a></span>updateGameState()</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">void GameController::updateGameState </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classgame__state.html">game_state</a> *</td> <td class="paramname"><span class="paramname"><em>newGameState</em></span></td><td>)</td> + <td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">static</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>Updates game state whenever any player interacted with the server based on parameters of current game state. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">newGameState</td><td>The new game state send from the server. </td></tr> + </table> + </dd> +</dl> + +</div> +</div> <hr/>The documentation for this class was generated from the following files:<ul> <li>src/client/<a class="el" href="_game_controller_8h_source.html">GameController.h</a></li> <li>src/client/<b>GameController.cpp</b></li> diff --git a/html/classgame__instance-members.html b/html/classgame__instance-members.html index 99b06c7..8aa7005 100644 --- a/html/classgame__instance-members.html +++ b/html/classgame__instance-members.html @@ -91,18 +91,18 @@ $(function(){ initResizable(false); }); <p>This is the complete list of members for <a class="el" href="classgame__instance.html">game_instance</a>, including all inherited members.</p> <table class="directory"> - <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>estimate_tricks</b>(player *player, std::string &err, int nof_tricks) (defined in <a class="el" href="classgame__instance.html">game_instance</a>)</td><td class="entry"><a class="el" href="classgame__instance.html">game_instance</a></td><td class="entry"></td></tr> - <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>game_instance</b>() (defined in <a class="el" href="classgame__instance.html">game_instance</a>)</td><td class="entry"><a class="el" href="classgame__instance.html">game_instance</a></td><td class="entry"></td></tr> - <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get_game_state</b>() (defined in <a class="el" href="classgame__instance.html">game_instance</a>)</td><td class="entry"><a class="el" href="classgame__instance.html">game_instance</a></td><td class="entry"></td></tr> - <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get_id</b>() (defined in <a class="el" href="classgame__instance.html">game_instance</a>)</td><td class="entry"><a class="el" href="classgame__instance.html">game_instance</a></td><td class="entry"></td></tr> - <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_finished</b>() (defined in <a class="el" href="classgame__instance.html">game_instance</a>)</td><td class="entry"><a class="el" href="classgame__instance.html">game_instance</a></td><td class="entry"></td></tr> - <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>is_full</b>() (defined in <a class="el" href="classgame__instance.html">game_instance</a>)</td><td class="entry"><a class="el" href="classgame__instance.html">game_instance</a></td><td class="entry"></td></tr> - <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_started</b>() (defined in <a class="el" href="classgame__instance.html">game_instance</a>)</td><td class="entry"><a class="el" href="classgame__instance.html">game_instance</a></td><td class="entry"></td></tr> - <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>play_card</b>(player *player, const std::string &card_id, std::string &err) (defined in <a class="el" href="classgame__instance.html">game_instance</a>)</td><td class="entry"><a class="el" href="classgame__instance.html">game_instance</a></td><td class="entry"></td></tr> - <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>start_game</b>(player *player, std::string &err) (defined in <a class="el" href="classgame__instance.html">game_instance</a>)</td><td class="entry"><a class="el" href="classgame__instance.html">game_instance</a></td><td class="entry"></td></tr> - <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>try_add_player</b>(player *new_player, std::string &err) (defined in <a class="el" href="classgame__instance.html">game_instance</a>)</td><td class="entry"><a class="el" href="classgame__instance.html">game_instance</a></td><td class="entry"></td></tr> - <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_remove_player</b>(player *player, std::string &err) (defined in <a class="el" href="classgame__instance.html">game_instance</a>)</td><td class="entry"><a class="el" href="classgame__instance.html">game_instance</a></td><td class="entry"></td></tr> - <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>~game_instance</b>() (defined in <a class="el" href="classgame__instance.html">game_instance</a>)</td><td class="entry"><a class="el" href="classgame__instance.html">game_instance</a></td><td class="entry"><span class="mlabel">inline</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classgame__instance.html#af1434756e3041deca68b4f4f84176f05">estimate_tricks</a>(player *player, std::string &err, int nof_tricks)</td><td class="entry"><a class="el" href="classgame__instance.html">game_instance</a></td><td class="entry"></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="classgame__instance.html#a2b1d00adf8c933a98698f972827e48b9">game_instance</a>()</td><td class="entry"><a class="el" href="classgame__instance.html">game_instance</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classgame__instance.html#a852c73a12031d7fbd2095530df595c5c">get_game_state</a>()</td><td class="entry"><a class="el" href="classgame__instance.html">game_instance</a></td><td class="entry"></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="classgame__instance.html#a72cd93738171ffc856c3d77df5f967da">get_id</a>()</td><td class="entry"><a class="el" href="classgame__instance.html">game_instance</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classgame__instance.html#a5a080dfced3d2d1c697e36160b996a9c">is_finished</a>()</td><td class="entry"><a class="el" href="classgame__instance.html">game_instance</a></td><td class="entry"></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="classgame__instance.html#a77d1f40b8727c74f278efe9168f26831">is_full</a>()</td><td class="entry"><a class="el" href="classgame__instance.html">game_instance</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classgame__instance.html#a2c8a8be71f8c3016075cc08768ebbb64">is_started</a>()</td><td class="entry"><a class="el" href="classgame__instance.html">game_instance</a></td><td class="entry"></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="classgame__instance.html#a1a7e19a4b0907cb0b5f1523edb7e68ca">play_card</a>(player *player, const std::string &card_id, std::string &err)</td><td class="entry"><a class="el" href="classgame__instance.html">game_instance</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classgame__instance.html#aee2eedd24991ce59dbcf2ec4f6cae8ac">start_game</a>(player *player, std::string &err)</td><td class="entry"><a class="el" href="classgame__instance.html">game_instance</a></td><td class="entry"></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="classgame__instance.html#a1176ce8464586487f9ae5676ca900e10">try_add_player</a>(player *new_player, std::string &err)</td><td class="entry"><a class="el" href="classgame__instance.html">game_instance</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classgame__instance.html#a2c6fed45a14273b09a9f202481fa62aa">try_remove_player</a>(player *player, std::string &err)</td><td class="entry"><a class="el" href="classgame__instance.html">game_instance</a></td><td class="entry"></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="classgame__instance.html#a1fa390603341beb15e09e5a4b03465c1">~game_instance</a>()</td><td class="entry"><a class="el" href="classgame__instance.html">game_instance</a></td><td class="entry"><span class="mlabel">inline</span></td></tr> </table></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> diff --git a/html/classgame__instance.html b/html/classgame__instance.html index 5f46b67..11fb8d5 100644 --- a/html/classgame__instance.html +++ b/html/classgame__instance.html @@ -91,40 +91,323 @@ $(function(){ initResizable(false); }); <div class="headertitle"><div class="title">game_instance Class Reference</div></div> </div><!--header--> <div class="contents"> + +<p>Class that modifies game state based on content received from client. The game instance functionalities are called by the request handler via the game instance manager. It handles the final step of interacting with the game instance (and the actual game logic). + <a href="#details">More...</a></p> + +<p><code>#include <<a class="el" href="game__instance_8h_source.html">game_instance.h</a>></code></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a> Public Member Functions</h2></td></tr> -<tr class="memitem:a72cd93738171ffc856c3d77df5f967da" id="r_a72cd93738171ffc856c3d77df5f967da"><td class="memItemLeft" align="right" valign="top"><a id="a72cd93738171ffc856c3d77df5f967da" name="a72cd93738171ffc856c3d77df5f967da"></a> -std::string </td><td class="memItemRight" valign="bottom"><b>get_id</b> ()</td></tr> +<tr class="memitem:a2b1d00adf8c933a98698f972827e48b9" id="r_a2b1d00adf8c933a98698f972827e48b9"><td class="memItemLeft" align="right" valign="top"><a id="a2b1d00adf8c933a98698f972827e48b9" name="a2b1d00adf8c933a98698f972827e48b9"></a> + </td><td class="memItemRight" valign="bottom"><b>game_instance</b> ()</td></tr> +<tr class="memdesc:a2b1d00adf8c933a98698f972827e48b9"><td class="mdescLeft"> </td><td class="mdescRight">Constructs a new game instance object. <br /></td></tr> +<tr class="separator:a2b1d00adf8c933a98698f972827e48b9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a1fa390603341beb15e09e5a4b03465c1" id="r_a1fa390603341beb15e09e5a4b03465c1"><td class="memItemLeft" align="right" valign="top"><a id="a1fa390603341beb15e09e5a4b03465c1" name="a1fa390603341beb15e09e5a4b03465c1"></a> + </td><td class="memItemRight" valign="bottom"><b>~game_instance</b> ()</td></tr> +<tr class="memdesc:a1fa390603341beb15e09e5a4b03465c1"><td class="mdescLeft"> </td><td class="mdescRight">Destructs game instance object. <br /></td></tr> +<tr class="separator:a1fa390603341beb15e09e5a4b03465c1"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a72cd93738171ffc856c3d77df5f967da" id="r_a72cd93738171ffc856c3d77df5f967da"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="#a72cd93738171ffc856c3d77df5f967da">get_id</a> ()</td></tr> +<tr class="memdesc:a72cd93738171ffc856c3d77df5f967da"><td class="mdescLeft"> </td><td class="mdescRight">Accessor of game instance id. <br /></td></tr> <tr class="separator:a72cd93738171ffc856c3d77df5f967da"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a852c73a12031d7fbd2095530df595c5c" id="r_a852c73a12031d7fbd2095530df595c5c"><td class="memItemLeft" align="right" valign="top"><a id="a852c73a12031d7fbd2095530df595c5c" name="a852c73a12031d7fbd2095530df595c5c"></a> -<a class="el" href="classgame__state.html">game_state</a> * </td><td class="memItemRight" valign="bottom"><b>get_game_state</b> ()</td></tr> +<tr class="memitem:a852c73a12031d7fbd2095530df595c5c" id="r_a852c73a12031d7fbd2095530df595c5c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgame__state.html">game_state</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a852c73a12031d7fbd2095530df595c5c">get_game_state</a> ()</td></tr> +<tr class="memdesc:a852c73a12031d7fbd2095530df595c5c"><td class="mdescLeft"> </td><td class="mdescRight">Accessor of current game state. <br /></td></tr> <tr class="separator:a852c73a12031d7fbd2095530df595c5c"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a77d1f40b8727c74f278efe9168f26831" id="r_a77d1f40b8727c74f278efe9168f26831"><td class="memItemLeft" align="right" valign="top"><a id="a77d1f40b8727c74f278efe9168f26831" name="a77d1f40b8727c74f278efe9168f26831"></a> -bool </td><td class="memItemRight" valign="bottom"><b>is_full</b> ()</td></tr> +<tr class="memitem:a77d1f40b8727c74f278efe9168f26831" id="r_a77d1f40b8727c74f278efe9168f26831"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#a77d1f40b8727c74f278efe9168f26831">is_full</a> ()</td></tr> +<tr class="memdesc:a77d1f40b8727c74f278efe9168f26831"><td class="mdescLeft"> </td><td class="mdescRight">Checks whether game is already full. The game is full if 6 players have joined already. <br /></td></tr> <tr class="separator:a77d1f40b8727c74f278efe9168f26831"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a2c8a8be71f8c3016075cc08768ebbb64" id="r_a2c8a8be71f8c3016075cc08768ebbb64"><td class="memItemLeft" align="right" valign="top"><a id="a2c8a8be71f8c3016075cc08768ebbb64" name="a2c8a8be71f8c3016075cc08768ebbb64"></a> -bool </td><td class="memItemRight" valign="bottom"><b>is_started</b> ()</td></tr> +<tr class="memitem:a2c8a8be71f8c3016075cc08768ebbb64" id="r_a2c8a8be71f8c3016075cc08768ebbb64"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2c8a8be71f8c3016075cc08768ebbb64">is_started</a> ()</td></tr> +<tr class="memdesc:a2c8a8be71f8c3016075cc08768ebbb64"><td class="mdescLeft"> </td><td class="mdescRight">Checks whether game is started. <br /></td></tr> <tr class="separator:a2c8a8be71f8c3016075cc08768ebbb64"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a5a080dfced3d2d1c697e36160b996a9c" id="r_a5a080dfced3d2d1c697e36160b996a9c"><td class="memItemLeft" align="right" valign="top"><a id="a5a080dfced3d2d1c697e36160b996a9c" name="a5a080dfced3d2d1c697e36160b996a9c"></a> -bool </td><td class="memItemRight" valign="bottom"><b>is_finished</b> ()</td></tr> +<tr class="memitem:a5a080dfced3d2d1c697e36160b996a9c" id="r_a5a080dfced3d2d1c697e36160b996a9c"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#a5a080dfced3d2d1c697e36160b996a9c">is_finished</a> ()</td></tr> +<tr class="memdesc:a5a080dfced3d2d1c697e36160b996a9c"><td class="mdescLeft"> </td><td class="mdescRight">Checks whether game is finished. <br /></td></tr> <tr class="separator:a5a080dfced3d2d1c697e36160b996a9c"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:aee2eedd24991ce59dbcf2ec4f6cae8ac" id="r_aee2eedd24991ce59dbcf2ec4f6cae8ac"><td class="memItemLeft" align="right" valign="top"><a id="aee2eedd24991ce59dbcf2ec4f6cae8ac" name="aee2eedd24991ce59dbcf2ec4f6cae8ac"></a> -bool </td><td class="memItemRight" valign="bottom"><b>start_game</b> (<a class="el" href="classplayer.html">player</a> *<a class="el" href="classplayer.html">player</a>, std::string &err)</td></tr> +<tr class="memitem:aee2eedd24991ce59dbcf2ec4f6cae8ac" id="r_aee2eedd24991ce59dbcf2ec4f6cae8ac"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#aee2eedd24991ce59dbcf2ec4f6cae8ac">start_game</a> (<a class="el" href="classplayer.html">player</a> *<a class="el" href="classplayer.html">player</a>, std::string &err)</td></tr> +<tr class="memdesc:aee2eedd24991ce59dbcf2ec4f6cae8ac"><td class="mdescLeft"> </td><td class="mdescRight">Attempts to start the game. <br /></td></tr> <tr class="separator:aee2eedd24991ce59dbcf2ec4f6cae8ac"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a1176ce8464586487f9ae5676ca900e10" id="r_a1176ce8464586487f9ae5676ca900e10"><td class="memItemLeft" align="right" valign="top"><a id="a1176ce8464586487f9ae5676ca900e10" name="a1176ce8464586487f9ae5676ca900e10"></a> -bool </td><td class="memItemRight" valign="bottom"><b>try_add_player</b> (<a class="el" href="classplayer.html">player</a> *new_player, std::string &err)</td></tr> +<tr class="memitem:a1176ce8464586487f9ae5676ca900e10" id="r_a1176ce8464586487f9ae5676ca900e10"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#a1176ce8464586487f9ae5676ca900e10">try_add_player</a> (<a class="el" href="classplayer.html">player</a> *new_player, std::string &err)</td></tr> +<tr class="memdesc:a1176ce8464586487f9ae5676ca900e10"><td class="mdescLeft"> </td><td class="mdescRight">Attempts to add player to the game. <br /></td></tr> <tr class="separator:a1176ce8464586487f9ae5676ca900e10"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a2c6fed45a14273b09a9f202481fa62aa" id="r_a2c6fed45a14273b09a9f202481fa62aa"><td class="memItemLeft" align="right" valign="top"><a id="a2c6fed45a14273b09a9f202481fa62aa" name="a2c6fed45a14273b09a9f202481fa62aa"></a> -bool </td><td class="memItemRight" valign="bottom"><b>try_remove_player</b> (<a class="el" href="classplayer.html">player</a> *<a class="el" href="classplayer.html">player</a>, std::string &err)</td></tr> +<tr class="memitem:a2c6fed45a14273b09a9f202481fa62aa" id="r_a2c6fed45a14273b09a9f202481fa62aa"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2c6fed45a14273b09a9f202481fa62aa">try_remove_player</a> (<a class="el" href="classplayer.html">player</a> *<a class="el" href="classplayer.html">player</a>, std::string &err)</td></tr> +<tr class="memdesc:a2c6fed45a14273b09a9f202481fa62aa"><td class="mdescLeft"> </td><td class="mdescRight">Attempts to remove player from the game. If the game hasn't started yet, the player can be easily removed from the game. If the game has already started it is finished immediately. <br /></td></tr> <tr class="separator:a2c6fed45a14273b09a9f202481fa62aa"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a1a7e19a4b0907cb0b5f1523edb7e68ca" id="r_a1a7e19a4b0907cb0b5f1523edb7e68ca"><td class="memItemLeft" align="right" valign="top"><a id="a1a7e19a4b0907cb0b5f1523edb7e68ca" name="a1a7e19a4b0907cb0b5f1523edb7e68ca"></a> -bool </td><td class="memItemRight" valign="bottom"><b>play_card</b> (<a class="el" href="classplayer.html">player</a> *<a class="el" href="classplayer.html">player</a>, const std::string &card_id, std::string &err)</td></tr> +<tr class="memitem:a1a7e19a4b0907cb0b5f1523edb7e68ca" id="r_a1a7e19a4b0907cb0b5f1523edb7e68ca"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#a1a7e19a4b0907cb0b5f1523edb7e68ca">play_card</a> (<a class="el" href="classplayer.html">player</a> *<a class="el" href="classplayer.html">player</a>, const std::string &card_id, std::string &err)</td></tr> +<tr class="memdesc:a1a7e19a4b0907cb0b5f1523edb7e68ca"><td class="mdescLeft"> </td><td class="mdescRight">Attempts to play a card. <br /></td></tr> <tr class="separator:a1a7e19a4b0907cb0b5f1523edb7e68ca"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:af1434756e3041deca68b4f4f84176f05" id="r_af1434756e3041deca68b4f4f84176f05"><td class="memItemLeft" align="right" valign="top"><a id="af1434756e3041deca68b4f4f84176f05" name="af1434756e3041deca68b4f4f84176f05"></a> -bool </td><td class="memItemRight" valign="bottom"><b>estimate_tricks</b> (<a class="el" href="classplayer.html">player</a> *<a class="el" href="classplayer.html">player</a>, std::string &err, int nof_tricks)</td></tr> +<tr class="memitem:af1434756e3041deca68b4f4f84176f05" id="r_af1434756e3041deca68b4f4f84176f05"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#af1434756e3041deca68b4f4f84176f05">estimate_tricks</a> (<a class="el" href="classplayer.html">player</a> *<a class="el" href="classplayer.html">player</a>, std::string &err, int nof_tricks)</td></tr> +<tr class="memdesc:af1434756e3041deca68b4f4f84176f05"><td class="mdescLeft"> </td><td class="mdescRight">Attempts to estimate tricks. <br /></td></tr> <tr class="separator:af1434756e3041deca68b4f4f84176f05"><td class="memSeparator" colspan="2"> </td></tr> </table> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"><p>Class that modifies game state based on content received from client. The game instance functionalities are called by the request handler via the game instance manager. It handles the final step of interacting with the game instance (and the actual game logic). </p> +</div><h2 class="groupheader">Member Function Documentation</h2> +<a id="af1434756e3041deca68b4f4f84176f05" name="af1434756e3041deca68b4f4f84176f05"></a> +<h2 class="memtitle"><span class="permalink"><a href="#af1434756e3041deca68b4f4f84176f05">◆ </a></span>estimate_tricks()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool game_instance::estimate_tricks </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classplayer.html">player</a> *</td> <td class="paramname"><span class="paramname"><em>player</em></span>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">std::string &</td> <td class="paramname"><span class="paramname"><em>err</em></span>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>nof_tricks</em></span> )</td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Attempts to estimate tricks. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">player</td><td>Pointer to player who estimates tricks. </td></tr> + <tr><td class="paramname">err</td><td>Error message which contains possible errors. </td></tr> + <tr><td class="paramname">nof_tricks</td><td>Predicted number of tricks to win. </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Boolean which states whether trick estimation was successful. </dd></dl> + +</div> +</div> +<a id="a852c73a12031d7fbd2095530df595c5c" name="a852c73a12031d7fbd2095530df595c5c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a852c73a12031d7fbd2095530df595c5c">◆ </a></span>get_game_state()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classgame__state.html">game_state</a> * game_instance::get_game_state </td> + <td>(</td> + <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Accessor of current game state. </p> +<dl class="section return"><dt>Returns</dt><dd>Current game state. </dd></dl> + +</div> +</div> +<a id="a72cd93738171ffc856c3d77df5f967da" name="a72cd93738171ffc856c3d77df5f967da"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a72cd93738171ffc856c3d77df5f967da">◆ </a></span>get_id()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string game_instance::get_id </td> + <td>(</td> + <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Accessor of game instance id. </p> +<dl class="section return"><dt>Returns</dt><dd>id of game instance </dd></dl> + +</div> +</div> +<a id="a5a080dfced3d2d1c697e36160b996a9c" name="a5a080dfced3d2d1c697e36160b996a9c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a5a080dfced3d2d1c697e36160b996a9c">◆ </a></span>is_finished()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool game_instance::is_finished </td> + <td>(</td> + <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Checks whether game is finished. </p> +<dl class="section return"><dt>Returns</dt><dd>Boolean that states whether game is finished. </dd></dl> + +</div> +</div> +<a id="a77d1f40b8727c74f278efe9168f26831" name="a77d1f40b8727c74f278efe9168f26831"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a77d1f40b8727c74f278efe9168f26831">◆ </a></span>is_full()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool game_instance::is_full </td> + <td>(</td> + <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Checks whether game is already full. The game is full if 6 players have joined already. </p> +<dl class="section return"><dt>Returns</dt><dd>Boolean which states whether game is full. </dd></dl> + +</div> +</div> +<a id="a2c8a8be71f8c3016075cc08768ebbb64" name="a2c8a8be71f8c3016075cc08768ebbb64"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a2c8a8be71f8c3016075cc08768ebbb64">◆ </a></span>is_started()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool game_instance::is_started </td> + <td>(</td> + <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Checks whether game is started. </p> +<dl class="section return"><dt>Returns</dt><dd>Boolean that states whether game is started. </dd></dl> + +</div> +</div> +<a id="a1a7e19a4b0907cb0b5f1523edb7e68ca" name="a1a7e19a4b0907cb0b5f1523edb7e68ca"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a1a7e19a4b0907cb0b5f1523edb7e68ca">◆ </a></span>play_card()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool game_instance::play_card </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classplayer.html">player</a> *</td> <td class="paramname"><span class="paramname"><em>player</em></span>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const std::string &</td> <td class="paramname"><span class="paramname"><em>card_id</em></span>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">std::string &</td> <td class="paramname"><span class="paramname"><em>err</em></span> )</td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Attempts to play a card. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">player</td><td>Pointer to player who plays the card. </td></tr> + <tr><td class="paramname">card_id</td><td>Id of the card. </td></tr> + <tr><td class="paramname">err</td><td>Error message which contains possible errors. </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Boolean which states whether card could be played successfully. </dd></dl> + +</div> +</div> +<a id="aee2eedd24991ce59dbcf2ec4f6cae8ac" name="aee2eedd24991ce59dbcf2ec4f6cae8ac"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aee2eedd24991ce59dbcf2ec4f6cae8ac">◆ </a></span>start_game()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool game_instance::start_game </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classplayer.html">player</a> *</td> <td class="paramname"><span class="paramname"><em>player</em></span>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">std::string &</td> <td class="paramname"><span class="paramname"><em>err</em></span> )</td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Attempts to start the game. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">player</td><td>Player who started the game. </td></tr> + <tr><td class="paramname">err</td><td>Contains error message if something goes wrong while starting the game. </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Boolean that states whether game could be started successfully </dd></dl> + +</div> +</div> +<a id="a1176ce8464586487f9ae5676ca900e10" name="a1176ce8464586487f9ae5676ca900e10"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a1176ce8464586487f9ae5676ca900e10">◆ </a></span>try_add_player()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool game_instance::try_add_player </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classplayer.html">player</a> *</td> <td class="paramname"><span class="paramname"><em>new_player</em></span>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">std::string &</td> <td class="paramname"><span class="paramname"><em>err</em></span> )</td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Attempts to add player to the game. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">new_player</td><td>Pointer to player that wants to join the game. </td></tr> + <tr><td class="paramname">err</td><td>Contains error message that possibly states what went wrong while joining the game. </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Boolean which states whether player could successfully join the game. </dd></dl> + +</div> +</div> +<a id="a2c6fed45a14273b09a9f202481fa62aa" name="a2c6fed45a14273b09a9f202481fa62aa"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a2c6fed45a14273b09a9f202481fa62aa">◆ </a></span>try_remove_player()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool game_instance::try_remove_player </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classplayer.html">player</a> *</td> <td class="paramname"><span class="paramname"><em>player</em></span>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">std::string &</td> <td class="paramname"><span class="paramname"><em>err</em></span> )</td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Attempts to remove player from the game. If the game hasn't started yet, the player can be easily removed from the game. If the game has already started it is finished immediately. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">player</td><td>Pointer to player that leaves the game. </td></tr> + <tr><td class="paramname">err</td><td>Error message which states if the reason why the player couldn't leave the game if something went wrong. </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Boolean which states whether the player successfully left the game. </dd></dl> + +</div> +</div> <hr/>The documentation for this class was generated from the following files:<ul> <li>src/server/<a class="el" href="game__instance_8h_source.html">game_instance.h</a></li> <li>src/server/<b>game_instance.cpp</b></li> diff --git a/html/classtrick-members.html b/html/classtrick-members.html index a4be812..f295c93 100644 --- a/html/classtrick-members.html +++ b/html/classtrick-members.html @@ -98,21 +98,22 @@ $(function(){ initResizable(false); }); <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get_id</b>() const (defined in <a class="el" href="classunique__serializable.html">unique_serializable</a>)</td><td class="entry"><a class="el" href="classunique__serializable.html">unique_serializable</a></td><td class="entry"></td></tr> <tr class="odd"><td class="entry"><a class="el" href="classtrick.html#a41f315804ac73454c8e41438da20a9c3">get_trick_color</a>() const</td><td class="entry"><a class="el" href="classtrick.html">trick</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="classtrick.html#a69c49e2968abb235a6c7148cb05b0e64">get_trump_color</a>() const</td><td class="entry"><a class="el" href="classtrick.html">trick</a></td><td class="entry"></td></tr> - <tr class="odd"><td class="entry"><a class="el" href="classtrick.html#a0f8c45882691509564ec42efed0d1aaa">set_trick_color</a>(int color) const</td><td class="entry"><a class="el" href="classtrick.html">trick</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="classtrick.html#ae5b769ed0fc2933c1a44b5e481c18b00">set_up_round</a>(int trump, std::string &err)</td><td class="entry"><a class="el" href="classtrick.html">trick</a></td><td class="entry"></td></tr> - <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>to_json</b>() const (defined in <a class="el" href="classserializable.html">serializable</a>)</td><td class="entry"><a class="el" href="classserializable.html">serializable</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr> - <tr class="even"><td class="entry"><a class="el" href="classtrick.html#a3b0a12789b87d15d9cdc4e5b6f85b47d">trick</a>()</td><td class="entry"><a class="el" href="classtrick.html">trick</a></td><td class="entry"></td></tr> - <tr class="odd"><td class="entry"><a class="el" href="classtrick.html#ad55ad2f0462144ee39c0e6d392543a14">trick</a>(const trick &other)</td><td class="entry"><a class="el" href="classtrick.html">trick</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="classtrick.html#abb172ad9a476e96a754eea0c33e1eda9">trick</a>(const std::string &id)</td><td class="entry"><a class="el" href="classtrick.html">trick</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr> - <tr class="odd"><td class="entry"><a class="el" href="classtrick.html#ab756ba7a19c4bf98f0d8456ad0081fc3">trick</a>(const std::string &id, const std::vector< std::pair< card *, player * > > &cards, serializable_value< int > *trick_color, serializable_value< int > *trump_color)</td><td class="entry"><a class="el" href="classtrick.html">trick</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="classtrick.html#a3ecb1c5ebe84a300d7388e2846737fa4">trick</a>(int trump)</td><td class="entry"><a class="el" href="classtrick.html">trick</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr> - <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>unique_serializable</b>() (defined in <a class="el" href="classunique__serializable.html">unique_serializable</a>)</td><td class="entry"><a class="el" href="classunique__serializable.html">unique_serializable</a></td><td class="entry"><span class="mlabel">protected</span></td></tr> - <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>unique_serializable</b>(std::string id) (defined in <a class="el" href="classunique__serializable.html">unique_serializable</a>)</td><td class="entry"><a class="el" href="classunique__serializable.html">unique_serializable</a></td><td class="entry"><span class="mlabel">protected</span></td></tr> - <tr class="odd"><td class="entry"><a class="el" href="classtrick.html#a384560623ffaf776797948cf35197c73">wrap_up_trick</a>(std::string &err) const</td><td class="entry"><a class="el" href="classtrick.html">trick</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="classtrick.html#a97176df194eae794691356cd83292b04">write_into_json</a>(rapidjson::Value &json, rapidjson::Document::AllocatorType &allocator) const override</td><td class="entry"><a class="el" href="classtrick.html">trick</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> - <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>write_into_json</b>(rapidjson::Value &json, rapidjson::MemoryPoolAllocator< rapidjson::CrtAllocator > &allocator) const override (defined in <a class="el" href="classunique__serializable.html">unique_serializable</a>)</td><td class="entry"><a class="el" href="classunique__serializable.html">unique_serializable</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> - <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~serializable</b>()=default (defined in <a class="el" href="classserializable.html">serializable</a>)</td><td class="entry"><a class="el" href="classserializable.html">serializable</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> - <tr class="odd"><td class="entry"><a class="el" href="classtrick.html#a22c0b586f1d6c3baeb7bb0e22eb7dfe2">~trick</a>() override</td><td class="entry"><a class="el" href="classtrick.html">trick</a></td><td class="entry"></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="classtrick.html#a4b93ae88c17db486d975408cd8cfad1b">get_winner</a>() const</td><td class="entry"><a class="el" href="classtrick.html">trick</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classtrick.html#a0f8c45882691509564ec42efed0d1aaa">set_trick_color</a>(int color) const</td><td class="entry"><a class="el" href="classtrick.html">trick</a></td><td class="entry"></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="classtrick.html#ae5b769ed0fc2933c1a44b5e481c18b00">set_up_round</a>(int trump, std::string &err)</td><td class="entry"><a class="el" href="classtrick.html">trick</a></td><td class="entry"></td></tr> + <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>to_json</b>() const (defined in <a class="el" href="classserializable.html">serializable</a>)</td><td class="entry"><a class="el" href="classserializable.html">serializable</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="classtrick.html#a3b0a12789b87d15d9cdc4e5b6f85b47d">trick</a>()</td><td class="entry"><a class="el" href="classtrick.html">trick</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classtrick.html#ad55ad2f0462144ee39c0e6d392543a14">trick</a>(const trick &other)</td><td class="entry"><a class="el" href="classtrick.html">trick</a></td><td class="entry"></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="classtrick.html#abb172ad9a476e96a754eea0c33e1eda9">trick</a>(const std::string &id)</td><td class="entry"><a class="el" href="classtrick.html">trick</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classtrick.html#ab756ba7a19c4bf98f0d8456ad0081fc3">trick</a>(const std::string &id, const std::vector< std::pair< card *, player * > > &cards, serializable_value< int > *trick_color, serializable_value< int > *trump_color)</td><td class="entry"><a class="el" href="classtrick.html">trick</a></td><td class="entry"></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="classtrick.html#a3ecb1c5ebe84a300d7388e2846737fa4">trick</a>(int trump)</td><td class="entry"><a class="el" href="classtrick.html">trick</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr> + <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>unique_serializable</b>() (defined in <a class="el" href="classunique__serializable.html">unique_serializable</a>)</td><td class="entry"><a class="el" href="classunique__serializable.html">unique_serializable</a></td><td class="entry"><span class="mlabel">protected</span></td></tr> + <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>unique_serializable</b>(std::string id) (defined in <a class="el" href="classunique__serializable.html">unique_serializable</a>)</td><td class="entry"><a class="el" href="classunique__serializable.html">unique_serializable</a></td><td class="entry"><span class="mlabel">protected</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classtrick.html#a384560623ffaf776797948cf35197c73">wrap_up_trick</a>(std::string &err) const</td><td class="entry"><a class="el" href="classtrick.html">trick</a></td><td class="entry"></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="classtrick.html#a97176df194eae794691356cd83292b04">write_into_json</a>(rapidjson::Value &json, rapidjson::Document::AllocatorType &allocator) const override</td><td class="entry"><a class="el" href="classtrick.html">trick</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> + <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>write_into_json</b>(rapidjson::Value &json, rapidjson::MemoryPoolAllocator< rapidjson::CrtAllocator > &allocator) const override (defined in <a class="el" href="classunique__serializable.html">unique_serializable</a>)</td><td class="entry"><a class="el" href="classunique__serializable.html">unique_serializable</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> + <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>~serializable</b>()=default (defined in <a class="el" href="classserializable.html">serializable</a>)</td><td class="entry"><a class="el" href="classserializable.html">serializable</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classtrick.html#a22c0b586f1d6c3baeb7bb0e22eb7dfe2">~trick</a>() override</td><td class="entry"><a class="el" href="classtrick.html">trick</a></td><td class="entry"></td></tr> </table></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> diff --git a/html/classtrick.html b/html/classtrick.html index ce546e1..57f9c88 100644 --- a/html/classtrick.html +++ b/html/classtrick.html @@ -139,6 +139,9 @@ Public Member Functions</h2></td></tr> <tr class="memitem:a69c49e2968abb235a6c7148cb05b0e64" id="r_a69c49e2968abb235a6c7148cb05b0e64"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="#a69c49e2968abb235a6c7148cb05b0e64">get_trump_color</a> () const</td></tr> <tr class="memdesc:a69c49e2968abb235a6c7148cb05b0e64"><td class="mdescLeft"> </td><td class="mdescRight">Gets the trump color. <br /></td></tr> <tr class="separator:a69c49e2968abb235a6c7148cb05b0e64"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a4b93ae88c17db486d975408cd8cfad1b" id="r_a4b93ae88c17db486d975408cd8cfad1b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classplayer.html">player</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a4b93ae88c17db486d975408cd8cfad1b">get_winner</a> () const</td></tr> +<tr class="memdesc:a4b93ae88c17db486d975408cd8cfad1b"><td class="mdescLeft"> </td><td class="mdescRight">Gets the winner of the trick. <br /></td></tr> +<tr class="separator:a4b93ae88c17db486d975408cd8cfad1b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae5b769ed0fc2933c1a44b5e481c18b00" id="r_ae5b769ed0fc2933c1a44b5e481c18b00"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae5b769ed0fc2933c1a44b5e481c18b00">set_up_round</a> (int trump, std::string &err)</td></tr> <tr class="memdesc:ae5b769ed0fc2933c1a44b5e481c18b00"><td class="mdescLeft"> </td><td class="mdescRight">Sets up a trick. <br /></td></tr> <tr class="separator:ae5b769ed0fc2933c1a44b5e481c18b00"><td class="memSeparator" colspan="2"> </td></tr> @@ -476,6 +479,35 @@ std::string </td><td class="memItemRight" valign="bottom"><b>_id</b></td></ <p>Gets the trump color. </p> <dl class="section return"><dt>Returns</dt><dd>The trump color. </dd></dl> +</div> +</div> +<a id="a4b93ae88c17db486d975408cd8cfad1b" name="a4b93ae88c17db486d975408cd8cfad1b"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a4b93ae88c17db486d975408cd8cfad1b">◆ </a></span>get_winner()</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classplayer.html">player</a> * trick::get_winner </td> + <td>(</td> + <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td> + <td> const</td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">nodiscard</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>Gets the winner of the trick. </p> +<dl class="section return"><dt>Returns</dt><dd>The winner of the trick.</dd></dl> +<p>This function is used by the client to determine the winner of a trick, and to display the winner after the trick. It uses the same logic as the wrap_up_round function on the server side. </p> + </div> </div> <a id="a0f8c45882691509564ec42efed0d1aaa" name="a0f8c45882691509564ec42efed0d1aaa"></a> diff --git a/html/doxygen_crawl.html b/html/doxygen_crawl.html index 42309a8..adfda9b 100644 --- a/html/doxygen_crawl.html +++ b/html/doxygen_crawl.html @@ -174,6 +174,8 @@ <a href="functions.html"/> <a href="functions.html"/> <a href="functions.html"/> +<a href="functions.html"/> +<a href="functions_func.html"/> <a href="functions_func.html"/> <a href="functions_func.html"/> <a href="functions_func.html"/> @@ -210,6 +212,20 @@ <a href="class_connection_panel.html"/> <a href="class_error_dialog.html"/> <a href="class_game_controller.html"/> +<a href="class_game_controller.html#a023da21da545374ee46fb873149976c4"/> +<a href="class_game_controller.html#a3c350056b82df662c946cb9119f11ced"/> +<a href="class_game_controller.html#a5f1023f2029e5dbb25b795a0606e06a9"/> +<a href="class_game_controller.html#a6a43eb061a9882b3937fc88bb4794324"/> +<a href="class_game_controller.html#a8108659ad09724318c3a251d93bd5869"/> +<a href="class_game_controller.html#a87b164e2094901861e5b47056634facc"/> +<a href="class_game_controller.html#a8889bad76bc35487d3391fb8a5791616"/> +<a href="class_game_controller.html#a8d42b2e41759bfd65cdebad87437369e"/> +<a href="class_game_controller.html#a8f30ab3ff471ac0a5c8b88dc7fea45f4"/> +<a href="class_game_controller.html#a994773f79be8c9e8dc8c19ee2d389103"/> +<a href="class_game_controller.html#abb91c546ab8400c1e2e9f2a2ccc8298f"/> +<a href="class_game_controller.html#abd110563d0f37f06096176c199d22055"/> +<a href="class_game_controller.html#abec8c73ea01e4b7e01b2ca1d932e0c16"/> +<a href="class_game_controller.html#adf043f9026a62f634a873c9f9d292034"/> <a href="class_game_window.html"/> <a href="class_image_panel.html"/> <a href="class_input_field.html"/> @@ -244,6 +260,18 @@ <a href="classestimate__tricks__request.html"/> <a href="classfull__state__response.html"/> <a href="classgame__instance.html"/> +<a href="classgame__instance.html#a1176ce8464586487f9ae5676ca900e10"/> +<a href="classgame__instance.html#a1a7e19a4b0907cb0b5f1523edb7e68ca"/> +<a href="classgame__instance.html#a1fa390603341beb15e09e5a4b03465c1"/> +<a href="classgame__instance.html#a2b1d00adf8c933a98698f972827e48b9"/> +<a href="classgame__instance.html#a2c6fed45a14273b09a9f202481fa62aa"/> +<a href="classgame__instance.html#a2c8a8be71f8c3016075cc08768ebbb64"/> +<a href="classgame__instance.html#a5a080dfced3d2d1c697e36160b996a9c"/> +<a href="classgame__instance.html#a72cd93738171ffc856c3d77df5f967da"/> +<a href="classgame__instance.html#a77d1f40b8727c74f278efe9168f26831"/> +<a href="classgame__instance.html#a852c73a12031d7fbd2095530df595c5c"/> +<a href="classgame__instance.html#aee2eedd24991ce59dbcf2ec4f6cae8ac"/> +<a href="classgame__instance.html#af1434756e3041deca68b4f4f84176f05"/> <a href="classgame__instance__manager.html"/> <a href="classgame__state.html"/> <a href="classgame__state.html#a0c10b830e222d726557c3c33685c595a"/> @@ -330,6 +358,7 @@ <a href="classtrick.html#a3b0a12789b87d15d9cdc4e5b6f85b47d"/> <a href="classtrick.html#a3ecb1c5ebe84a300d7388e2846737fa4"/> <a href="classtrick.html#a41f315804ac73454c8e41438da20a9c3"/> +<a href="classtrick.html#a4b93ae88c17db486d975408cd8cfad1b"/> <a href="classtrick.html#a69c49e2968abb235a6c7148cb05b0e64"/> <a href="classtrick.html#a97176df194eae794691356cd83292b04"/> <a href="classtrick.html#ab756ba7a19c4bf98f0d8456ad0081fc3"/> diff --git a/html/functions.html b/html/functions.html index 223ade1..323024a 100644 --- a/html/functions.html +++ b/html/functions.html @@ -95,6 +95,7 @@ $(function(){ initResizable(false); }); <h3><a id="index_c" name="index_c"></a>- c -</h3><ul> <li>card() : <a class="el" href="classcard.html#a764d65641c619aedf1842a30e54905b7">card</a></li> +<li>connectToServer() : <a class="el" href="class_game_controller.html#a023da21da545374ee46fb873149976c4">GameController</a></li> </ul> @@ -106,7 +107,8 @@ $(function(){ initResizable(false); }); <h3><a id="index_e" name="index_e"></a>- e -</h3><ul> -<li>estimate_tricks() : <a class="el" href="classgame__state.html#ac4ebff625d83c633c124890537d60354">game_state</a></li> +<li>estimate_tricks() : <a class="el" href="classgame__instance.html#af1434756e3041deca68b4f4f84176f05">game_instance</a>, <a class="el" href="classgame__state.html#ac4ebff625d83c633c124890537d60354">game_state</a></li> +<li>estimateTricks() : <a class="el" href="class_game_controller.html#abd110563d0f37f06096176c199d22055">GameController</a></li> </ul> @@ -117,13 +119,16 @@ $(function(){ initResizable(false); }); <h3><a id="index_g" name="index_g"></a>- g -</h3><ul> +<li>game_instance() : <a class="el" href="classgame__instance.html#a2b1d00adf8c933a98698f972827e48b9">game_instance</a></li> <li>game_state() : <a class="el" href="classgame__state.html#a0c10b830e222d726557c3c33685c595a">game_state</a></li> <li>get_cards() : <a class="el" href="classhand.html#ad104b0376b1a13d987f349dd524ca47f">hand</a></li> <li>get_cards_and_players() : <a class="el" href="classtrick.html#a1d75f9e8fc94fd122adfc39a20089268">trick</a></li> <li>get_color() : <a class="el" href="classcard.html#ab033bc0e71b09d3cf3ac28c2f1fbde18">card</a></li> <li>get_current_player() : <a class="el" href="classgame__state.html#a2d16f420a8aa651685461a5efb8bb600">game_state</a></li> <li>get_game_id() : <a class="el" href="classplayer.html#afeb6c5483a59042fcc4a3a2aed6a6a2c">player</a></li> +<li>get_game_state() : <a class="el" href="classgame__instance.html#a852c73a12031d7fbd2095530df595c5c">game_instance</a></li> <li>get_hand() : <a class="el" href="classplayer.html#af333dcbf7123726c9bda3ab94ba9ee6d">player</a></li> +<li>get_id() : <a class="el" href="classgame__instance.html#a72cd93738171ffc856c3d77df5f967da">game_instance</a></li> <li>get_last_trick() : <a class="el" href="classgame__state.html#a4327f753f1f5341f9fe3774ea3fbc99b">game_state</a></li> <li>get_max_round_number() : <a class="el" href="classgame__state.html#aa75c4da6c0056e48e5040be8127d7473">game_state</a></li> <li>get_nof_cards() : <a class="el" href="classhand.html#adc90d109b7b564a0dbca0b0798c99641">hand</a>, <a class="el" href="classplayer.html#a457c5ab90b0ecd610eead66b41c8333a">player</a></li> @@ -142,6 +147,8 @@ $(function(){ initResizable(false); }); <li>get_trick_starting_player() : <a class="el" href="classgame__state.html#aa40554d105939c5dce934daaa858c242">game_state</a></li> <li>get_trump_color() : <a class="el" href="classgame__state.html#abdf6c5116ed643773d676c90a05e6fe4">game_state</a>, <a class="el" href="classtrick.html#a69c49e2968abb235a6c7148cb05b0e64">trick</a></li> <li>get_value() : <a class="el" href="classcard.html#a2baf8dfef09ac8c1a67b34c2e67186c3">card</a></li> +<li>get_winner() : <a class="el" href="classtrick.html#a4b93ae88c17db486d975408cd8cfad1b">trick</a></li> +<li>getMainThreadEventHandler() : <a class="el" href="class_game_controller.html#abec8c73ea01e4b7e01b2ca1d932e0c16">GameController</a></li> </ul> @@ -151,18 +158,26 @@ $(function(){ initResizable(false); }); <h3><a id="index_i" name="index_i"></a>- i -</h3><ul> +<li>init() : <a class="el" href="class_game_controller.html#a8889bad76bc35487d3391fb8a5791616">GameController</a></li> <li>is_empty() : <a class="el" href="classdeck.html#a6aef528ff7b9c608863cc77c19b7882d">deck</a></li> <li>is_estimation_phase() : <a class="el" href="classgame__state.html#a88d19342ee76acc4660b3e56e8c126eb">game_state</a></li> -<li>is_finished() : <a class="el" href="classgame__state.html#a9b83de8a89e3bb506184492d22c3cf45">game_state</a></li> -<li>is_full() : <a class="el" href="classgame__state.html#ae161c283e275a57d71834754d11e9e40">game_state</a></li> +<li>is_finished() : <a class="el" href="classgame__instance.html#a5a080dfced3d2d1c697e36160b996a9c">game_instance</a>, <a class="el" href="classgame__state.html#a9b83de8a89e3bb506184492d22c3cf45">game_state</a></li> +<li>is_full() : <a class="el" href="classgame__instance.html#a77d1f40b8727c74f278efe9168f26831">game_instance</a>, <a class="el" href="classgame__state.html#ae161c283e275a57d71834754d11e9e40">game_state</a></li> <li>is_player_in_game() : <a class="el" href="classgame__state.html#a371d6a6d84395b90c15d84549b05d553">game_state</a></li> -<li>is_started() : <a class="el" href="classgame__state.html#aa0092c41779f38eba5e921e43b38559c">game_state</a></li> +<li>is_started() : <a class="el" href="classgame__instance.html#a2c8a8be71f8c3016075cc08768ebbb64">game_instance</a>, <a class="el" href="classgame__state.html#aa0092c41779f38eba5e921e43b38559c">game_state</a></li> +</ul> + + +<h3><a id="index_l" name="index_l"></a>- l -</h3><ul> +<li>leaveGame() : <a class="el" href="class_game_controller.html#a8d42b2e41759bfd65cdebad87437369e">GameController</a></li> </ul> <h3><a id="index_p" name="index_p"></a>- p -</h3><ul> -<li>play_card() : <a class="el" href="classgame__state.html#a6c65d95086a88b8d111de5553e1210ec">game_state</a></li> +<li>play_card() : <a class="el" href="classgame__instance.html#a1a7e19a4b0907cb0b5f1523edb7e68ca">game_instance</a>, <a class="el" href="classgame__state.html#a6c65d95086a88b8d111de5553e1210ec">game_state</a></li> +<li>playCard() : <a class="el" href="class_game_controller.html#a87b164e2094901861e5b47056634facc">GameController</a></li> <li>player() : <a class="el" href="classplayer.html#a1f0916939a8caa2e7140d5c89a6aa718">player</a></li> +<li>processEstimateTricks() : <a class="el" href="class_game_controller.html#a5f1023f2029e5dbb25b795a0606e06a9">GameController</a></li> </ul> @@ -181,18 +196,27 @@ $(function(){ initResizable(false); }); <li>set_trick_color() : <a class="el" href="classtrick.html#a0f8c45882691509564ec42efed0d1aaa">trick</a></li> <li>set_up_round() : <a class="el" href="classtrick.html#ae5b769ed0fc2933c1a44b5e481c18b00">trick</a></li> <li>setup_round() : <a class="el" href="classdeck.html#a77851e5cb8297849e91a885ed7959de1">deck</a>, <a class="el" href="classgame__state.html#ab520d4076c53f70a68bc19f355243a4d">game_state</a>, <a class="el" href="classplayer.html#a8cc6464ca3284140c92c6983ee62a299">player</a></li> -<li>start_game() : <a class="el" href="classgame__state.html#a6ca6536eaec3404ff9b1ab39b8df4e67">game_state</a></li> +<li>showError() : <a class="el" href="class_game_controller.html#adf043f9026a62f634a873c9f9d292034">GameController</a></li> +<li>showGameOverMessage() : <a class="el" href="class_game_controller.html#abb91c546ab8400c1e2e9f2a2ccc8298f">GameController</a></li> +<li>showNewRoundMessage() : <a class="el" href="class_game_controller.html#a3c350056b82df662c946cb9119f11ced">GameController</a></li> +<li>showStatus() : <a class="el" href="class_game_controller.html#a6a43eb061a9882b3937fc88bb4794324">GameController</a></li> +<li>showTrickOverMessage() : <a class="el" href="class_game_controller.html#a8108659ad09724318c3a251d93bd5869">GameController</a></li> +<li>start_game() : <a class="el" href="classgame__instance.html#aee2eedd24991ce59dbcf2ec4f6cae8ac">game_instance</a>, <a class="el" href="classgame__state.html#a6ca6536eaec3404ff9b1ab39b8df4e67">game_state</a></li> +<li>startGame() : <a class="el" href="class_game_controller.html#a8f30ab3ff471ac0a5c8b88dc7fea45f4">GameController</a></li> </ul> <h3><a id="index_t" name="index_t"></a>- t -</h3><ul> <li>trick() : <a class="el" href="classtrick.html#a3b0a12789b87d15d9cdc4e5b6f85b47d">trick</a></li> +<li>try_add_player() : <a class="el" href="classgame__instance.html#a1176ce8464586487f9ae5676ca900e10">game_instance</a></li> <li>try_get_card() : <a class="el" href="classhand.html#a0a50cbbb167e6a1d633dd48bc4b695fe">hand</a></li> +<li>try_remove_player() : <a class="el" href="classgame__instance.html#a2c6fed45a14273b09a9f202481fa62aa">game_instance</a></li> </ul> <h3><a id="index_u" name="index_u"></a>- u -</h3><ul> <li>update_current_player() : <a class="el" href="classgame__state.html#a49851709fcec061d36478ed2fdcc3d9d">game_state</a></li> +<li>updateGameState() : <a class="el" href="class_game_controller.html#a994773f79be8c9e8dc8c19ee2d389103">GameController</a></li> </ul> @@ -206,6 +230,7 @@ $(function(){ initResizable(false); }); <h3><a id="index__7E" name="index__7E"></a>- ~ -</h3><ul> <li>~card() : <a class="el" href="classcard.html#ac7a5d8d53e8cc33f5c5a03d8ccb806c4">card</a></li> <li>~deck() : <a class="el" href="classdeck.html#a63a688bda08bfef8d2c37d53523b7b12">deck</a></li> +<li>~game_instance() : <a class="el" href="classgame__instance.html#a1fa390603341beb15e09e5a4b03465c1">game_instance</a></li> <li>~game_state() : <a class="el" href="classgame__state.html#a2fbc370f93617298719f61514afdb5bc">game_state</a></li> <li>~hand() : <a class="el" href="classhand.html#af3ffc5e5b46f04b14f12a9fc130b220a">hand</a></li> <li>~player() : <a class="el" href="classplayer.html#a0a62c0208584465db2daa1ac6e15b1ad">player</a></li> diff --git a/html/functions_func.html b/html/functions_func.html index 6c33cf9..8f71ef1 100644 --- a/html/functions_func.html +++ b/html/functions_func.html @@ -95,6 +95,7 @@ $(function(){ initResizable(false); }); <h3><a id="index_c" name="index_c"></a>- c -</h3><ul> <li>card() : <a class="el" href="classcard.html#a764d65641c619aedf1842a30e54905b7">card</a></li> +<li>connectToServer() : <a class="el" href="class_game_controller.html#a023da21da545374ee46fb873149976c4">GameController</a></li> </ul> @@ -106,7 +107,8 @@ $(function(){ initResizable(false); }); <h3><a id="index_e" name="index_e"></a>- e -</h3><ul> -<li>estimate_tricks() : <a class="el" href="classgame__state.html#ac4ebff625d83c633c124890537d60354">game_state</a></li> +<li>estimate_tricks() : <a class="el" href="classgame__instance.html#af1434756e3041deca68b4f4f84176f05">game_instance</a>, <a class="el" href="classgame__state.html#ac4ebff625d83c633c124890537d60354">game_state</a></li> +<li>estimateTricks() : <a class="el" href="class_game_controller.html#abd110563d0f37f06096176c199d22055">GameController</a></li> </ul> @@ -117,13 +119,16 @@ $(function(){ initResizable(false); }); <h3><a id="index_g" name="index_g"></a>- g -</h3><ul> +<li>game_instance() : <a class="el" href="classgame__instance.html#a2b1d00adf8c933a98698f972827e48b9">game_instance</a></li> <li>game_state() : <a class="el" href="classgame__state.html#a0c10b830e222d726557c3c33685c595a">game_state</a></li> <li>get_cards() : <a class="el" href="classhand.html#ad104b0376b1a13d987f349dd524ca47f">hand</a></li> <li>get_cards_and_players() : <a class="el" href="classtrick.html#a1d75f9e8fc94fd122adfc39a20089268">trick</a></li> <li>get_color() : <a class="el" href="classcard.html#ab033bc0e71b09d3cf3ac28c2f1fbde18">card</a></li> <li>get_current_player() : <a class="el" href="classgame__state.html#a2d16f420a8aa651685461a5efb8bb600">game_state</a></li> <li>get_game_id() : <a class="el" href="classplayer.html#afeb6c5483a59042fcc4a3a2aed6a6a2c">player</a></li> +<li>get_game_state() : <a class="el" href="classgame__instance.html#a852c73a12031d7fbd2095530df595c5c">game_instance</a></li> <li>get_hand() : <a class="el" href="classplayer.html#af333dcbf7123726c9bda3ab94ba9ee6d">player</a></li> +<li>get_id() : <a class="el" href="classgame__instance.html#a72cd93738171ffc856c3d77df5f967da">game_instance</a></li> <li>get_last_trick() : <a class="el" href="classgame__state.html#a4327f753f1f5341f9fe3774ea3fbc99b">game_state</a></li> <li>get_max_round_number() : <a class="el" href="classgame__state.html#aa75c4da6c0056e48e5040be8127d7473">game_state</a></li> <li>get_nof_cards() : <a class="el" href="classhand.html#adc90d109b7b564a0dbca0b0798c99641">hand</a>, <a class="el" href="classplayer.html#a457c5ab90b0ecd610eead66b41c8333a">player</a></li> @@ -142,6 +147,8 @@ $(function(){ initResizable(false); }); <li>get_trick_starting_player() : <a class="el" href="classgame__state.html#aa40554d105939c5dce934daaa858c242">game_state</a></li> <li>get_trump_color() : <a class="el" href="classgame__state.html#abdf6c5116ed643773d676c90a05e6fe4">game_state</a>, <a class="el" href="classtrick.html#a69c49e2968abb235a6c7148cb05b0e64">trick</a></li> <li>get_value() : <a class="el" href="classcard.html#a2baf8dfef09ac8c1a67b34c2e67186c3">card</a></li> +<li>get_winner() : <a class="el" href="classtrick.html#a4b93ae88c17db486d975408cd8cfad1b">trick</a></li> +<li>getMainThreadEventHandler() : <a class="el" href="class_game_controller.html#abec8c73ea01e4b7e01b2ca1d932e0c16">GameController</a></li> </ul> @@ -151,18 +158,26 @@ $(function(){ initResizable(false); }); <h3><a id="index_i" name="index_i"></a>- i -</h3><ul> +<li>init() : <a class="el" href="class_game_controller.html#a8889bad76bc35487d3391fb8a5791616">GameController</a></li> <li>is_empty() : <a class="el" href="classdeck.html#a6aef528ff7b9c608863cc77c19b7882d">deck</a></li> <li>is_estimation_phase() : <a class="el" href="classgame__state.html#a88d19342ee76acc4660b3e56e8c126eb">game_state</a></li> -<li>is_finished() : <a class="el" href="classgame__state.html#a9b83de8a89e3bb506184492d22c3cf45">game_state</a></li> -<li>is_full() : <a class="el" href="classgame__state.html#ae161c283e275a57d71834754d11e9e40">game_state</a></li> +<li>is_finished() : <a class="el" href="classgame__instance.html#a5a080dfced3d2d1c697e36160b996a9c">game_instance</a>, <a class="el" href="classgame__state.html#a9b83de8a89e3bb506184492d22c3cf45">game_state</a></li> +<li>is_full() : <a class="el" href="classgame__instance.html#a77d1f40b8727c74f278efe9168f26831">game_instance</a>, <a class="el" href="classgame__state.html#ae161c283e275a57d71834754d11e9e40">game_state</a></li> <li>is_player_in_game() : <a class="el" href="classgame__state.html#a371d6a6d84395b90c15d84549b05d553">game_state</a></li> -<li>is_started() : <a class="el" href="classgame__state.html#aa0092c41779f38eba5e921e43b38559c">game_state</a></li> +<li>is_started() : <a class="el" href="classgame__instance.html#a2c8a8be71f8c3016075cc08768ebbb64">game_instance</a>, <a class="el" href="classgame__state.html#aa0092c41779f38eba5e921e43b38559c">game_state</a></li> +</ul> + + +<h3><a id="index_l" name="index_l"></a>- l -</h3><ul> +<li>leaveGame() : <a class="el" href="class_game_controller.html#a8d42b2e41759bfd65cdebad87437369e">GameController</a></li> </ul> <h3><a id="index_p" name="index_p"></a>- p -</h3><ul> -<li>play_card() : <a class="el" href="classgame__state.html#a6c65d95086a88b8d111de5553e1210ec">game_state</a></li> +<li>play_card() : <a class="el" href="classgame__instance.html#a1a7e19a4b0907cb0b5f1523edb7e68ca">game_instance</a>, <a class="el" href="classgame__state.html#a6c65d95086a88b8d111de5553e1210ec">game_state</a></li> +<li>playCard() : <a class="el" href="class_game_controller.html#a87b164e2094901861e5b47056634facc">GameController</a></li> <li>player() : <a class="el" href="classplayer.html#a1f0916939a8caa2e7140d5c89a6aa718">player</a></li> +<li>processEstimateTricks() : <a class="el" href="class_game_controller.html#a5f1023f2029e5dbb25b795a0606e06a9">GameController</a></li> </ul> @@ -181,18 +196,27 @@ $(function(){ initResizable(false); }); <li>set_trick_color() : <a class="el" href="classtrick.html#a0f8c45882691509564ec42efed0d1aaa">trick</a></li> <li>set_up_round() : <a class="el" href="classtrick.html#ae5b769ed0fc2933c1a44b5e481c18b00">trick</a></li> <li>setup_round() : <a class="el" href="classdeck.html#a77851e5cb8297849e91a885ed7959de1">deck</a>, <a class="el" href="classgame__state.html#ab520d4076c53f70a68bc19f355243a4d">game_state</a>, <a class="el" href="classplayer.html#a8cc6464ca3284140c92c6983ee62a299">player</a></li> -<li>start_game() : <a class="el" href="classgame__state.html#a6ca6536eaec3404ff9b1ab39b8df4e67">game_state</a></li> +<li>showError() : <a class="el" href="class_game_controller.html#adf043f9026a62f634a873c9f9d292034">GameController</a></li> +<li>showGameOverMessage() : <a class="el" href="class_game_controller.html#abb91c546ab8400c1e2e9f2a2ccc8298f">GameController</a></li> +<li>showNewRoundMessage() : <a class="el" href="class_game_controller.html#a3c350056b82df662c946cb9119f11ced">GameController</a></li> +<li>showStatus() : <a class="el" href="class_game_controller.html#a6a43eb061a9882b3937fc88bb4794324">GameController</a></li> +<li>showTrickOverMessage() : <a class="el" href="class_game_controller.html#a8108659ad09724318c3a251d93bd5869">GameController</a></li> +<li>start_game() : <a class="el" href="classgame__instance.html#aee2eedd24991ce59dbcf2ec4f6cae8ac">game_instance</a>, <a class="el" href="classgame__state.html#a6ca6536eaec3404ff9b1ab39b8df4e67">game_state</a></li> +<li>startGame() : <a class="el" href="class_game_controller.html#a8f30ab3ff471ac0a5c8b88dc7fea45f4">GameController</a></li> </ul> <h3><a id="index_t" name="index_t"></a>- t -</h3><ul> <li>trick() : <a class="el" href="classtrick.html#a3b0a12789b87d15d9cdc4e5b6f85b47d">trick</a></li> +<li>try_add_player() : <a class="el" href="classgame__instance.html#a1176ce8464586487f9ae5676ca900e10">game_instance</a></li> <li>try_get_card() : <a class="el" href="classhand.html#a0a50cbbb167e6a1d633dd48bc4b695fe">hand</a></li> +<li>try_remove_player() : <a class="el" href="classgame__instance.html#a2c6fed45a14273b09a9f202481fa62aa">game_instance</a></li> </ul> <h3><a id="index_u" name="index_u"></a>- u -</h3><ul> <li>update_current_player() : <a class="el" href="classgame__state.html#a49851709fcec061d36478ed2fdcc3d9d">game_state</a></li> +<li>updateGameState() : <a class="el" href="class_game_controller.html#a994773f79be8c9e8dc8c19ee2d389103">GameController</a></li> </ul> @@ -206,6 +230,7 @@ $(function(){ initResizable(false); }); <h3><a id="index__7E" name="index__7E"></a>- ~ -</h3><ul> <li>~card() : <a class="el" href="classcard.html#ac7a5d8d53e8cc33f5c5a03d8ccb806c4">card</a></li> <li>~deck() : <a class="el" href="classdeck.html#a63a688bda08bfef8d2c37d53523b7b12">deck</a></li> +<li>~game_instance() : <a class="el" href="classgame__instance.html#a1fa390603341beb15e09e5a4b03465c1">game_instance</a></li> <li>~game_state() : <a class="el" href="classgame__state.html#a2fbc370f93617298719f61514afdb5bc">game_state</a></li> <li>~hand() : <a class="el" href="classhand.html#af3ffc5e5b46f04b14f12a9fc130b220a">hand</a></li> <li>~player() : <a class="el" href="classplayer.html#a0a62c0208584465db2daa1ac6e15b1ad">player</a></li> diff --git a/html/game__instance_8h_source.html b/html/game__instance_8h_source.html index aab81c2..fe3e491 100644 --- a/html/game__instance_8h_source.html +++ b/html/game__instance_8h_source.html @@ -92,59 +92,64 @@ $(function(){ initResizable(false); }); <div class="headertitle"><div class="title">game_instance.h</div></div> </div><!--header--> <div class="contents"> -<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">//</span></div> -<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment">// Created by Manuel on 25.01.2021.</span></div> -<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">//</span></div> -<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">// The game_instance class is a wrapper around the game_state of an active instance of the game.</span></div> -<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">// This class contains functions to modify the contained game_state.</span></div> -<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> </div> -<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#ifndef WIZARD_GAME_H</span></div> -<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#define WIZARD_GAME_H</span></div> -<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> </div> -<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#include <vector></span></div> -<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include <string></span></div> -<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include <mutex></span></div> -<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div> -<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#include "../common/game_state/player/player.h"</span></div> -<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include "../common/game_state/game_state.h"</span></div> -<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div> +<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef WIZARD_GAME_H</span></div> +<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define WIZARD_GAME_H</span></div> +<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div> +<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include <vector></span></div> +<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include <string></span></div> +<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include <mutex></span></div> +<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div> +<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#include "../common/game_state/player/player.h"</span></div> +<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include "../common/game_state/game_state.h"</span></div> +<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> </div> <div class="foldopen" id="foldopen00017" data-start="{" data-end="};"> <div class="line"><a id="l00017" name="l00017"></a><span class="lineno"><a class="line" href="classgame__instance.html"> 17</a></span><span class="keyword">class </span><a class="code hl_class" href="classgame__instance.html">game_instance</a> {</div> <div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div> <div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="keyword">private</span>:</div> -<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> <a class="code hl_class" href="classgame__state.html">game_state</a>* _game_state;</div> -<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> <span class="keyword">inline</span> <span class="keyword">static</span> std::mutex modification_lock;</div> +<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> <a class="code hl_class" href="classgame__state.html">game_state</a>* _game_state; </div> +<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> <span class="keyword">inline</span> <span class="keyword">static</span> std::mutex modification_lock; </div> <div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div> <div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="keyword">public</span>:</div> -<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> <a class="code hl_class" href="classgame__instance.html">game_instance</a>();</div> -<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <a class="code hl_class" href="classgame__instance.html">~game_instance</a>() {</div> -<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> <span class="keywordflow">if</span> (_game_state != <span class="keyword">nullptr</span>) {</div> -<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <span class="keyword">delete</span> _game_state;</div> -<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> }</div> -<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> _game_state = <span class="keyword">nullptr</span>;</div> -<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> }</div> -<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> std::string get_id();</div> -<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div> -<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <a class="code hl_class" href="classgame__state.html">game_state</a>* get_game_state();</div> -<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div> -<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keywordtype">bool</span> is_full();</div> -<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keywordtype">bool</span> is_started();</div> -<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="keywordtype">bool</span> is_finished();</div> -<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div> -<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="comment">// game update functions</span></div> -<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keywordtype">bool</span> start_game(<a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_class" href="classplayer.html">player</a>, std::string& err);</div> -<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="keywordtype">bool</span> try_add_player(<a class="code hl_class" href="classplayer.html">player</a>* new_player, std::string& err);</div> -<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keywordtype">bool</span> try_remove_player(<a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_class" href="classplayer.html">player</a>, std::string& err);</div> -<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="keywordtype">bool</span> play_card(<a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_class" href="classplayer.html">player</a>, <span class="keyword">const</span> std::string& card_id, std::string& err);</div> -<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="keywordtype">bool</span> estimate_tricks(<a class="code hl_class" href="classplayer.html">player</a> *<a class="code hl_class" href="classplayer.html">player</a>, std::string& err, <span class="keywordtype">int</span> nof_tricks);</div> -<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> </div> -<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span>};</div> +<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <a class="code hl_function" href="classgame__instance.html#a2b1d00adf8c933a98698f972827e48b9">game_instance</a>();</div> +<div class="foldopen" id="foldopen00031" data-start="{" data-end="}"> +<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="classgame__instance.html#a1fa390603341beb15e09e5a4b03465c1"> 31</a></span> <a class="code hl_function" href="classgame__instance.html#a1fa390603341beb15e09e5a4b03465c1">~game_instance</a>() {</div> +<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <span class="keywordflow">if</span> (_game_state != <span class="keyword">nullptr</span>) {</div> +<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <span class="keyword">delete</span> _game_state;</div> +<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> }</div> +<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> _game_state = <span class="keyword">nullptr</span>;</div> +<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> }</div> </div> -<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> </div> +<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> </div> +<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> std::string <a class="code hl_function" href="classgame__instance.html#a72cd93738171ffc856c3d77df5f967da">get_id</a>();</div> +<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <a class="code hl_class" href="classgame__state.html">game_state</a>* <a class="code hl_function" href="classgame__instance.html#a852c73a12031d7fbd2095530df595c5c">get_game_state</a>();</div> <div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> </div> -<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="preprocessor">#endif </span><span class="comment">//WIZARD_GAME_H</span></div> -<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> </div> -<div class="ttc" id="aclassgame__instance_html"><div class="ttname"><a href="classgame__instance.html">game_instance</a></div><div class="ttdef"><b>Definition</b> game_instance.h:17</div></div> +<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__instance.html#a77d1f40b8727c74f278efe9168f26831">is_full</a>();</div> +<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__instance.html#a2c8a8be71f8c3016075cc08768ebbb64">is_started</a>();</div> +<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__instance.html#a5a080dfced3d2d1c697e36160b996a9c">is_finished</a>();</div> +<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> </div> +<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="comment">// game update functions</span></div> +<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">bool</span> start_game(<a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_class" href="classplayer.html">player</a>, std::string& err);</div> +<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__instance.html#a1176ce8464586487f9ae5676ca900e10">try_add_player</a>(<a class="code hl_class" href="classplayer.html">player</a>* new_player, std::string& err);</div> +<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__instance.html#a2c6fed45a14273b09a9f202481fa62aa">try_remove_player</a>(<a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_class" href="classplayer.html">player</a>, std::string& err);</div> +<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keywordtype">bool</span> play_card(<a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_class" href="classplayer.html">player</a>, <span class="keyword">const</span> std::string& card_id, std::string& err);</div> +<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">bool</span> estimate_tricks(<a class="code hl_class" href="classplayer.html">player</a> *<a class="code hl_class" href="classplayer.html">player</a>, std::string& err, <span class="keywordtype">int</span> nof_tricks);</div> +<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> </div> +<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span>};</div> +</div> +<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> </div> +<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> </div> +<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span><span class="preprocessor">#endif </span><span class="comment">//WIZARD_GAME_H</span></div> +<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> </div> +<div class="ttc" id="aclassgame__instance_html"><div class="ttname"><a href="classgame__instance.html">game_instance</a></div><div class="ttdoc">Class that modifies game state based on content received from client. The game instance functionaliti...</div><div class="ttdef"><b>Definition</b> game_instance.h:17</div></div> +<div class="ttc" id="aclassgame__instance_html_a1176ce8464586487f9ae5676ca900e10"><div class="ttname"><a href="classgame__instance.html#a1176ce8464586487f9ae5676ca900e10">game_instance::try_add_player</a></div><div class="ttdeci">bool try_add_player(player *new_player, std::string &err)</div><div class="ttdoc">Attempts to add player to the game.</div><div class="ttdef"><b>Definition</b> game_instance.cpp:90</div></div> +<div class="ttc" id="aclassgame__instance_html_a1fa390603341beb15e09e5a4b03465c1"><div class="ttname"><a href="classgame__instance.html#a1fa390603341beb15e09e5a4b03465c1">game_instance::~game_instance</a></div><div class="ttdeci">~game_instance()</div><div class="ttdoc">Destructs game instance object.</div><div class="ttdef"><b>Definition</b> game_instance.h:31</div></div> +<div class="ttc" id="aclassgame__instance_html_a2b1d00adf8c933a98698f972827e48b9"><div class="ttname"><a href="classgame__instance.html#a2b1d00adf8c933a98698f972827e48b9">game_instance::game_instance</a></div><div class="ttdeci">game_instance()</div><div class="ttdoc">Constructs a new game instance object.</div><div class="ttdef"><b>Definition</b> game_instance.cpp:13</div></div> +<div class="ttc" id="aclassgame__instance_html_a2c6fed45a14273b09a9f202481fa62aa"><div class="ttname"><a href="classgame__instance.html#a2c6fed45a14273b09a9f202481fa62aa">game_instance::try_remove_player</a></div><div class="ttdeci">bool try_remove_player(player *player, std::string &err)</div><div class="ttdoc">Attempts to remove player from the game. If the game hasn't started yet, the player can be easily rem...</div><div class="ttdef"><b>Definition</b> game_instance.cpp:76</div></div> +<div class="ttc" id="aclassgame__instance_html_a2c8a8be71f8c3016075cc08768ebbb64"><div class="ttname"><a href="classgame__instance.html#a2c8a8be71f8c3016075cc08768ebbb64">game_instance::is_started</a></div><div class="ttdeci">bool is_started()</div><div class="ttdoc">Checks whether game is started.</div><div class="ttdef"><b>Definition</b> game_instance.cpp:29</div></div> +<div class="ttc" id="aclassgame__instance_html_a5a080dfced3d2d1c697e36160b996a9c"><div class="ttname"><a href="classgame__instance.html#a5a080dfced3d2d1c697e36160b996a9c">game_instance::is_finished</a></div><div class="ttdeci">bool is_finished()</div><div class="ttdoc">Checks whether game is finished.</div><div class="ttdef"><b>Definition</b> game_instance.cpp:33</div></div> +<div class="ttc" id="aclassgame__instance_html_a72cd93738171ffc856c3d77df5f967da"><div class="ttname"><a href="classgame__instance.html#a72cd93738171ffc856c3d77df5f967da">game_instance::get_id</a></div><div class="ttdeci">std::string get_id()</div><div class="ttdoc">Accessor of game instance id.</div><div class="ttdef"><b>Definition</b> game_instance.cpp:21</div></div> +<div class="ttc" id="aclassgame__instance_html_a77d1f40b8727c74f278efe9168f26831"><div class="ttname"><a href="classgame__instance.html#a77d1f40b8727c74f278efe9168f26831">game_instance::is_full</a></div><div class="ttdeci">bool is_full()</div><div class="ttdoc">Checks whether game is already full. The game is full if 6 players have joined already.</div><div class="ttdef"><b>Definition</b> game_instance.cpp:25</div></div> +<div class="ttc" id="aclassgame__instance_html_a852c73a12031d7fbd2095530df595c5c"><div class="ttname"><a href="classgame__instance.html#a852c73a12031d7fbd2095530df595c5c">game_instance::get_game_state</a></div><div class="ttdeci">game_state * get_game_state()</div><div class="ttdoc">Accessor of current game state.</div><div class="ttdef"><b>Definition</b> game_instance.cpp:17</div></div> <div class="ttc" id="aclassgame__state_html"><div class="ttname"><a href="classgame__state.html">game_state</a></div><div class="ttdoc">Represents the state of the game.</div><div class="ttdef"><b>Definition</b> game_state.h:27</div></div> <div class="ttc" id="aclassplayer_html"><div class="ttname"><a href="classplayer.html">player</a></div><div class="ttdoc">Represents a player in the game.</div><div class="ttdef"><b>Definition</b> player.h:18</div></div> </div><!-- fragment --></div><!-- contents --> diff --git a/html/game__instance__manager_8h_source.html b/html/game__instance__manager_8h_source.html index f493403..7c3f09c 100644 --- a/html/game__instance__manager_8h_source.html +++ b/html/game__instance__manager_8h_source.html @@ -145,7 +145,7 @@ $(function(){ initResizable(false); }); <div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> </div> <div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="preprocessor">#endif </span><span class="comment">//WIZARD_GAME_INSTANCE_MANAGER_H</span></div> <div class="ttc" id="aclassgame__instance__manager_html"><div class="ttname"><a href="classgame__instance__manager.html">game_instance_manager</a></div><div class="ttdef"><b>Definition</b> game_instance_manager.h:18</div></div> -<div class="ttc" id="aclassgame__instance_html"><div class="ttname"><a href="classgame__instance.html">game_instance</a></div><div class="ttdef"><b>Definition</b> game_instance.h:17</div></div> +<div class="ttc" id="aclassgame__instance_html"><div class="ttname"><a href="classgame__instance.html">game_instance</a></div><div class="ttdoc">Class that modifies game state based on content received from client. The game instance functionaliti...</div><div class="ttdef"><b>Definition</b> game_instance.h:17</div></div> <div class="ttc" id="aclassplayer_html"><div class="ttname"><a href="classplayer.html">player</a></div><div class="ttdoc">Represents a player in the game.</div><div class="ttdef"><b>Definition</b> player.h:18</div></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> diff --git a/html/hierarchy.html b/html/hierarchy.html index 0418f94..f657ee4 100644 --- a/html/hierarchy.html +++ b/html/hierarchy.html @@ -96,9 +96,9 @@ $(function(){ initResizable(false); }); <tr id="row_3_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structvector__utils_1_1derived__from.html" target="_self">vector_utils::derived_from< T, B ></a></td><td class="desc"></td></tr> <tr id="row_4_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_4_" class="arrow" onclick="dynsection.toggleFolder('4_')">▼</span><span class="icona"><span class="icon">C</span></span><b>std::exception</b></td><td class="desc"></td></tr> <tr id="row_4_0_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_wizard_exception.html" target="_self">WizardException</a></td><td class="desc"></td></tr> -<tr id="row_5_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classgame__instance.html" target="_self">game_instance</a></td><td class="desc"></td></tr> +<tr id="row_5_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classgame__instance.html" target="_self">game_instance</a></td><td class="desc">Class that modifies game state based on content received from client. The game instance functionalities are called by the request handler via the game instance manager. It handles the final step of interacting with the game instance (and the actual game logic) </td></tr> <tr id="row_6_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classgame__instance__manager.html" target="_self">game_instance_manager</a></td><td class="desc"></td></tr> -<tr id="row_7_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_game_controller.html" target="_self">GameController</a></td><td class="desc"></td></tr> +<tr id="row_7_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_game_controller.html" target="_self">GameController</a></td><td class="desc">Controls visualization of the game state and processes client actions </td></tr> <tr id="row_8_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classjson__utils.html" target="_self">json_utils</a></td><td class="desc"></td></tr> <tr id="row_9_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classplayer__manager.html" target="_self">player_manager</a></td><td class="desc"></td></tr> <tr id="row_10_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classrequest__handler.html" target="_self">request_handler</a></td><td class="desc"></td></tr> diff --git a/html/index.html b/html/index.html index c8fc840..6235801 100644 --- a/html/index.html +++ b/html/index.html @@ -256,14 +256,14 @@ Client -> Server:</h3> <h3><a class="anchor" id="autotoc_md14"></a> Server -> Client:</h3> <p>All messages arriving at the server are being deserialized and then passed on to the <code>handle_request(client_request* req)</code> function of the <code><a class="el" href="classrequest__handler.html">request_handler</a></code> singleton class. This function returns a pointer to an object of type <code><a class="el" href="classrequest__response.html">request_response</a></code> (a subclass of <code><a class="el" href="classserver__response.html">server_response</a></code>), which is then automatically sent back to the requesting client. In your game implementation you should extend the <code>handle_request(client_request* req)</code> function of the <code><a class="el" href="classrequest__handler.html">request_handler</a></code>, such that it can handle the <code><a class="el" href="classclient__request.html">client_request</a></code> that you add to your game and return an object of type <code><a class="el" href="classrequest__response.html">request_response</a></code> with all parameters you want to send.</p> -<p>If the <code><a class="el" href="classclient__request.html">client_request</a></code> causes an update of the <a class="el" href="classgame__state.html" title="Represents the state of the game.">game_state</a> you should also update all other players of that game about the <a class="el" href="classgame__state.html" title="Represents the state of the game.">game_state</a> change. This happens in the <code><a class="el" href="classgame__instance.html">game_instance</a></code> class, here examplified at the case where a <code><a class="el" href="classstart__game__request.html">start_game_request</a></code> calls the <code>start_game(...)</code> function on the respective <code><a class="el" href="classgame__instance.html">game_instance</a></code> on the server side:</p> -<div class="fragment"><div class="line"><span class="keywordtype">bool</span> game_instance::start_game(<a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_class" href="classplayer.html">player</a>, std::string &err) {</div> +<p>If the <code><a class="el" href="classclient__request.html">client_request</a></code> causes an update of the <a class="el" href="classgame__state.html" title="Represents the state of the game.">game_state</a> you should also update all other players of that game about the <a class="el" href="classgame__state.html" title="Represents the state of the game.">game_state</a> change. This happens in the <code><a class="el" href="classgame__instance.html" title="Class that modifies game state based on content received from client. The game instance functionaliti...">game_instance</a></code> class, here examplified at the case where a <code><a class="el" href="classstart__game__request.html">start_game_request</a></code> calls the <code>start_game(...)</code> function on the respective <code><a class="el" href="classgame__instance.html" title="Class that modifies game state based on content received from client. The game instance functionaliti...">game_instance</a></code> on the server side:</p> +<div class="fragment"><div class="line"><span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__instance.html#aee2eedd24991ce59dbcf2ec4f6cae8ac">game_instance::start_game</a>(<a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_class" href="classplayer.html">player</a>, std::string &err) {</div> <div class="line"> modification_lock.lock(); <span class="comment">// make sure only one request can modify the game_state at a time</span></div> <div class="line"> </div> <div class="line"> <span class="comment">// Try to start the game</span></div> <div class="line"> <span class="keywordflow">if</span> (_game_state-><a class="code hl_function" href="classgame__state.html#a6ca6536eaec3404ff9b1ab39b8df4e67">start_game</a>(err)) { </div> <div class="line"> <span class="comment">// create a full_state_response (subclass of server_response) with the full game_state inside</span></div> -<div class="line"> <a class="code hl_class" href="classfull__state__response.html">full_state_response</a> state_update_msg = <a class="code hl_class" href="classfull__state__response.html">full_state_response</a>(this->get_id(), *_game_state);</div> +<div class="line"> <a class="code hl_class" href="classfull__state__response.html">full_state_response</a> state_update_msg = <a class="code hl_class" href="classfull__state__response.html">full_state_response</a>(this-><a class="code hl_function" href="classgame__instance.html#a72cd93738171ffc856c3d77df5f967da">get_id</a>(), *_game_state);</div> <div class="line"> <span class="comment">// BROADCAST new game_state to all other players</span></div> <div class="line"> server_network_manager::broadcast_message(state_update_msg, _game_state-><a class="code hl_function" href="classgame__state.html#abcaccd551f938f961d12266e34c037d2">get_players</a>(), <a class="code hl_class" href="classplayer.html">player</a>);</div> <div class="line"> </div> @@ -274,6 +274,8 @@ Server -> Client:</h3> <div class="line"> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div> <div class="line">}</div> <div class="ttc" id="aclassfull__state__response_html"><div class="ttname"><a href="classfull__state__response.html">full_state_response</a></div><div class="ttdef"><b>Definition</b> full_state_response.h:11</div></div> +<div class="ttc" id="aclassgame__instance_html_a72cd93738171ffc856c3d77df5f967da"><div class="ttname"><a href="classgame__instance.html#a72cd93738171ffc856c3d77df5f967da">game_instance::get_id</a></div><div class="ttdeci">std::string get_id()</div><div class="ttdoc">Accessor of game instance id.</div><div class="ttdef"><b>Definition</b> game_instance.cpp:21</div></div> +<div class="ttc" id="aclassgame__instance_html_aee2eedd24991ce59dbcf2ec4f6cae8ac"><div class="ttname"><a href="classgame__instance.html#aee2eedd24991ce59dbcf2ec4f6cae8ac">game_instance::start_game</a></div><div class="ttdeci">bool start_game(player *player, std::string &err)</div><div class="ttdoc">Attempts to start the game.</div><div class="ttdef"><b>Definition</b> game_instance.cpp:63</div></div> <div class="ttc" id="aclassgame__state_html_a6ca6536eaec3404ff9b1ab39b8df4e67"><div class="ttname"><a href="classgame__state.html#a6ca6536eaec3404ff9b1ab39b8df4e67">game_state::start_game</a></div><div class="ttdeci">bool start_game(std::string &err)</div><div class="ttdoc">Starts the game.</div><div class="ttdef"><b>Definition</b> game_state.cpp:371</div></div> <div class="ttc" id="aclassgame__state_html_abcaccd551f938f961d12266e34c037d2"><div class="ttname"><a href="classgame__state.html#abcaccd551f938f961d12266e34c037d2">game_state::get_players</a></div><div class="ttdeci">std::vector< player * > & get_players()</div><div class="ttdoc">Gets the players that joined the game.</div><div class="ttdef"><b>Definition</b> game_state.cpp:196</div></div> <div class="ttc" id="aclassplayer_html"><div class="ttname"><a href="classplayer.html">player</a></div><div class="ttdoc">Represents a player in the game.</div><div class="ttdef"><b>Definition</b> player.h:18</div></div> @@ -343,7 +345,7 @@ Server -> Client:</h3> <div class="ttc" id="aclassserializable__value_html"><div class="ttname"><a href="classserializable__value.html">serializable_value</a></div><div class="ttdef"><b>Definition</b> serializable_value.h:27</div></div> <div class="ttc" id="aclassunique__serializable_html"><div class="ttname"><a href="classunique__serializable.html">unique_serializable</a></div><div class="ttdef"><b>Definition</b> unique_serializable.h:12</div></div> </div><!-- fragment --><p>The <code><a class="el" href="classgame__state.html" title="Represents the state of the game.">game_state</a></code> inherits from <code><a class="el" href="classunique__serializable.html">unique_serializable</a></code>, which essentially requires the <code>write_into_json()</code> function and adds a unique <code>id</code> to the object, such that it can be uniquely identified. Similarly, each parameter nested inside the <code><a class="el" href="classgame__state.html" title="Represents the state of the game.">game_state</a></code> (e.g. players, draw_pile, etc.) also inherit from <code><a class="el" href="classunique__serializable.html">unique_serializable</a></code> and therefore have their own <code>id</code> and serialization, resp. deserialization functions.</p> -<p>On the client side, the new <code><a class="el" href="classgame__state.html" title="Represents the state of the game.">game_state</a></code> is then passed to the <code>updateGameState(game_state*)</code> function of the <code><a class="el" href="class_game_controller.html">GameController</a></code> class, which performs a redraw of the GUI.</p> +<p>On the client side, the new <code><a class="el" href="classgame__state.html" title="Represents the state of the game.">game_state</a></code> is then passed to the <code>updateGameState(game_state*)</code> function of the <code><a class="el" href="class_game_controller.html" title="Controls visualization of the game state and processes client actions.">GameController</a></code> class, which performs a redraw of the GUI.</p> <p>Since you will have to add your own properties to the <code><a class="el" href="classgame__state.html" title="Represents the state of the game.">game_state</a></code> class (and probably create other classes that inherit from <code><a class="el" href="classunique__serializable.html">unique_serializable</a></code> to add to your <a class="el" href="classgame__state.html" title="Represents the state of the game.">game_state</a>), we want to shortly elaborate how the serialization and deserialization works for subclasses of <code><a class="el" href="classunique__serializable.html">unique_serializable</a></code>. It's very similar to the <code><a class="el" href="classclient__request.html">client_request</a></code> class discussed earlier. Here is how the <code>write_into_json(...)</code> function is implemented in the <code><a class="el" href="classgame__state.html" title="Represents the state of the game.">game_state</a></code> class of <a class="el" href="class_wizard.html">Wizard</a>. <b>Don't be shocked by the lengthy code. It's only a lot of repetition for each class property</b> :</p> <div class="fragment"><div class="line"><span class="keywordtype">void</span> <a class="code hl_function" href="classgame__state.html#a54873cd18b46555915d150a6d8dd6f83">game_state::write_into_json</a>(rapidjson::Value &json,</div> <div class="line"> rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> &allocator)<span class="keyword"> const </span>{</div> diff --git a/html/menudata.js b/html/menudata.js index d226627..01ffaaf 100644 --- a/html/menudata.js +++ b/html/menudata.js @@ -38,6 +38,7 @@ var menudata={children:[ {text:"g",url:"functions.html#index_g"}, {text:"h",url:"functions.html#index_h"}, {text:"i",url:"functions.html#index_i"}, +{text:"l",url:"functions.html#index_l"}, {text:"p",url:"functions.html#index_p"}, {text:"r",url:"functions.html#index_r"}, {text:"s",url:"functions.html#index_s"}, @@ -54,6 +55,7 @@ var menudata={children:[ {text:"g",url:"functions_func.html#index_g"}, {text:"h",url:"functions_func.html#index_h"}, {text:"i",url:"functions_func.html#index_i"}, +{text:"l",url:"functions_func.html#index_l"}, {text:"p",url:"functions_func.html#index_p"}, {text:"r",url:"functions_func.html#index_r"}, {text:"s",url:"functions_func.html#index_s"}, diff --git a/html/search/all_12.js b/html/search/all_12.js index bea4e14..3e332e9 100644 --- a/html/search/all_12.js +++ b/html/search/all_12.js @@ -2,9 +2,11 @@ var searchData= [ ['panel_0',['4.1 Connection Panel',['../index.html#autotoc_md7',1,'']]], ['play_20the_20game_1',['4 Play the Game',['../index.html#autotoc_md6',1,'']]], - ['play_5fcard_2',['play_card',['../classgame__state.html#a6c65d95086a88b8d111de5553e1210ec',1,'game_state']]], + ['play_5fcard_2',['play_card',['../classgame__state.html#a6c65d95086a88b8d111de5553e1210ec',1,'game_state::play_card()'],['../classgame__instance.html#a1a7e19a4b0907cb0b5f1523edb7e68ca',1,'game_instance::play_card()']]], ['play_5fcard_5frequest_3',['play_card_request',['../classplay__card__request.html',1,'']]], - ['player_4',['player',['../classplayer.html',1,'player'],['../classplayer.html#a1f0916939a8caa2e7140d5c89a6aa718',1,'player::player(const std::string &name)'],['../classplayer.html#aa97dd36228b56912bc5dad63f64e1ccf',1,'player::player(const std::string &id, const std::string &name)']]], - ['player_5fmanager_5',['player_manager',['../classplayer__manager.html',1,'']]], - ['project_20wizard_6',['Software Engineering Project - Wizard',['../index.html',1,'']]] + ['playcard_4',['playCard',['../class_game_controller.html#a87b164e2094901861e5b47056634facc',1,'GameController']]], + ['player_5',['player',['../classplayer.html',1,'player'],['../classplayer.html#a1f0916939a8caa2e7140d5c89a6aa718',1,'player::player(const std::string &name)'],['../classplayer.html#aa97dd36228b56912bc5dad63f64e1ccf',1,'player::player(const std::string &id, const std::string &name)']]], + ['player_5fmanager_6',['player_manager',['../classplayer__manager.html',1,'']]], + ['processestimatetricks_7',['processEstimateTricks',['../class_game_controller.html#a5f1023f2029e5dbb25b795a0606e06a9',1,'GameController']]], + ['project_20wizard_8',['Software Engineering Project - Wizard',['../index.html',1,'']]] ]; diff --git a/html/search/all_14.js b/html/search/all_14.js index 4b4768a..d558e4e 100644 --- a/html/search/all_14.js +++ b/html/search/all_14.js @@ -22,9 +22,15 @@ var searchData= ['set_5ftrick_5fcolor_19',['set_trick_color',['../classtrick.html#a0f8c45882691509564ec42efed0d1aaa',1,'trick']]], ['set_5fup_5fround_20',['set_up_round',['../classtrick.html#ae5b769ed0fc2933c1a44b5e481c18b00',1,'trick']]], ['setup_5fround_21',['setup_round',['../classdeck.html#a77851e5cb8297849e91a885ed7959de1',1,'deck::setup_round()'],['../classgame__state.html#ab520d4076c53f70a68bc19f355243a4d',1,'game_state::setup_round()'],['../classplayer.html#a8cc6464ca3284140c92c6983ee62a299',1,'player::setup_round()']]], - ['software_20engineering_20project_20wizard_22',['Software Engineering Project - Wizard',['../index.html',1,'']]], - ['start_5fgame_23',['start_game',['../classgame__state.html#a6ca6536eaec3404ff9b1ab39b8df4e67',1,'game_state']]], - ['start_5fgame_5frequest_24',['start_game_request',['../classstart__game__request.html',1,'']]], - ['state_25',['4.3 Game State',['../index.html#autotoc_md16',1,'']]], - ['structure_20important_20classes_26',['4.4.1 Structure & Important Classes',['../index.html#autotoc_md18',1,'']]] + ['showerror_22',['showError',['../class_game_controller.html#adf043f9026a62f634a873c9f9d292034',1,'GameController']]], + ['showgameovermessage_23',['showGameOverMessage',['../class_game_controller.html#abb91c546ab8400c1e2e9f2a2ccc8298f',1,'GameController']]], + ['shownewroundmessage_24',['showNewRoundMessage',['../class_game_controller.html#a3c350056b82df662c946cb9119f11ced',1,'GameController']]], + ['showstatus_25',['showStatus',['../class_game_controller.html#a6a43eb061a9882b3937fc88bb4794324',1,'GameController']]], + ['showtrickovermessage_26',['showTrickOverMessage',['../class_game_controller.html#a8108659ad09724318c3a251d93bd5869',1,'GameController']]], + ['software_20engineering_20project_20wizard_27',['Software Engineering Project - Wizard',['../index.html',1,'']]], + ['start_5fgame_28',['start_game',['../classgame__state.html#a6ca6536eaec3404ff9b1ab39b8df4e67',1,'game_state::start_game()'],['../classgame__instance.html#aee2eedd24991ce59dbcf2ec4f6cae8ac',1,'game_instance::start_game()']]], + ['start_5fgame_5frequest_29',['start_game_request',['../classstart__game__request.html',1,'']]], + ['startgame_30',['startGame',['../class_game_controller.html#a8f30ab3ff471ac0a5c8b88dc7fea45f4',1,'GameController']]], + ['state_31',['4.3 Game State',['../index.html#autotoc_md16',1,'']]], + ['structure_20important_20classes_32',['4.4.1 Structure & Important Classes',['../index.html#autotoc_md18',1,'']]] ]; diff --git a/html/search/all_15.js b/html/search/all_15.js index f8e788d..0264a27 100644 --- a/html/search/all_15.js +++ b/html/search/all_15.js @@ -3,5 +3,7 @@ var searchData= ['the_20game_0',['the Game',['../index.html#autotoc_md5',1,'3 Run the Game'],['../index.html#autotoc_md6',1,'4 Play the Game']]], ['trick_1',['trick',['../classtrick.html',1,'trick'],['../classtrick.html#a3b0a12789b87d15d9cdc4e5b6f85b47d',1,'trick::trick()'],['../classtrick.html#ad55ad2f0462144ee39c0e6d392543a14',1,'trick::trick(const trick &other)'],['../classtrick.html#abb172ad9a476e96a754eea0c33e1eda9',1,'trick::trick(const std::string &id)'],['../classtrick.html#ab756ba7a19c4bf98f0d8456ad0081fc3',1,'trick::trick(const std::string &id, const std::vector< std::pair< card *, player * > > &cards, serializable_value< int > *trick_color, serializable_value< int > *trump_color)'],['../classtrick.html#a3ecb1c5ebe84a300d7388e2846737fa4',1,'trick::trick(int trump)']]], ['trickestimationpanel_2',['TrickEstimationPanel',['../class_trick_estimation_panel.html',1,'']]], - ['try_5fget_5fcard_3',['try_get_card',['../classhand.html#a0a50cbbb167e6a1d633dd48bc4b695fe',1,'hand']]] + ['try_5fadd_5fplayer_3',['try_add_player',['../classgame__instance.html#a1176ce8464586487f9ae5676ca900e10',1,'game_instance']]], + ['try_5fget_5fcard_4',['try_get_card',['../classhand.html#a0a50cbbb167e6a1d633dd48bc4b695fe',1,'hand']]], + ['try_5fremove_5fplayer_5',['try_remove_player',['../classgame__instance.html#a2c6fed45a14273b09a9f202481fa62aa',1,'game_instance']]] ]; diff --git a/html/search/all_16.js b/html/search/all_16.js index aec59b4..ae423c9 100644 --- a/html/search/all_16.js +++ b/html/search/all_16.js @@ -2,5 +2,6 @@ var searchData= [ ['unique_5fserializable_0',['unique_serializable',['../classunique__serializable.html',1,'']]], ['update_5fcurrent_5fplayer_1',['update_current_player',['../classgame__state.html#a49851709fcec061d36478ed2fdcc3d9d',1,'game_state']]], - ['uuid_5fgenerator_2',['uuid_generator',['../classuuid__generator.html',1,'']]] + ['updategamestate_2',['updateGameState',['../class_game_controller.html#a994773f79be8c9e8dc8c19ee2d389103',1,'GameController']]], + ['uuid_5fgenerator_3',['uuid_generator',['../classuuid__generator.html',1,'']]] ]; diff --git a/html/search/all_18.js b/html/search/all_18.js index e493971..688609a 100644 --- a/html/search/all_18.js +++ b/html/search/all_18.js @@ -2,8 +2,9 @@ var searchData= [ ['_7ecard_0',['~card',['../classcard.html#ac7a5d8d53e8cc33f5c5a03d8ccb806c4',1,'card']]], ['_7edeck_1',['~deck',['../classdeck.html#a63a688bda08bfef8d2c37d53523b7b12',1,'deck']]], - ['_7egame_5fstate_2',['~game_state',['../classgame__state.html#a2fbc370f93617298719f61514afdb5bc',1,'game_state']]], - ['_7ehand_3',['~hand',['../classhand.html#af3ffc5e5b46f04b14f12a9fc130b220a',1,'hand']]], - ['_7eplayer_4',['~player',['../classplayer.html#a0a62c0208584465db2daa1ac6e15b1ad',1,'player']]], - ['_7etrick_5',['~trick',['../classtrick.html#a22c0b586f1d6c3baeb7bb0e22eb7dfe2',1,'trick']]] + ['_7egame_5finstance_2',['~game_instance',['../classgame__instance.html#a1fa390603341beb15e09e5a4b03465c1',1,'game_instance']]], + ['_7egame_5fstate_3',['~game_state',['../classgame__state.html#a2fbc370f93617298719f61514afdb5bc',1,'game_state']]], + ['_7ehand_4',['~hand',['../classhand.html#af3ffc5e5b46f04b14f12a9fc130b220a',1,'hand']]], + ['_7eplayer_5',['~player',['../classplayer.html#a0a62c0208584465db2daa1ac6e15b1ad',1,'player']]], + ['_7etrick_6',['~trick',['../classtrick.html#a22c0b586f1d6c3baeb7bb0e22eb7dfe2',1,'trick']]] ]; diff --git a/html/search/all_6.js b/html/search/all_6.js index 19db1fc..687fe63 100644 --- a/html/search/all_6.js +++ b/html/search/all_6.js @@ -8,5 +8,6 @@ var searchData= ['clientnetworkmanager_5',['ClientNetworkManager',['../class_client_network_manager.html',1,'']]], ['compile_20instructions_6',['2 Compile Instructions',['../index.html#autotoc_md4',1,'']]], ['connection_20panel_7',['4.1 Connection Panel',['../index.html#autotoc_md7',1,'']]], - ['connectionpanel_8',['ConnectionPanel',['../class_connection_panel.html',1,'']]] + ['connectionpanel_8',['ConnectionPanel',['../class_connection_panel.html',1,'']]], + ['connecttoserver_9',['connectToServer',['../class_game_controller.html#a023da21da545374ee46fb873149976c4',1,'GameController']]] ]; diff --git a/html/search/all_8.js b/html/search/all_8.js index d83294d..d92332e 100644 --- a/html/search/all_8.js +++ b/html/search/all_8.js @@ -2,7 +2,8 @@ var searchData= [ ['engineering_20project_20wizard_0',['Software Engineering Project - Wizard',['../index.html',1,'']]], ['errordialog_1',['ErrorDialog',['../class_error_dialog.html',1,'']]], - ['estimate_5ftricks_2',['estimate_tricks',['../classgame__state.html#ac4ebff625d83c633c124890537d60354',1,'game_state']]], + ['estimate_5ftricks_2',['estimate_tricks',['../classgame__state.html#ac4ebff625d83c633c124890537d60354',1,'game_state::estimate_tricks()'],['../classgame__instance.html#af1434756e3041deca68b4f4f84176f05',1,'game_instance::estimate_tricks()']]], ['estimate_5ftricks_5frequest_3',['estimate_tricks_request',['../classestimate__tricks__request.html',1,'']]], - ['events_4',['4.4.2 Events',['../index.html#autotoc_md19',1,'']]] + ['estimatetricks_4',['estimateTricks',['../class_game_controller.html#abd110563d0f37f06096176c199d22055',1,'GameController']]], + ['events_5',['4.4.2 Events',['../index.html#autotoc_md19',1,'']]] ]; diff --git a/html/search/all_a.js b/html/search/all_a.js index 242dd52..5cb1b1c 100644 --- a/html/search/all_a.js +++ b/html/search/all_a.js @@ -2,7 +2,7 @@ var searchData= [ ['game_0',['Game',['../index.html#autotoc_md5',1,'3 Run the Game'],['../index.html#autotoc_md6',1,'4 Play the Game']]], ['game_20state_1',['4.3 Game State',['../index.html#autotoc_md16',1,'']]], - ['game_5finstance_2',['game_instance',['../classgame__instance.html',1,'']]], + ['game_5finstance_2',['game_instance',['../classgame__instance.html',1,'game_instance'],['../classgame__instance.html#a2b1d00adf8c933a98698f972827e48b9',1,'game_instance::game_instance()']]], ['game_5finstance_5fmanager_3',['game_instance_manager',['../classgame__instance__manager.html',1,'']]], ['game_5fstate_4',['game_state',['../classgame__state.html',1,'game_state'],['../classgame__state.html#a0c10b830e222d726557c3c33685c595a',1,'game_state::game_state()']]], ['gamecontroller_5',['GameController',['../class_game_controller.html',1,'']]], @@ -12,24 +12,28 @@ var searchData= ['get_5fcolor_9',['get_color',['../classcard.html#ab033bc0e71b09d3cf3ac28c2f1fbde18',1,'card']]], ['get_5fcurrent_5fplayer_10',['get_current_player',['../classgame__state.html#a2d16f420a8aa651685461a5efb8bb600',1,'game_state']]], ['get_5fgame_5fid_11',['get_game_id',['../classplayer.html#afeb6c5483a59042fcc4a3a2aed6a6a2c',1,'player']]], - ['get_5fhand_12',['get_hand',['../classplayer.html#af333dcbf7123726c9bda3ab94ba9ee6d',1,'player']]], - ['get_5flast_5ftrick_13',['get_last_trick',['../classgame__state.html#a4327f753f1f5341f9fe3774ea3fbc99b',1,'game_state']]], - ['get_5fmax_5fround_5fnumber_14',['get_max_round_number',['../classgame__state.html#aa75c4da6c0056e48e5040be8127d7473',1,'game_state']]], - ['get_5fnof_5fcards_15',['get_nof_cards',['../classhand.html#adc90d109b7b564a0dbca0b0798c99641',1,'hand::get_nof_cards()'],['../classplayer.html#a457c5ab90b0ecd610eead66b41c8333a',1,'player::get_nof_cards() const noexcept']]], - ['get_5fnof_5fpredicted_16',['get_nof_predicted',['../classplayer.html#a40333c302ff51707749c544930fb80aa',1,'player']]], - ['get_5fnof_5ftricks_17',['get_nof_tricks',['../classplayer.html#a5e3d1374aee685b08a29d0ac7cec3df4',1,'player']]], - ['get_5fnumber_5fof_5fremaining_5fcards_18',['get_number_of_remaining_cards',['../classdeck.html#ae1c7a4174108a14cb1180de1afdcb6d6',1,'deck']]], - ['get_5fplayer_5fname_19',['get_player_name',['../classplayer.html#a42d01dcf4cdbd452fc5dcaf5e6f21773',1,'player']]], - ['get_5fplayers_20',['get_players',['../classgame__state.html#abcaccd551f938f961d12266e34c037d2',1,'game_state']]], - ['get_5fround_5fnumber_21',['get_round_number',['../classgame__state.html#ab3ef836a1b3a1e2bc9e429a018c72eca',1,'game_state']]], - ['get_5fscores_22',['get_scores',['../classplayer.html#aef5c25a02a2fdbdb4d8270582faf5dac',1,'player']]], - ['get_5fstarting_5fplayer_23',['get_starting_player',['../classgame__state.html#af4c553229260e307ff1f78dd0c74506d',1,'game_state']]], - ['get_5ftrick_24',['get_trick',['../classgame__state.html#a472fd1721c7cc9e3689394f18c767bf9',1,'game_state']]], - ['get_5ftrick_5fcolor_25',['get_trick_color',['../classtrick.html#a41f315804ac73454c8e41438da20a9c3',1,'trick']]], - ['get_5ftrick_5festimate_5fsum_26',['get_trick_estimate_sum',['../classgame__state.html#aa5263d03c85bce1e9d252e9017cbe282',1,'game_state']]], - ['get_5ftrick_5fnumber_27',['get_trick_number',['../classgame__state.html#a3fce12f31ad0aab82b0d2da90e3e8e15',1,'game_state']]], - ['get_5ftrick_5fstarting_5fplayer_28',['get_trick_starting_player',['../classgame__state.html#aa40554d105939c5dce934daaa858c242',1,'game_state']]], - ['get_5ftrump_5fcolor_29',['get_trump_color',['../classtrick.html#a69c49e2968abb235a6c7148cb05b0e64',1,'trick::get_trump_color()'],['../classgame__state.html#abdf6c5116ed643773d676c90a05e6fe4',1,'game_state::get_trump_color()']]], - ['get_5fvalue_30',['get_value',['../classcard.html#a2baf8dfef09ac8c1a67b34c2e67186c3',1,'card']]], - ['gui_20with_20wxwidgets_31',['4.4 GUI with wxWidgets',['../index.html#autotoc_md17',1,'']]] + ['get_5fgame_5fstate_12',['get_game_state',['../classgame__instance.html#a852c73a12031d7fbd2095530df595c5c',1,'game_instance']]], + ['get_5fhand_13',['get_hand',['../classplayer.html#af333dcbf7123726c9bda3ab94ba9ee6d',1,'player']]], + ['get_5fid_14',['get_id',['../classgame__instance.html#a72cd93738171ffc856c3d77df5f967da',1,'game_instance']]], + ['get_5flast_5ftrick_15',['get_last_trick',['../classgame__state.html#a4327f753f1f5341f9fe3774ea3fbc99b',1,'game_state']]], + ['get_5fmax_5fround_5fnumber_16',['get_max_round_number',['../classgame__state.html#aa75c4da6c0056e48e5040be8127d7473',1,'game_state']]], + ['get_5fnof_5fcards_17',['get_nof_cards',['../classhand.html#adc90d109b7b564a0dbca0b0798c99641',1,'hand::get_nof_cards()'],['../classplayer.html#a457c5ab90b0ecd610eead66b41c8333a',1,'player::get_nof_cards() const noexcept']]], + ['get_5fnof_5fpredicted_18',['get_nof_predicted',['../classplayer.html#a40333c302ff51707749c544930fb80aa',1,'player']]], + ['get_5fnof_5ftricks_19',['get_nof_tricks',['../classplayer.html#a5e3d1374aee685b08a29d0ac7cec3df4',1,'player']]], + ['get_5fnumber_5fof_5fremaining_5fcards_20',['get_number_of_remaining_cards',['../classdeck.html#ae1c7a4174108a14cb1180de1afdcb6d6',1,'deck']]], + ['get_5fplayer_5fname_21',['get_player_name',['../classplayer.html#a42d01dcf4cdbd452fc5dcaf5e6f21773',1,'player']]], + ['get_5fplayers_22',['get_players',['../classgame__state.html#abcaccd551f938f961d12266e34c037d2',1,'game_state']]], + ['get_5fround_5fnumber_23',['get_round_number',['../classgame__state.html#ab3ef836a1b3a1e2bc9e429a018c72eca',1,'game_state']]], + ['get_5fscores_24',['get_scores',['../classplayer.html#aef5c25a02a2fdbdb4d8270582faf5dac',1,'player']]], + ['get_5fstarting_5fplayer_25',['get_starting_player',['../classgame__state.html#af4c553229260e307ff1f78dd0c74506d',1,'game_state']]], + ['get_5ftrick_26',['get_trick',['../classgame__state.html#a472fd1721c7cc9e3689394f18c767bf9',1,'game_state']]], + ['get_5ftrick_5fcolor_27',['get_trick_color',['../classtrick.html#a41f315804ac73454c8e41438da20a9c3',1,'trick']]], + ['get_5ftrick_5festimate_5fsum_28',['get_trick_estimate_sum',['../classgame__state.html#aa5263d03c85bce1e9d252e9017cbe282',1,'game_state']]], + ['get_5ftrick_5fnumber_29',['get_trick_number',['../classgame__state.html#a3fce12f31ad0aab82b0d2da90e3e8e15',1,'game_state']]], + ['get_5ftrick_5fstarting_5fplayer_30',['get_trick_starting_player',['../classgame__state.html#aa40554d105939c5dce934daaa858c242',1,'game_state']]], + ['get_5ftrump_5fcolor_31',['get_trump_color',['../classtrick.html#a69c49e2968abb235a6c7148cb05b0e64',1,'trick::get_trump_color()'],['../classgame__state.html#abdf6c5116ed643773d676c90a05e6fe4',1,'game_state::get_trump_color()']]], + ['get_5fvalue_32',['get_value',['../classcard.html#a2baf8dfef09ac8c1a67b34c2e67186c3',1,'card']]], + ['get_5fwinner_33',['get_winner',['../classtrick.html#a4b93ae88c17db486d975408cd8cfad1b',1,'trick']]], + ['getmainthreadeventhandler_34',['getMainThreadEventHandler',['../class_game_controller.html#abec8c73ea01e4b7e01b2ca1d932e0c16',1,'GameController']]], + ['gui_20with_20wxwidgets_35',['4.4 GUI with wxWidgets',['../index.html#autotoc_md17',1,'']]] ]; diff --git a/html/search/all_c.js b/html/search/all_c.js index 98badb2..621911b 100644 --- a/html/search/all_c.js +++ b/html/search/all_c.js @@ -2,13 +2,14 @@ var searchData= [ ['imagepanel_0',['ImagePanel',['../class_image_panel.html',1,'']]], ['important_20classes_1',['4.4.1 Structure & Important Classes',['../index.html#autotoc_md18',1,'']]], - ['inputfield_2',['InputField',['../class_input_field.html',1,'']]], - ['instructions_3',['2 Compile Instructions',['../index.html#autotoc_md4',1,'']]], - ['interface_4',['Network Interface',['../index.html#autotoc_md8',1,'']]], - ['is_5fempty_5',['is_empty',['../classdeck.html#a6aef528ff7b9c608863cc77c19b7882d',1,'deck']]], - ['is_5festimation_5fphase_6',['is_estimation_phase',['../classgame__state.html#a88d19342ee76acc4660b3e56e8c126eb',1,'game_state']]], - ['is_5ffinished_7',['is_finished',['../classgame__state.html#a9b83de8a89e3bb506184492d22c3cf45',1,'game_state']]], - ['is_5ffull_8',['is_full',['../classgame__state.html#ae161c283e275a57d71834754d11e9e40',1,'game_state']]], - ['is_5fplayer_5fin_5fgame_9',['is_player_in_game',['../classgame__state.html#a371d6a6d84395b90c15d84549b05d553',1,'game_state']]], - ['is_5fstarted_10',['is_started',['../classgame__state.html#aa0092c41779f38eba5e921e43b38559c',1,'game_state']]] + ['init_2',['init',['../class_game_controller.html#a8889bad76bc35487d3391fb8a5791616',1,'GameController']]], + ['inputfield_3',['InputField',['../class_input_field.html',1,'']]], + ['instructions_4',['2 Compile Instructions',['../index.html#autotoc_md4',1,'']]], + ['interface_5',['Network Interface',['../index.html#autotoc_md8',1,'']]], + ['is_5fempty_6',['is_empty',['../classdeck.html#a6aef528ff7b9c608863cc77c19b7882d',1,'deck']]], + ['is_5festimation_5fphase_7',['is_estimation_phase',['../classgame__state.html#a88d19342ee76acc4660b3e56e8c126eb',1,'game_state']]], + ['is_5ffinished_8',['is_finished',['../classgame__state.html#a9b83de8a89e3bb506184492d22c3cf45',1,'game_state::is_finished()'],['../classgame__instance.html#a5a080dfced3d2d1c697e36160b996a9c',1,'game_instance::is_finished()']]], + ['is_5ffull_9',['is_full',['../classgame__state.html#ae161c283e275a57d71834754d11e9e40',1,'game_state::is_full()'],['../classgame__instance.html#a77d1f40b8727c74f278efe9168f26831',1,'game_instance::is_full()']]], + ['is_5fplayer_5fin_5fgame_10',['is_player_in_game',['../classgame__state.html#a371d6a6d84395b90c15d84549b05d553',1,'game_state']]], + ['is_5fstarted_11',['is_started',['../classgame__state.html#aa0092c41779f38eba5e921e43b38559c',1,'game_state::is_started()'],['../classgame__instance.html#a2c8a8be71f8c3016075cc08768ebbb64',1,'game_instance::is_started()']]] ]; diff --git a/html/search/all_e.js b/html/search/all_e.js index 78a8d13..4326914 100644 --- a/html/search/all_e.js +++ b/html/search/all_e.js @@ -1,4 +1,5 @@ var searchData= [ - ['leave_5fgame_5frequest_0',['leave_game_request',['../classleave__game__request.html',1,'']]] + ['leave_5fgame_5frequest_0',['leave_game_request',['../classleave__game__request.html',1,'']]], + ['leavegame_1',['leaveGame',['../class_game_controller.html#a8d42b2e41759bfd65cdebad87437369e',1,'GameController']]] ]; diff --git a/html/search/functions_1.js b/html/search/functions_1.js index 377f58f..0dd76f5 100644 --- a/html/search/functions_1.js +++ b/html/search/functions_1.js @@ -1,4 +1,5 @@ var searchData= [ - ['card_0',['card',['../classcard.html#a764d65641c619aedf1842a30e54905b7',1,'card']]] + ['card_0',['card',['../classcard.html#a764d65641c619aedf1842a30e54905b7',1,'card']]], + ['connecttoserver_1',['connectToServer',['../class_game_controller.html#a023da21da545374ee46fb873149976c4',1,'GameController']]] ]; diff --git a/html/search/functions_3.js b/html/search/functions_3.js index d14237b..cefaa94 100644 --- a/html/search/functions_3.js +++ b/html/search/functions_3.js @@ -1,4 +1,5 @@ var searchData= [ - ['estimate_5ftricks_0',['estimate_tricks',['../classgame__state.html#ac4ebff625d83c633c124890537d60354',1,'game_state']]] + ['estimate_5ftricks_0',['estimate_tricks',['../classgame__state.html#ac4ebff625d83c633c124890537d60354',1,'game_state::estimate_tricks()'],['../classgame__instance.html#af1434756e3041deca68b4f4f84176f05',1,'game_instance::estimate_tricks()']]], + ['estimatetricks_1',['estimateTricks',['../class_game_controller.html#abd110563d0f37f06096176c199d22055',1,'GameController']]] ]; diff --git a/html/search/functions_5.js b/html/search/functions_5.js index 3feebe2..b3255d1 100644 --- a/html/search/functions_5.js +++ b/html/search/functions_5.js @@ -1,28 +1,33 @@ var searchData= [ - ['game_5fstate_0',['game_state',['../classgame__state.html#a0c10b830e222d726557c3c33685c595a',1,'game_state']]], - ['get_5fcards_1',['get_cards',['../classhand.html#ad104b0376b1a13d987f349dd524ca47f',1,'hand']]], - ['get_5fcards_5fand_5fplayers_2',['get_cards_and_players',['../classtrick.html#a1d75f9e8fc94fd122adfc39a20089268',1,'trick']]], - ['get_5fcolor_3',['get_color',['../classcard.html#ab033bc0e71b09d3cf3ac28c2f1fbde18',1,'card']]], - ['get_5fcurrent_5fplayer_4',['get_current_player',['../classgame__state.html#a2d16f420a8aa651685461a5efb8bb600',1,'game_state']]], - ['get_5fgame_5fid_5',['get_game_id',['../classplayer.html#afeb6c5483a59042fcc4a3a2aed6a6a2c',1,'player']]], - ['get_5fhand_6',['get_hand',['../classplayer.html#af333dcbf7123726c9bda3ab94ba9ee6d',1,'player']]], - ['get_5flast_5ftrick_7',['get_last_trick',['../classgame__state.html#a4327f753f1f5341f9fe3774ea3fbc99b',1,'game_state']]], - ['get_5fmax_5fround_5fnumber_8',['get_max_round_number',['../classgame__state.html#aa75c4da6c0056e48e5040be8127d7473',1,'game_state']]], - ['get_5fnof_5fcards_9',['get_nof_cards',['../classhand.html#adc90d109b7b564a0dbca0b0798c99641',1,'hand::get_nof_cards()'],['../classplayer.html#a457c5ab90b0ecd610eead66b41c8333a',1,'player::get_nof_cards() const noexcept']]], - ['get_5fnof_5fpredicted_10',['get_nof_predicted',['../classplayer.html#a40333c302ff51707749c544930fb80aa',1,'player']]], - ['get_5fnof_5ftricks_11',['get_nof_tricks',['../classplayer.html#a5e3d1374aee685b08a29d0ac7cec3df4',1,'player']]], - ['get_5fnumber_5fof_5fremaining_5fcards_12',['get_number_of_remaining_cards',['../classdeck.html#ae1c7a4174108a14cb1180de1afdcb6d6',1,'deck']]], - ['get_5fplayer_5fname_13',['get_player_name',['../classplayer.html#a42d01dcf4cdbd452fc5dcaf5e6f21773',1,'player']]], - ['get_5fplayers_14',['get_players',['../classgame__state.html#abcaccd551f938f961d12266e34c037d2',1,'game_state']]], - ['get_5fround_5fnumber_15',['get_round_number',['../classgame__state.html#ab3ef836a1b3a1e2bc9e429a018c72eca',1,'game_state']]], - ['get_5fscores_16',['get_scores',['../classplayer.html#aef5c25a02a2fdbdb4d8270582faf5dac',1,'player']]], - ['get_5fstarting_5fplayer_17',['get_starting_player',['../classgame__state.html#af4c553229260e307ff1f78dd0c74506d',1,'game_state']]], - ['get_5ftrick_18',['get_trick',['../classgame__state.html#a472fd1721c7cc9e3689394f18c767bf9',1,'game_state']]], - ['get_5ftrick_5fcolor_19',['get_trick_color',['../classtrick.html#a41f315804ac73454c8e41438da20a9c3',1,'trick']]], - ['get_5ftrick_5festimate_5fsum_20',['get_trick_estimate_sum',['../classgame__state.html#aa5263d03c85bce1e9d252e9017cbe282',1,'game_state']]], - ['get_5ftrick_5fnumber_21',['get_trick_number',['../classgame__state.html#a3fce12f31ad0aab82b0d2da90e3e8e15',1,'game_state']]], - ['get_5ftrick_5fstarting_5fplayer_22',['get_trick_starting_player',['../classgame__state.html#aa40554d105939c5dce934daaa858c242',1,'game_state']]], - ['get_5ftrump_5fcolor_23',['get_trump_color',['../classtrick.html#a69c49e2968abb235a6c7148cb05b0e64',1,'trick::get_trump_color()'],['../classgame__state.html#abdf6c5116ed643773d676c90a05e6fe4',1,'game_state::get_trump_color()']]], - ['get_5fvalue_24',['get_value',['../classcard.html#a2baf8dfef09ac8c1a67b34c2e67186c3',1,'card']]] + ['game_5finstance_0',['game_instance',['../classgame__instance.html#a2b1d00adf8c933a98698f972827e48b9',1,'game_instance']]], + ['game_5fstate_1',['game_state',['../classgame__state.html#a0c10b830e222d726557c3c33685c595a',1,'game_state']]], + ['get_5fcards_2',['get_cards',['../classhand.html#ad104b0376b1a13d987f349dd524ca47f',1,'hand']]], + ['get_5fcards_5fand_5fplayers_3',['get_cards_and_players',['../classtrick.html#a1d75f9e8fc94fd122adfc39a20089268',1,'trick']]], + ['get_5fcolor_4',['get_color',['../classcard.html#ab033bc0e71b09d3cf3ac28c2f1fbde18',1,'card']]], + ['get_5fcurrent_5fplayer_5',['get_current_player',['../classgame__state.html#a2d16f420a8aa651685461a5efb8bb600',1,'game_state']]], + ['get_5fgame_5fid_6',['get_game_id',['../classplayer.html#afeb6c5483a59042fcc4a3a2aed6a6a2c',1,'player']]], + ['get_5fgame_5fstate_7',['get_game_state',['../classgame__instance.html#a852c73a12031d7fbd2095530df595c5c',1,'game_instance']]], + ['get_5fhand_8',['get_hand',['../classplayer.html#af333dcbf7123726c9bda3ab94ba9ee6d',1,'player']]], + ['get_5fid_9',['get_id',['../classgame__instance.html#a72cd93738171ffc856c3d77df5f967da',1,'game_instance']]], + ['get_5flast_5ftrick_10',['get_last_trick',['../classgame__state.html#a4327f753f1f5341f9fe3774ea3fbc99b',1,'game_state']]], + ['get_5fmax_5fround_5fnumber_11',['get_max_round_number',['../classgame__state.html#aa75c4da6c0056e48e5040be8127d7473',1,'game_state']]], + ['get_5fnof_5fcards_12',['get_nof_cards',['../classhand.html#adc90d109b7b564a0dbca0b0798c99641',1,'hand::get_nof_cards()'],['../classplayer.html#a457c5ab90b0ecd610eead66b41c8333a',1,'player::get_nof_cards() const noexcept']]], + ['get_5fnof_5fpredicted_13',['get_nof_predicted',['../classplayer.html#a40333c302ff51707749c544930fb80aa',1,'player']]], + ['get_5fnof_5ftricks_14',['get_nof_tricks',['../classplayer.html#a5e3d1374aee685b08a29d0ac7cec3df4',1,'player']]], + ['get_5fnumber_5fof_5fremaining_5fcards_15',['get_number_of_remaining_cards',['../classdeck.html#ae1c7a4174108a14cb1180de1afdcb6d6',1,'deck']]], + ['get_5fplayer_5fname_16',['get_player_name',['../classplayer.html#a42d01dcf4cdbd452fc5dcaf5e6f21773',1,'player']]], + ['get_5fplayers_17',['get_players',['../classgame__state.html#abcaccd551f938f961d12266e34c037d2',1,'game_state']]], + ['get_5fround_5fnumber_18',['get_round_number',['../classgame__state.html#ab3ef836a1b3a1e2bc9e429a018c72eca',1,'game_state']]], + ['get_5fscores_19',['get_scores',['../classplayer.html#aef5c25a02a2fdbdb4d8270582faf5dac',1,'player']]], + ['get_5fstarting_5fplayer_20',['get_starting_player',['../classgame__state.html#af4c553229260e307ff1f78dd0c74506d',1,'game_state']]], + ['get_5ftrick_21',['get_trick',['../classgame__state.html#a472fd1721c7cc9e3689394f18c767bf9',1,'game_state']]], + ['get_5ftrick_5fcolor_22',['get_trick_color',['../classtrick.html#a41f315804ac73454c8e41438da20a9c3',1,'trick']]], + ['get_5ftrick_5festimate_5fsum_23',['get_trick_estimate_sum',['../classgame__state.html#aa5263d03c85bce1e9d252e9017cbe282',1,'game_state']]], + ['get_5ftrick_5fnumber_24',['get_trick_number',['../classgame__state.html#a3fce12f31ad0aab82b0d2da90e3e8e15',1,'game_state']]], + ['get_5ftrick_5fstarting_5fplayer_25',['get_trick_starting_player',['../classgame__state.html#aa40554d105939c5dce934daaa858c242',1,'game_state']]], + ['get_5ftrump_5fcolor_26',['get_trump_color',['../classtrick.html#a69c49e2968abb235a6c7148cb05b0e64',1,'trick::get_trump_color()'],['../classgame__state.html#abdf6c5116ed643773d676c90a05e6fe4',1,'game_state::get_trump_color()']]], + ['get_5fvalue_27',['get_value',['../classcard.html#a2baf8dfef09ac8c1a67b34c2e67186c3',1,'card']]], + ['get_5fwinner_28',['get_winner',['../classtrick.html#a4b93ae88c17db486d975408cd8cfad1b',1,'trick']]], + ['getmainthreadeventhandler_29',['getMainThreadEventHandler',['../class_game_controller.html#abec8c73ea01e4b7e01b2ca1d932e0c16',1,'GameController']]] ]; diff --git a/html/search/functions_7.js b/html/search/functions_7.js index 81a7bd1..32c8912 100644 --- a/html/search/functions_7.js +++ b/html/search/functions_7.js @@ -1,9 +1,10 @@ var searchData= [ - ['is_5fempty_0',['is_empty',['../classdeck.html#a6aef528ff7b9c608863cc77c19b7882d',1,'deck']]], - ['is_5festimation_5fphase_1',['is_estimation_phase',['../classgame__state.html#a88d19342ee76acc4660b3e56e8c126eb',1,'game_state']]], - ['is_5ffinished_2',['is_finished',['../classgame__state.html#a9b83de8a89e3bb506184492d22c3cf45',1,'game_state']]], - ['is_5ffull_3',['is_full',['../classgame__state.html#ae161c283e275a57d71834754d11e9e40',1,'game_state']]], - ['is_5fplayer_5fin_5fgame_4',['is_player_in_game',['../classgame__state.html#a371d6a6d84395b90c15d84549b05d553',1,'game_state']]], - ['is_5fstarted_5',['is_started',['../classgame__state.html#aa0092c41779f38eba5e921e43b38559c',1,'game_state']]] + ['init_0',['init',['../class_game_controller.html#a8889bad76bc35487d3391fb8a5791616',1,'GameController']]], + ['is_5fempty_1',['is_empty',['../classdeck.html#a6aef528ff7b9c608863cc77c19b7882d',1,'deck']]], + ['is_5festimation_5fphase_2',['is_estimation_phase',['../classgame__state.html#a88d19342ee76acc4660b3e56e8c126eb',1,'game_state']]], + ['is_5ffinished_3',['is_finished',['../classgame__state.html#a9b83de8a89e3bb506184492d22c3cf45',1,'game_state::is_finished()'],['../classgame__instance.html#a5a080dfced3d2d1c697e36160b996a9c',1,'game_instance::is_finished()']]], + ['is_5ffull_4',['is_full',['../classgame__state.html#ae161c283e275a57d71834754d11e9e40',1,'game_state::is_full()'],['../classgame__instance.html#a77d1f40b8727c74f278efe9168f26831',1,'game_instance::is_full()']]], + ['is_5fplayer_5fin_5fgame_5',['is_player_in_game',['../classgame__state.html#a371d6a6d84395b90c15d84549b05d553',1,'game_state']]], + ['is_5fstarted_6',['is_started',['../classgame__state.html#aa0092c41779f38eba5e921e43b38559c',1,'game_state::is_started()'],['../classgame__instance.html#a2c8a8be71f8c3016075cc08768ebbb64',1,'game_instance::is_started()']]] ]; diff --git a/html/search/functions_8.js b/html/search/functions_8.js index 29e7df5..250d437 100644 --- a/html/search/functions_8.js +++ b/html/search/functions_8.js @@ -1,5 +1,4 @@ var searchData= [ - ['play_5fcard_0',['play_card',['../classgame__state.html#a6c65d95086a88b8d111de5553e1210ec',1,'game_state']]], - ['player_1',['player',['../classplayer.html#a1f0916939a8caa2e7140d5c89a6aa718',1,'player::player(const std::string &name)'],['../classplayer.html#aa97dd36228b56912bc5dad63f64e1ccf',1,'player::player(const std::string &id, const std::string &name)']]] + ['leavegame_0',['leaveGame',['../class_game_controller.html#a8d42b2e41759bfd65cdebad87437369e',1,'GameController']]] ]; diff --git a/html/search/functions_9.js b/html/search/functions_9.js index 6baee91..2ac77a1 100644 --- a/html/search/functions_9.js +++ b/html/search/functions_9.js @@ -1,5 +1,7 @@ var searchData= [ - ['remove_5fcard_0',['remove_card',['../classhand.html#aa466496b7ce0b58dbd63620535430439',1,'hand']]], - ['remove_5fplayer_1',['remove_player',['../classgame__state.html#a734fc594d457aa4e6db5bc7467e6442d',1,'game_state']]] + ['play_5fcard_0',['play_card',['../classgame__state.html#a6c65d95086a88b8d111de5553e1210ec',1,'game_state::play_card()'],['../classgame__instance.html#a1a7e19a4b0907cb0b5f1523edb7e68ca',1,'game_instance::play_card()']]], + ['playcard_1',['playCard',['../class_game_controller.html#a87b164e2094901861e5b47056634facc',1,'GameController']]], + ['player_2',['player',['../classplayer.html#a1f0916939a8caa2e7140d5c89a6aa718',1,'player::player(const std::string &name)'],['../classplayer.html#aa97dd36228b56912bc5dad63f64e1ccf',1,'player::player(const std::string &id, const std::string &name)']]], + ['processestimatetricks_3',['processEstimateTricks',['../class_game_controller.html#a5f1023f2029e5dbb25b795a0606e06a9',1,'GameController']]] ]; diff --git a/html/search/functions_a.js b/html/search/functions_a.js index fa50738..6baee91 100644 --- a/html/search/functions_a.js +++ b/html/search/functions_a.js @@ -1,12 +1,5 @@ var searchData= [ - ['set_5fgame_5fid_0',['set_game_id',['../classplayer.html#aa916eeacf97f00507f412fd91bfe37d4',1,'player']]], - ['set_5fnof_5fpredicted_1',['set_nof_predicted',['../classplayer.html#a1a3ce0ac69cad799641f4d732435c3f7',1,'player']]], - ['set_5fnof_5ftricks_2',['set_nof_tricks',['../classplayer.html#a61aa38ceff0c856b36642c4bc0081433',1,'player']]], - ['set_5fscores_3',['set_scores',['../classplayer.html#af1d7e67eee27af87c01e43508a731bd4',1,'player']]], - ['set_5ftrick_4',['set_trick',['../classgame__state.html#a745dd23945b6165470c494b036ac4667',1,'game_state']]], - ['set_5ftrick_5fcolor_5',['set_trick_color',['../classtrick.html#a0f8c45882691509564ec42efed0d1aaa',1,'trick']]], - ['set_5fup_5fround_6',['set_up_round',['../classtrick.html#ae5b769ed0fc2933c1a44b5e481c18b00',1,'trick']]], - ['setup_5fround_7',['setup_round',['../classdeck.html#a77851e5cb8297849e91a885ed7959de1',1,'deck::setup_round()'],['../classgame__state.html#ab520d4076c53f70a68bc19f355243a4d',1,'game_state::setup_round()'],['../classplayer.html#a8cc6464ca3284140c92c6983ee62a299',1,'player::setup_round()']]], - ['start_5fgame_8',['start_game',['../classgame__state.html#a6ca6536eaec3404ff9b1ab39b8df4e67',1,'game_state']]] + ['remove_5fcard_0',['remove_card',['../classhand.html#aa466496b7ce0b58dbd63620535430439',1,'hand']]], + ['remove_5fplayer_1',['remove_player',['../classgame__state.html#a734fc594d457aa4e6db5bc7467e6442d',1,'game_state']]] ]; diff --git a/html/search/functions_b.js b/html/search/functions_b.js index 836aaee..6ab1284 100644 --- a/html/search/functions_b.js +++ b/html/search/functions_b.js @@ -1,5 +1,18 @@ var searchData= [ - ['trick_0',['trick',['../classtrick.html#a3b0a12789b87d15d9cdc4e5b6f85b47d',1,'trick::trick()'],['../classtrick.html#ad55ad2f0462144ee39c0e6d392543a14',1,'trick::trick(const trick &other)'],['../classtrick.html#abb172ad9a476e96a754eea0c33e1eda9',1,'trick::trick(const std::string &id)'],['../classtrick.html#ab756ba7a19c4bf98f0d8456ad0081fc3',1,'trick::trick(const std::string &id, const std::vector< std::pair< card *, player * > > &cards, serializable_value< int > *trick_color, serializable_value< int > *trump_color)'],['../classtrick.html#a3ecb1c5ebe84a300d7388e2846737fa4',1,'trick::trick(int trump)']]], - ['try_5fget_5fcard_1',['try_get_card',['../classhand.html#a0a50cbbb167e6a1d633dd48bc4b695fe',1,'hand']]] + ['set_5fgame_5fid_0',['set_game_id',['../classplayer.html#aa916eeacf97f00507f412fd91bfe37d4',1,'player']]], + ['set_5fnof_5fpredicted_1',['set_nof_predicted',['../classplayer.html#a1a3ce0ac69cad799641f4d732435c3f7',1,'player']]], + ['set_5fnof_5ftricks_2',['set_nof_tricks',['../classplayer.html#a61aa38ceff0c856b36642c4bc0081433',1,'player']]], + ['set_5fscores_3',['set_scores',['../classplayer.html#af1d7e67eee27af87c01e43508a731bd4',1,'player']]], + ['set_5ftrick_4',['set_trick',['../classgame__state.html#a745dd23945b6165470c494b036ac4667',1,'game_state']]], + ['set_5ftrick_5fcolor_5',['set_trick_color',['../classtrick.html#a0f8c45882691509564ec42efed0d1aaa',1,'trick']]], + ['set_5fup_5fround_6',['set_up_round',['../classtrick.html#ae5b769ed0fc2933c1a44b5e481c18b00',1,'trick']]], + ['setup_5fround_7',['setup_round',['../classdeck.html#a77851e5cb8297849e91a885ed7959de1',1,'deck::setup_round()'],['../classgame__state.html#ab520d4076c53f70a68bc19f355243a4d',1,'game_state::setup_round()'],['../classplayer.html#a8cc6464ca3284140c92c6983ee62a299',1,'player::setup_round()']]], + ['showerror_8',['showError',['../class_game_controller.html#adf043f9026a62f634a873c9f9d292034',1,'GameController']]], + ['showgameovermessage_9',['showGameOverMessage',['../class_game_controller.html#abb91c546ab8400c1e2e9f2a2ccc8298f',1,'GameController']]], + ['shownewroundmessage_10',['showNewRoundMessage',['../class_game_controller.html#a3c350056b82df662c946cb9119f11ced',1,'GameController']]], + ['showstatus_11',['showStatus',['../class_game_controller.html#a6a43eb061a9882b3937fc88bb4794324',1,'GameController']]], + ['showtrickovermessage_12',['showTrickOverMessage',['../class_game_controller.html#a8108659ad09724318c3a251d93bd5869',1,'GameController']]], + ['start_5fgame_13',['start_game',['../classgame__state.html#a6ca6536eaec3404ff9b1ab39b8df4e67',1,'game_state::start_game()'],['../classgame__instance.html#aee2eedd24991ce59dbcf2ec4f6cae8ac',1,'game_instance::start_game()']]], + ['startgame_14',['startGame',['../class_game_controller.html#a8f30ab3ff471ac0a5c8b88dc7fea45f4',1,'GameController']]] ]; diff --git a/html/search/functions_c.js b/html/search/functions_c.js index bbeeecf..06eb329 100644 --- a/html/search/functions_c.js +++ b/html/search/functions_c.js @@ -1,4 +1,7 @@ var searchData= [ - ['update_5fcurrent_5fplayer_0',['update_current_player',['../classgame__state.html#a49851709fcec061d36478ed2fdcc3d9d',1,'game_state']]] + ['trick_0',['trick',['../classtrick.html#a3b0a12789b87d15d9cdc4e5b6f85b47d',1,'trick::trick()'],['../classtrick.html#ad55ad2f0462144ee39c0e6d392543a14',1,'trick::trick(const trick &other)'],['../classtrick.html#abb172ad9a476e96a754eea0c33e1eda9',1,'trick::trick(const std::string &id)'],['../classtrick.html#ab756ba7a19c4bf98f0d8456ad0081fc3',1,'trick::trick(const std::string &id, const std::vector< std::pair< card *, player * > > &cards, serializable_value< int > *trick_color, serializable_value< int > *trump_color)'],['../classtrick.html#a3ecb1c5ebe84a300d7388e2846737fa4',1,'trick::trick(int trump)']]], + ['try_5fadd_5fplayer_1',['try_add_player',['../classgame__instance.html#a1176ce8464586487f9ae5676ca900e10',1,'game_instance']]], + ['try_5fget_5fcard_2',['try_get_card',['../classhand.html#a0a50cbbb167e6a1d633dd48bc4b695fe',1,'hand']]], + ['try_5fremove_5fplayer_3',['try_remove_player',['../classgame__instance.html#a2c6fed45a14273b09a9f202481fa62aa',1,'game_instance']]] ]; diff --git a/html/search/functions_d.js b/html/search/functions_d.js index 86ce831..c559111 100644 --- a/html/search/functions_d.js +++ b/html/search/functions_d.js @@ -1,6 +1,5 @@ var searchData= [ - ['wrap_5fup_5fround_0',['wrap_up_round',['../classgame__state.html#ad2e967638043670ebae93dd6ec32e91e',1,'game_state::wrap_up_round()'],['../classplayer.html#a193bcc63da13e5bc98eb46ed99381302',1,'player::wrap_up_round()']]], - ['wrap_5fup_5ftrick_1',['wrap_up_trick',['../classtrick.html#a384560623ffaf776797948cf35197c73',1,'trick']]], - ['write_5finto_5fjson_2',['write_into_json',['../classcard.html#a7f900b843e44fb18364f32dbe6cdbc7a',1,'card::write_into_json()'],['../classdeck.html#a8d226fe699a36bf462010ba1f744fbeb',1,'deck::write_into_json()'],['../classtrick.html#a97176df194eae794691356cd83292b04',1,'trick::write_into_json()'],['../classgame__state.html#a54873cd18b46555915d150a6d8dd6f83',1,'game_state::write_into_json()'],['../classhand.html#a505a82447d0ae305dadcc9c4aa54071e',1,'hand::write_into_json()'],['../classplayer.html#a0cf13abfdb6b837faa88eda064bf51dc',1,'player::write_into_json()']]] + ['update_5fcurrent_5fplayer_0',['update_current_player',['../classgame__state.html#a49851709fcec061d36478ed2fdcc3d9d',1,'game_state']]], + ['updategamestate_1',['updateGameState',['../class_game_controller.html#a994773f79be8c9e8dc8c19ee2d389103',1,'GameController']]] ]; diff --git a/html/search/functions_e.js b/html/search/functions_e.js index e493971..86ce831 100644 --- a/html/search/functions_e.js +++ b/html/search/functions_e.js @@ -1,9 +1,6 @@ var searchData= [ - ['_7ecard_0',['~card',['../classcard.html#ac7a5d8d53e8cc33f5c5a03d8ccb806c4',1,'card']]], - ['_7edeck_1',['~deck',['../classdeck.html#a63a688bda08bfef8d2c37d53523b7b12',1,'deck']]], - ['_7egame_5fstate_2',['~game_state',['../classgame__state.html#a2fbc370f93617298719f61514afdb5bc',1,'game_state']]], - ['_7ehand_3',['~hand',['../classhand.html#af3ffc5e5b46f04b14f12a9fc130b220a',1,'hand']]], - ['_7eplayer_4',['~player',['../classplayer.html#a0a62c0208584465db2daa1ac6e15b1ad',1,'player']]], - ['_7etrick_5',['~trick',['../classtrick.html#a22c0b586f1d6c3baeb7bb0e22eb7dfe2',1,'trick']]] + ['wrap_5fup_5fround_0',['wrap_up_round',['../classgame__state.html#ad2e967638043670ebae93dd6ec32e91e',1,'game_state::wrap_up_round()'],['../classplayer.html#a193bcc63da13e5bc98eb46ed99381302',1,'player::wrap_up_round()']]], + ['wrap_5fup_5ftrick_1',['wrap_up_trick',['../classtrick.html#a384560623ffaf776797948cf35197c73',1,'trick']]], + ['write_5finto_5fjson_2',['write_into_json',['../classcard.html#a7f900b843e44fb18364f32dbe6cdbc7a',1,'card::write_into_json()'],['../classdeck.html#a8d226fe699a36bf462010ba1f744fbeb',1,'deck::write_into_json()'],['../classtrick.html#a97176df194eae794691356cd83292b04',1,'trick::write_into_json()'],['../classgame__state.html#a54873cd18b46555915d150a6d8dd6f83',1,'game_state::write_into_json()'],['../classhand.html#a505a82447d0ae305dadcc9c4aa54071e',1,'hand::write_into_json()'],['../classplayer.html#a0cf13abfdb6b837faa88eda064bf51dc',1,'player::write_into_json()']]] ]; diff --git a/html/search/functions_f.js b/html/search/functions_f.js index a957b59..688609a 100644 --- a/html/search/functions_f.js +++ b/html/search/functions_f.js @@ -1,15 +1,10 @@ var searchData= [ - ['pair_0',['pair',['../classsockpp_1_1datagram__socket__tmpl.html#a9c84b05c86658e71c144a948a5bcf52e',1,'sockpp::datagram_socket_tmpl::pair()'],['../classsockpp_1_1socket.html#a6bf7632a36a4ebc8f8a703d9b80b5d7a',1,'sockpp::socket::pair()'],['../classsockpp_1_1stream__socket__tmpl.html#a41f3fc0e79890b77212829a829daedfe',1,'sockpp::stream_socket_tmpl::pair()']]], - ['parse_1',['Parse',['../class_generic_document.html#a901db1678f99a1b550003eed75bc380a',1,'GenericDocument::Parse(const typename SourceEncoding::Ch *str)'],['../class_generic_document.html#a3c3977dcf15fafe17d57f6784e0ce2b5',1,'GenericDocument::Parse(const Ch *str)'],['../class_generic_document.html#afc8eb27bf748df642d27f5767ae4eaab',1,'GenericDocument::Parse(const Ch *str)'],['../class_generic_reader.html#a0c450620d14ff1824e58bb7bd9b42099',1,'GenericReader::Parse(InputStream &is, Handler &handler)'],['../class_generic_reader.html#a76d91e5fd8dfe48aea7dd6d8a51dd6dc',1,'GenericReader::Parse(InputStream &is, Handler &handler)']]], - ['parseinsitu_2',['ParseInsitu',['../class_generic_document.html#a13f68b1896a24eea4cdbc03a3916225f',1,'GenericDocument::ParseInsitu(Ch *str)'],['../class_generic_document.html#a9bd648666f9c538e272bc980aff1b807',1,'GenericDocument::ParseInsitu(Ch *str)']]], - ['parseresult_3',['ParseResult',['../struct_parse_result.html#acd4a266f815bec59fa27f64f1923fe9e',1,'ParseResult::ParseResult()'],['../struct_parse_result.html#a38ca49a53e80633d0864ad5026adaf84',1,'ParseResult::ParseResult(ParseErrorCode code, size_t offset)']]], - ['parsestream_4',['ParseStream',['../class_generic_document.html#a7bc1827a7ab04de4789fe46237f0e921',1,'GenericDocument::ParseStream(InputStream &is)'],['../class_generic_document.html#a54d96ce0902d2afe033faebfd2863bbc',1,'GenericDocument::ParseStream(InputStream &is)'],['../class_generic_document.html#a78f0a1448172e3e998778662e2beb0e3',1,'GenericDocument::ParseStream(InputStream &is)']]], - ['path_5',['path',['../classsockpp_1_1unix__address.html#ac38ead0f8847fe0cc2afa54a7953bc53',1,'sockpp::unix_address']]], - ['peer_5faddress_6',['peer_address',['../classsockpp_1_1connector__tmpl.html#a75fb126a048eb8de6818ded35a47260f',1,'sockpp::connector_tmpl::peer_address()'],['../classsockpp_1_1socket.html#ad587531eacdcb75310b14f3918a15554',1,'sockpp::socket::peer_address()'],['../classsockpp_1_1stream__socket__tmpl.html#af9b830063c42dfb7ddb31c82604934c3',1,'sockpp::stream_socket_tmpl::peer_address()']]], - ['populate_7',['Populate',['../class_generic_document.html#ac30b4e8887974060b695be20c3ceb02c',1,'GenericDocument']]], - ['port_8',['port',['../classsockpp_1_1inet6__address.html#aadc9e616bace44971a9e8d7f3ebbbcd1',1,'sockpp::inet6_address::port()'],['../classsockpp_1_1inet__address.html#a3546fe2fbc6a5b355b796da4aaff58ad',1,'sockpp::inet_address::port()']]], - ['prettywriter_9',['PrettyWriter',['../class_pretty_writer.html#a928ac2a5235b8877048ebdd5f35a556f',1,'PrettyWriter']]], - ['printallindentifiers_10',['PrintAllIndentifiers',['../namespacecpp_1_1ast.html#ab1c1e79e979189e7f3aa93151c189279',1,'cpp::ast']]], - ['printindentifiers_11',['PrintIndentifiers',['../namespacecpp_1_1ast.html#af529298ecedc51e778b85444b7912154',1,'cpp::ast']]] + ['_7ecard_0',['~card',['../classcard.html#ac7a5d8d53e8cc33f5c5a03d8ccb806c4',1,'card']]], + ['_7edeck_1',['~deck',['../classdeck.html#a63a688bda08bfef8d2c37d53523b7b12',1,'deck']]], + ['_7egame_5finstance_2',['~game_instance',['../classgame__instance.html#a1fa390603341beb15e09e5a4b03465c1',1,'game_instance']]], + ['_7egame_5fstate_3',['~game_state',['../classgame__state.html#a2fbc370f93617298719f61514afdb5bc',1,'game_state']]], + ['_7ehand_4',['~hand',['../classhand.html#af3ffc5e5b46f04b14f12a9fc130b220a',1,'hand']]], + ['_7eplayer_5',['~player',['../classplayer.html#a0a62c0208584465db2daa1ac6e15b1ad',1,'player']]], + ['_7etrick_6',['~trick',['../classtrick.html#a22c0b586f1d6c3baeb7bb0e22eb7dfe2',1,'trick']]] ]; diff --git a/html/search/searchdata.js b/html/search/searchdata.js index 49b6a8e..7ced6ad 100644 --- a/html/search/searchdata.js +++ b/html/search/searchdata.js @@ -2,7 +2,7 @@ var indexSectionsWithContent = { 0: "1234abcdefghijlmnoprstuw~🚀", 1: "bcdefghijlmprstuw", - 2: "acdefghiprstuw~", + 2: "acdefghilprstuw~", 3: "epsw" }; diff --git a/html/trick_8h_source.html b/html/trick_8h_source.html index 53b4f9e..d4da2b7 100644 --- a/html/trick_8h_source.html +++ b/html/trick_8h_source.html @@ -138,42 +138,45 @@ $(function(){ initResizable(false); }); <div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> </div> <div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> [[nodiscard]] <span class="keywordtype">int</span> <a class="code hl_function" href="classtrick.html#a69c49e2968abb235a6c7148cb05b0e64">get_trump_color</a>() <span class="keyword">const</span>;</div> <div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> </div> -<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span><span class="preprocessor">#ifdef WIZARD_SERVER</span></div> -<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span><span class="comment">// state update functions</span></div> -<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtrick.html#ae5b769ed0fc2933c1a44b5e481c18b00">set_up_round</a>(<span class="keywordtype">int</span> trump, std::string& err);</div> -<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> </div> -<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_function" href="classtrick.html#a384560623ffaf776797948cf35197c73">wrap_up_trick</a>(std::string& err) <span class="keyword">const</span>;</div> -<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> </div> -<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classtrick.html#a2d3b5aa88a1469dc3d58f30885752f5d">add_card</a>(<a class="code hl_class" href="classcard.html">card</a>* played_card, <a class="code hl_class" href="classplayer.html">player</a>* current_player, std::string& err);</div> -<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> </div> -<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span><span class="comment">// server setter</span></div> -<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtrick.html#a0f8c45882691509564ec42efed0d1aaa">set_trick_color</a>(<span class="keywordtype">int</span> color) <span class="keyword">const</span>;</div> -<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span><span class="preprocessor">#endif</span></div> -<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> </div> -<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span><span class="comment">// serializable interface</span></div> -<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtrick.html#a97176df194eae794691356cd83292b04">write_into_json</a>(rapidjson::Value& json, rapidjson::Document::AllocatorType& allocator) <span class="keyword">const override</span>;</div> -<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> </div> -<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="keyword">static</span> <a class="code hl_class" href="classtrick.html">trick</a>* <a class="code hl_function" href="classtrick.html#a1a3d94f638672d3d60d596190ae59dfb">from_json</a>(<span class="keyword">const</span> rapidjson::Value& json);</div> -<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> </div> -<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span>};</div> -</div> +<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> [[nodiscard]] <a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_function" href="classtrick.html#a4b93ae88c17db486d975408cd8cfad1b">get_winner</a>() <span class="keyword">const</span>;</div> +<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> </div> +<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span><span class="preprocessor">#ifdef WIZARD_SERVER</span></div> +<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span><span class="comment">// state update functions</span></div> +<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtrick.html#ae5b769ed0fc2933c1a44b5e481c18b00">set_up_round</a>(<span class="keywordtype">int</span> trump, std::string& err);</div> +<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> </div> +<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_function" href="classtrick.html#a384560623ffaf776797948cf35197c73">wrap_up_trick</a>(std::string& err) <span class="keyword">const</span>;</div> +<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> </div> +<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classtrick.html#a2d3b5aa88a1469dc3d58f30885752f5d">add_card</a>(<a class="code hl_class" href="classcard.html">card</a>* played_card, <a class="code hl_class" href="classplayer.html">player</a>* current_player, std::string& err);</div> +<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> </div> +<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span><span class="comment">// server setter</span></div> +<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtrick.html#a0f8c45882691509564ec42efed0d1aaa">set_trick_color</a>(<span class="keywordtype">int</span> color) <span class="keyword">const</span>;</div> +<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span><span class="preprocessor">#endif</span></div> +<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> </div> +<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span><span class="comment">// serializable interface</span></div> +<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtrick.html#a97176df194eae794691356cd83292b04">write_into_json</a>(rapidjson::Value& json, rapidjson::Document::AllocatorType& allocator) <span class="keyword">const override</span>;</div> <div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> </div> -<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span><span class="preprocessor">#endif </span><span class="comment">//WIZARD_TRICK_H</span></div> +<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <span class="keyword">static</span> <a class="code hl_class" href="classtrick.html">trick</a>* <a class="code hl_function" href="classtrick.html#a1a3d94f638672d3d60d596190ae59dfb">from_json</a>(<span class="keyword">const</span> rapidjson::Value& json);</div> +<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> </div> +<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span>};</div> +</div> +<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> </div> +<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span><span class="preprocessor">#endif </span><span class="comment">//WIZARD_TRICK_H</span></div> <div class="ttc" id="aclasscard_html"><div class="ttname"><a href="classcard.html">card</a></div><div class="ttdoc">Represents a card in the game.</div><div class="ttdef"><b>Definition</b> card.h:15</div></div> <div class="ttc" id="aclassplayer_html"><div class="ttname"><a href="classplayer.html">player</a></div><div class="ttdoc">Represents a player in the game.</div><div class="ttdef"><b>Definition</b> player.h:18</div></div> <div class="ttc" id="aclassserializable__value_html"><div class="ttname"><a href="classserializable__value.html">serializable_value</a></div><div class="ttdef"><b>Definition</b> serializable_value.h:27</div></div> <div class="ttc" id="aclasstrick_html"><div class="ttname"><a href="classtrick.html">trick</a></div><div class="ttdoc">Represents the trick in the game.</div><div class="ttdef"><b>Definition</b> trick.h:28</div></div> -<div class="ttc" id="aclasstrick_html_a0f8c45882691509564ec42efed0d1aaa"><div class="ttname"><a href="classtrick.html#a0f8c45882691509564ec42efed0d1aaa">trick::set_trick_color</a></div><div class="ttdeci">void set_trick_color(int color) const</div><div class="ttdoc">Sets the trick color.</div><div class="ttdef"><b>Definition</b> trick.cpp:152</div></div> -<div class="ttc" id="aclasstrick_html_a1a3d94f638672d3d60d596190ae59dfb"><div class="ttname"><a href="classtrick.html#a1a3d94f638672d3d60d596190ae59dfb">trick::from_json</a></div><div class="ttdeci">static trick * from_json(const rapidjson::Value &json)</div><div class="ttdoc">Deserializes a trick object from a json object.</div><div class="ttdef"><b>Definition</b> trick.cpp:159</div></div> +<div class="ttc" id="aclasstrick_html_a0f8c45882691509564ec42efed0d1aaa"><div class="ttname"><a href="classtrick.html#a0f8c45882691509564ec42efed0d1aaa">trick::set_trick_color</a></div><div class="ttdeci">void set_trick_color(int color) const</div><div class="ttdoc">Sets the trick color.</div><div class="ttdef"><b>Definition</b> trick.cpp:204</div></div> +<div class="ttc" id="aclasstrick_html_a1a3d94f638672d3d60d596190ae59dfb"><div class="ttname"><a href="classtrick.html#a1a3d94f638672d3d60d596190ae59dfb">trick::from_json</a></div><div class="ttdeci">static trick * from_json(const rapidjson::Value &json)</div><div class="ttdoc">Deserializes a trick object from a json object.</div><div class="ttdef"><b>Definition</b> trick.cpp:211</div></div> <div class="ttc" id="aclasstrick_html_a1d75f9e8fc94fd122adfc39a20089268"><div class="ttname"><a href="classtrick.html#a1d75f9e8fc94fd122adfc39a20089268">trick::get_cards_and_players</a></div><div class="ttdeci">std::vector< std::pair< card *, player * > > get_cards_and_players() const</div><div class="ttdoc">Gets the played cards and players who played them as pairs.</div><div class="ttdef"><b>Definition</b> trick.cpp:66</div></div> <div class="ttc" id="aclasstrick_html_a22c0b586f1d6c3baeb7bb0e22eb7dfe2"><div class="ttname"><a href="classtrick.html#a22c0b586f1d6c3baeb7bb0e22eb7dfe2">trick::~trick</a></div><div class="ttdeci">~trick() override</div><div class="ttdoc">Destructs a trick object.</div><div class="ttdef"><b>Definition</b> trick.cpp:47</div></div> -<div class="ttc" id="aclasstrick_html_a2d3b5aa88a1469dc3d58f30885752f5d"><div class="ttname"><a href="classtrick.html#a2d3b5aa88a1469dc3d58f30885752f5d">trick::add_card</a></div><div class="ttdeci">bool add_card(card *played_card, player *current_player, std::string &err)</div><div class="ttdoc">Adds a card to the trick.</div><div class="ttdef"><b>Definition</b> trick.cpp:134</div></div> -<div class="ttc" id="aclasstrick_html_a384560623ffaf776797948cf35197c73"><div class="ttname"><a href="classtrick.html#a384560623ffaf776797948cf35197c73">trick::wrap_up_trick</a></div><div class="ttdeci">player * wrap_up_trick(std::string &err) const</div><div class="ttdoc">Wraps up a trick at the end of a trick or round.</div><div class="ttdef"><b>Definition</b> trick.cpp:82</div></div> +<div class="ttc" id="aclasstrick_html_a2d3b5aa88a1469dc3d58f30885752f5d"><div class="ttname"><a href="classtrick.html#a2d3b5aa88a1469dc3d58f30885752f5d">trick::add_card</a></div><div class="ttdeci">bool add_card(card *played_card, player *current_player, std::string &err)</div><div class="ttdoc">Adds a card to the trick.</div><div class="ttdef"><b>Definition</b> trick.cpp:186</div></div> +<div class="ttc" id="aclasstrick_html_a384560623ffaf776797948cf35197c73"><div class="ttname"><a href="classtrick.html#a384560623ffaf776797948cf35197c73">trick::wrap_up_trick</a></div><div class="ttdeci">player * wrap_up_trick(std::string &err) const</div><div class="ttdoc">Wraps up a trick at the end of a trick or round.</div><div class="ttdef"><b>Definition</b> trick.cpp:134</div></div> <div class="ttc" id="aclasstrick_html_a3b0a12789b87d15d9cdc4e5b6f85b47d"><div class="ttname"><a href="classtrick.html#a3b0a12789b87d15d9cdc4e5b6f85b47d">trick::trick</a></div><div class="ttdeci">trick()</div><div class="ttdoc">Constructs a new trick object.</div><div class="ttdef"><b>Definition</b> trick.cpp:10</div></div> <div class="ttc" id="aclasstrick_html_a41f315804ac73454c8e41438da20a9c3"><div class="ttname"><a href="classtrick.html#a41f315804ac73454c8e41438da20a9c3">trick::get_trick_color</a></div><div class="ttdeci">int get_trick_color() const</div><div class="ttdoc">Gets the trick color.</div><div class="ttdef"><b>Definition</b> trick.cpp:56</div></div> +<div class="ttc" id="aclasstrick_html_a4b93ae88c17db486d975408cd8cfad1b"><div class="ttname"><a href="classtrick.html#a4b93ae88c17db486d975408cd8cfad1b">trick::get_winner</a></div><div class="ttdeci">player * get_winner() const</div><div class="ttdoc">Gets the winner of the trick.</div><div class="ttdef"><b>Definition</b> trick.cpp:71</div></div> <div class="ttc" id="aclasstrick_html_a69c49e2968abb235a6c7148cb05b0e64"><div class="ttname"><a href="classtrick.html#a69c49e2968abb235a6c7148cb05b0e64">trick::get_trump_color</a></div><div class="ttdeci">int get_trump_color() const</div><div class="ttdoc">Gets the trump color.</div><div class="ttdef"><b>Definition</b> trick.cpp:61</div></div> -<div class="ttc" id="aclasstrick_html_a97176df194eae794691356cd83292b04"><div class="ttname"><a href="classtrick.html#a97176df194eae794691356cd83292b04">trick::write_into_json</a></div><div class="ttdeci">void write_into_json(rapidjson::Value &json, rapidjson::Document::AllocatorType &allocator) const override</div><div class="ttdoc">Serializes a trick object into a json object.</div><div class="ttdef"><b>Definition</b> trick.cpp:185</div></div> -<div class="ttc" id="aclasstrick_html_ae5b769ed0fc2933c1a44b5e481c18b00"><div class="ttname"><a href="classtrick.html#ae5b769ed0fc2933c1a44b5e481c18b00">trick::set_up_round</a></div><div class="ttdeci">void set_up_round(int trump, std::string &err)</div><div class="ttdoc">Sets up a trick.</div><div class="ttdef"><b>Definition</b> trick.cpp:74</div></div> +<div class="ttc" id="aclasstrick_html_a97176df194eae794691356cd83292b04"><div class="ttname"><a href="classtrick.html#a97176df194eae794691356cd83292b04">trick::write_into_json</a></div><div class="ttdeci">void write_into_json(rapidjson::Value &json, rapidjson::Document::AllocatorType &allocator) const override</div><div class="ttdoc">Serializes a trick object into a json object.</div><div class="ttdef"><b>Definition</b> trick.cpp:237</div></div> +<div class="ttc" id="aclasstrick_html_ae5b769ed0fc2933c1a44b5e481c18b00"><div class="ttname"><a href="classtrick.html#ae5b769ed0fc2933c1a44b5e481c18b00">trick::set_up_round</a></div><div class="ttdeci">void set_up_round(int trump, std::string &err)</div><div class="ttdoc">Sets up a trick.</div><div class="ttdef"><b>Definition</b> trick.cpp:126</div></div> <div class="ttc" id="aclassunique__serializable_html"><div class="ttname"><a href="classunique__serializable.html">unique_serializable</a></div><div class="ttdef"><b>Definition</b> unique_serializable.h:12</div></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> -- GitLab From b8bd57de0ea3b67e90347629d1e6ab4adf7b2746 Mon Sep 17 00:00:00 2001 From: marie3003 <marie.viktoria.becker@gmail.com> Date: Sun, 15 Dec 2024 14:06:50 +0100 Subject: [PATCH 3/3] added documentation to main game panel --- html/_game_controller_8h_source.html | 76 ++--- html/_main_game_panel_wizard_8h_source.html | 49 ++-- html/_trick_estimation_panel_8h_source.html | 2 +- html/annotated.html | 2 +- html/class_game_controller-members.html | 29 +- html/class_game_controller.html | 4 + .../class_main_game_panel_wizard-members.html | 4 +- html/class_main_game_panel_wizard.html | 72 ++++- html/classgame__state-members.html | 41 +-- html/classgame__state.html | 31 ++ html/classhand.html | 6 +- html/classplayer-members.html | 29 +- html/classplayer.html | 88 ++++++ html/doxygen_crawl.html | 25 +- html/functions.html | 15 + html/functions_func.html | 15 + html/game__instance_8h_source.html | 2 +- html/game__state_8h_source.html | 273 +++++++++--------- html/hand_8h_source.html | 68 ++--- html/hierarchy.html | 2 +- html/index.html | 95 ++++-- html/menudata.js | 4 + html/player_8h_source.html | 164 ++++++----- html/search/all_0.js | 4 +- html/search/all_1.js | 13 +- html/search/all_10.js | 5 +- html/search/all_11.js | 3 +- html/search/all_12.js | 12 +- html/search/all_13.js | 16 +- html/search/all_14.js | 39 +-- html/search/all_15.js | 42 ++- html/search/all_16.js | 10 +- html/search/all_17.js | 12 +- html/search/all_18.js | 14 +- html/search/all_19.js | 8 +- html/search/all_1a.js | 11 +- html/search/all_2.js | 19 +- html/search/all_3.js | 14 +- html/search/all_4.js | 13 +- html/search/all_5.js | 3 +- html/search/all_6.js | 12 +- html/search/all_7.js | 21 +- html/search/all_8.js | 14 +- html/search/all_9.js | 11 +- html/search/all_a.js | 40 +-- html/search/all_b.js | 38 ++- html/search/all_c.js | 14 +- html/search/all_d.js | 14 +- html/search/all_e.js | 4 +- html/search/all_f.js | 5 +- html/search/functions_1.js | 3 +- html/search/functions_10.js | 29 +- html/search/functions_11.js | 41 +-- html/search/functions_2.js | 6 +- html/search/functions_3.js | 5 +- html/search/functions_4.js | 4 +- html/search/functions_5.js | 32 +- html/search/functions_6.js | 32 +- html/search/functions_7.js | 9 +- html/search/functions_8.js | 8 +- html/search/functions_9.js | 5 +- html/search/functions_a.js | 3 +- html/search/functions_b.js | 19 +- html/search/functions_c.js | 6 +- html/search/functions_d.js | 19 +- html/search/functions_e.js | 7 +- html/search/functions_f.js | 9 +- html/search/searchdata.js | 4 +- src/client/panels/MainGamePanelWizard.h | 66 ++++- 69 files changed, 1076 insertions(+), 738 deletions(-) diff --git a/html/_game_controller_8h_source.html b/html/_game_controller_8h_source.html index 79c7757..5d600c9 100644 --- a/html/_game_controller_8h_source.html +++ b/html/_game_controller_8h_source.html @@ -114,47 +114,49 @@ $(function(){ initResizable(false); }); <div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_game_controller.html#a8d42b2e41759bfd65cdebad87437369e">leaveGame</a>();</div> <div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_game_controller.html#a5f1023f2029e5dbb25b795a0606e06a9">processEstimateTricks</a>();</div> <div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_game_controller.html#abd110563d0f37f06096176c199d22055">estimateTricks</a>(<span class="keywordtype">int</span> nof_tricks);</div> -<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_game_controller.html#a87b164e2094901861e5b47056634facc">playCard</a>(<a class="code hl_class" href="classcard.html">card</a>* cardToPlay);</div> -<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> </div> -<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keyword">static</span> wxEvtHandler* <a class="code hl_function" href="class_game_controller.html#abec8c73ea01e4b7e01b2ca1d932e0c16">getMainThreadEventHandler</a>();</div> -<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_game_controller.html#adf043f9026a62f634a873c9f9d292034">showError</a>(<span class="keyword">const</span> std::string& title, <span class="keyword">const</span> std::string& message);</div> -<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_game_controller.html#a6a43eb061a9882b3937fc88bb4794324">showStatus</a>(<span class="keyword">const</span> std::string& message);</div> -<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_game_controller.html#a3c350056b82df662c946cb9119f11ced">showNewRoundMessage</a>(<a class="code hl_class" href="classgame__state.html">game_state</a>* oldGameState, <a class="code hl_class" href="classgame__state.html">game_state</a>* newGameState);</div> -<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_game_controller.html#a8108659ad09724318c3a251d93bd5869">showTrickOverMessage</a>(<span class="keyword">const</span> <a class="code hl_class" href="classplayer.html">player</a>* winner);</div> -<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_game_controller.html#abb91c546ab8400c1e2e9f2a2ccc8298f">showGameOverMessage</a>();</div> -<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> </div> -<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="keyword">private</span>:</div> -<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keyword">static</span> <a class="code hl_class" href="class_game_window.html">GameWindow</a>* _gameWindow; </div> -<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keyword">static</span> <a class="code hl_class" href="class_connection_panel.html">ConnectionPanel</a>* _connectionPanel; </div> -<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <span class="keyword">static</span> <a class="code hl_class" href="class_main_game_panel_wizard.html">MainGamePanelWizard</a>* _mainGamePanelWizard; </div> -<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keyword">static</span> <a class="code hl_class" href="class_trick_estimation_panel.html">TrickEstimationPanel</a>* _trickEstimationPanel; </div> -<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> </div> -<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">static</span> <a class="code hl_class" href="classplayer.html">player</a>* _me; </div> -<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="keyword">static</span> <a class="code hl_class" href="classgame__state.html">game_state</a>* _currentGameState; </div> -<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> </div> -<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span>};</div> -</div> +<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_game_controller.html#a87b164e2094901861e5b47056634facc">playCard</a>(<a class="code hl_class" href="classcard.html">card</a>* cardToPlay);</div> +<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> </div> +<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keyword">static</span> wxEvtHandler* <a class="code hl_function" href="class_game_controller.html#abec8c73ea01e4b7e01b2ca1d932e0c16">getMainThreadEventHandler</a>();</div> +<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_game_controller.html#adf043f9026a62f634a873c9f9d292034">showError</a>(<span class="keyword">const</span> std::string& title, <span class="keyword">const</span> std::string& message);</div> +<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_game_controller.html#a6a43eb061a9882b3937fc88bb4794324">showStatus</a>(<span class="keyword">const</span> std::string& message);</div> +<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_game_controller.html#a3c350056b82df662c946cb9119f11ced">showNewRoundMessage</a>(<a class="code hl_class" href="classgame__state.html">game_state</a>* oldGameState, <a class="code hl_class" href="classgame__state.html">game_state</a>* newGameState);</div> +<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_game_controller.html#a8108659ad09724318c3a251d93bd5869">showTrickOverMessage</a>(<span class="keyword">const</span> <a class="code hl_class" href="classplayer.html">player</a>* winner);</div> +<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_game_controller.html#abb91c546ab8400c1e2e9f2a2ccc8298f">showGameOverMessage</a>();</div> +<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_game_controller.html#a21eea505305d56439efb835e1e148c2f">closeGameWindow</a>();</div> +<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> </div> +<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span><span class="keyword">private</span>:</div> +<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">static</span> <a class="code hl_class" href="class_game_window.html">GameWindow</a>* _gameWindow; </div> +<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="keyword">static</span> <a class="code hl_class" href="class_connection_panel.html">ConnectionPanel</a>* _connectionPanel; </div> +<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <span class="keyword">static</span> <a class="code hl_class" href="class_main_game_panel_wizard.html">MainGamePanelWizard</a>* _mainGamePanelWizard; </div> +<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="keyword">static</span> <a class="code hl_class" href="class_trick_estimation_panel.html">TrickEstimationPanel</a>* _trickEstimationPanel; </div> <div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> </div> -<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> </div> -<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span><span class="preprocessor">#endif </span><span class="comment">//WIZARDUI_GAMECONTROLLER_H</span></div> +<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> <span class="keyword">static</span> <a class="code hl_class" href="classplayer.html">player</a>* _me; </div> +<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="keyword">static</span> <a class="code hl_class" href="classgame__state.html">game_state</a>* _currentGameState; </div> +<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> </div> +<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span>};</div> +</div> +<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> </div> +<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> </div> +<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span><span class="preprocessor">#endif </span><span class="comment">//WIZARDUI_GAMECONTROLLER_H</span></div> <div class="ttc" id="aclass_connection_panel_html"><div class="ttname"><a href="class_connection_panel.html">ConnectionPanel</a></div><div class="ttdef"><b>Definition</b> ConnectionPanel.h:8</div></div> <div class="ttc" id="aclass_game_controller_html"><div class="ttname"><a href="class_game_controller.html">GameController</a></div><div class="ttdoc">Controls visualization of the game state and processes client actions.</div><div class="ttdef"><b>Definition</b> GameController.h:20</div></div> -<div class="ttc" id="aclass_game_controller_html_a023da21da545374ee46fb873149976c4"><div class="ttname"><a href="class_game_controller.html#a023da21da545374ee46fb873149976c4">GameController::connectToServer</a></div><div class="ttdeci">static void connectToServer()</div><div class="ttdoc">Handles connection to server when a user joins a game.</div><div class="ttdef"><b>Definition</b> GameController.cpp:46</div></div> -<div class="ttc" id="aclass_game_controller_html_a3c350056b82df662c946cb9119f11ced"><div class="ttname"><a href="class_game_controller.html#a3c350056b82df662c946cb9119f11ced">GameController::showNewRoundMessage</a></div><div class="ttdeci">static void showNewRoundMessage(game_state *oldGameState, game_state *newGameState)</div><div class="ttdoc">Shows message that round has finished and current scores of players at the end of a round.</div><div class="ttdef"><b>Definition</b> GameController.cpp:212</div></div> -<div class="ttc" id="aclass_game_controller_html_a5f1023f2029e5dbb25b795a0606e06a9"><div class="ttname"><a href="class_game_controller.html#a5f1023f2029e5dbb25b795a0606e06a9">GameController::processEstimateTricks</a></div><div class="ttdeci">static void processEstimateTricks()</div><div class="ttdoc">Process input from trick estimation panel and trigger estimateTricks function.</div><div class="ttdef"><b>Definition</b> GameController.cpp:168</div></div> -<div class="ttc" id="aclass_game_controller_html_a6a43eb061a9882b3937fc88bb4794324"><div class="ttname"><a href="class_game_controller.html#a6a43eb061a9882b3937fc88bb4794324">GameController::showStatus</a></div><div class="ttdeci">static void showStatus(const std::string &message)</div><div class="ttdoc">Set status message.</div><div class="ttdef"><b>Definition</b> GameController.cpp:207</div></div> -<div class="ttc" id="aclass_game_controller_html_a8108659ad09724318c3a251d93bd5869"><div class="ttname"><a href="class_game_controller.html#a8108659ad09724318c3a251d93bd5869">GameController::showTrickOverMessage</a></div><div class="ttdeci">static void showTrickOverMessage(const player *winner)</div><div class="ttdoc">Shows message at the end of each trick stating which player won the trick.</div><div class="ttdef"><b>Definition</b> GameController.cpp:245</div></div> -<div class="ttc" id="aclass_game_controller_html_a87b164e2094901861e5b47056634facc"><div class="ttname"><a href="class_game_controller.html#a87b164e2094901861e5b47056634facc">GameController::playCard</a></div><div class="ttdeci">static void playCard(card *cardToPlay)</div><div class="ttdoc">Send out 'play card' request to server.</div><div class="ttdef"><b>Definition</b> GameController.cpp:156</div></div> -<div class="ttc" id="aclass_game_controller_html_a8889bad76bc35487d3391fb8a5791616"><div class="ttname"><a href="class_game_controller.html#a8889bad76bc35487d3391fb8a5791616">GameController::init</a></div><div class="ttdeci">static void init(GameWindow *gameWindow)</div><div class="ttdoc">Initializes game window when a new Wizard-client is started.</div><div class="ttdef"><b>Definition</b> GameController.cpp:23</div></div> -<div class="ttc" id="aclass_game_controller_html_a8d42b2e41759bfd65cdebad87437369e"><div class="ttname"><a href="class_game_controller.html#a8d42b2e41759bfd65cdebad87437369e">GameController::leaveGame</a></div><div class="ttdeci">static void leaveGame()</div><div class="ttdoc">Send out 'leave game' request to server.</div><div class="ttdef"><b>Definition</b> GameController.cpp:161</div></div> -<div class="ttc" id="aclass_game_controller_html_a8f30ab3ff471ac0a5c8b88dc7fea45f4"><div class="ttname"><a href="class_game_controller.html#a8f30ab3ff471ac0a5c8b88dc7fea45f4">GameController::startGame</a></div><div class="ttdeci">static void startGame()</div><div class="ttdoc">Send out 'start game' request to server.</div><div class="ttdef"><b>Definition</b> GameController.cpp:146</div></div> -<div class="ttc" id="aclass_game_controller_html_a994773f79be8c9e8dc8c19ee2d389103"><div class="ttname"><a href="class_game_controller.html#a994773f79be8c9e8dc8c19ee2d389103">GameController::updateGameState</a></div><div class="ttdeci">static void updateGameState(game_state *newGameState)</div><div class="ttdoc">Updates game state whenever any player interacted with the server based on parameters of current game...</div><div class="ttdef"><b>Definition</b> GameController.cpp:92</div></div> -<div class="ttc" id="aclass_game_controller_html_abb91c546ab8400c1e2e9f2a2ccc8298f"><div class="ttname"><a href="class_game_controller.html#abb91c546ab8400c1e2e9f2a2ccc8298f">GameController::showGameOverMessage</a></div><div class="ttdeci">static void showGameOverMessage()</div><div class="ttdoc">Shows message at the end of the game that the game has ended and states the winner.</div><div class="ttdef"><b>Definition</b> GameController.cpp:256</div></div> -<div class="ttc" id="aclass_game_controller_html_abd110563d0f37f06096176c199d22055"><div class="ttname"><a href="class_game_controller.html#abd110563d0f37f06096176c199d22055">GameController::estimateTricks</a></div><div class="ttdeci">static void estimateTricks(int nof_tricks)</div><div class="ttdoc">Send out 'estimate tricks' request to server.</div><div class="ttdef"><b>Definition</b> GameController.cpp:151</div></div> -<div class="ttc" id="aclass_game_controller_html_abec8c73ea01e4b7e01b2ca1d932e0c16"><div class="ttname"><a href="class_game_controller.html#abec8c73ea01e4b7e01b2ca1d932e0c16">GameController::getMainThreadEventHandler</a></div><div class="ttdeci">static wxEvtHandler * getMainThreadEventHandler()</div><div class="ttdoc">Finds event handler for main thread.</div><div class="ttdef"><b>Definition</b> GameController.cpp:191</div></div> -<div class="ttc" id="aclass_game_controller_html_adf043f9026a62f634a873c9f9d292034"><div class="ttname"><a href="class_game_controller.html#adf043f9026a62f634a873c9f9d292034">GameController::showError</a></div><div class="ttdeci">static void showError(const std::string &title, const std::string &message)</div><div class="ttdoc">Handles showing of error messages.</div><div class="ttdef"><b>Definition</b> GameController.cpp:196</div></div> +<div class="ttc" id="aclass_game_controller_html_a023da21da545374ee46fb873149976c4"><div class="ttname"><a href="class_game_controller.html#a023da21da545374ee46fb873149976c4">GameController::connectToServer</a></div><div class="ttdeci">static void connectToServer()</div><div class="ttdoc">Handles connection to server when a user joins a game.</div><div class="ttdef"><b>Definition</b> GameController.cpp:45</div></div> +<div class="ttc" id="aclass_game_controller_html_a21eea505305d56439efb835e1e148c2f"><div class="ttname"><a href="class_game_controller.html#a21eea505305d56439efb835e1e148c2f">GameController::closeGameWindow</a></div><div class="ttdeci">static void closeGameWindow()</div><div class="ttdoc">Closes game window.</div><div class="ttdef"><b>Definition</b> GameController.cpp:321</div></div> +<div class="ttc" id="aclass_game_controller_html_a3c350056b82df662c946cb9119f11ced"><div class="ttname"><a href="class_game_controller.html#a3c350056b82df662c946cb9119f11ced">GameController::showNewRoundMessage</a></div><div class="ttdeci">static void showNewRoundMessage(game_state *oldGameState, game_state *newGameState)</div><div class="ttdoc">Shows message that round has finished and current scores of players at the end of a round.</div><div class="ttdef"><b>Definition</b> GameController.cpp:234</div></div> +<div class="ttc" id="aclass_game_controller_html_a5f1023f2029e5dbb25b795a0606e06a9"><div class="ttname"><a href="class_game_controller.html#a5f1023f2029e5dbb25b795a0606e06a9">GameController::processEstimateTricks</a></div><div class="ttdeci">static void processEstimateTricks()</div><div class="ttdoc">Process input from trick estimation panel and trigger estimateTricks function.</div><div class="ttdef"><b>Definition</b> GameController.cpp:190</div></div> +<div class="ttc" id="aclass_game_controller_html_a6a43eb061a9882b3937fc88bb4794324"><div class="ttname"><a href="class_game_controller.html#a6a43eb061a9882b3937fc88bb4794324">GameController::showStatus</a></div><div class="ttdeci">static void showStatus(const std::string &message)</div><div class="ttdoc">Set status message.</div><div class="ttdef"><b>Definition</b> GameController.cpp:229</div></div> +<div class="ttc" id="aclass_game_controller_html_a8108659ad09724318c3a251d93bd5869"><div class="ttname"><a href="class_game_controller.html#a8108659ad09724318c3a251d93bd5869">GameController::showTrickOverMessage</a></div><div class="ttdeci">static void showTrickOverMessage(const player *winner)</div><div class="ttdoc">Shows message at the end of each trick stating which player won the trick.</div><div class="ttdef"><b>Definition</b> GameController.cpp:268</div></div> +<div class="ttc" id="aclass_game_controller_html_a87b164e2094901861e5b47056634facc"><div class="ttname"><a href="class_game_controller.html#a87b164e2094901861e5b47056634facc">GameController::playCard</a></div><div class="ttdeci">static void playCard(card *cardToPlay)</div><div class="ttdoc">Send out 'play card' request to server.</div><div class="ttdef"><b>Definition</b> GameController.cpp:184</div></div> +<div class="ttc" id="aclass_game_controller_html_a8889bad76bc35487d3391fb8a5791616"><div class="ttname"><a href="class_game_controller.html#a8889bad76bc35487d3391fb8a5791616">GameController::init</a></div><div class="ttdeci">static void init(GameWindow *gameWindow)</div><div class="ttdoc">Initializes game window when a new Wizard-client is started.</div><div class="ttdef"><b>Definition</b> GameController.cpp:22</div></div> +<div class="ttc" id="aclass_game_controller_html_a8d42b2e41759bfd65cdebad87437369e"><div class="ttname"><a href="class_game_controller.html#a8d42b2e41759bfd65cdebad87437369e">GameController::leaveGame</a></div><div class="ttdeci">static void leaveGame()</div><div class="ttdoc">Send out 'leave game' request to server.</div><div class="ttdef"><b>Definition</b> GameController.cpp:173</div></div> +<div class="ttc" id="aclass_game_controller_html_a8f30ab3ff471ac0a5c8b88dc7fea45f4"><div class="ttname"><a href="class_game_controller.html#a8f30ab3ff471ac0a5c8b88dc7fea45f4">GameController::startGame</a></div><div class="ttdeci">static void startGame()</div><div class="ttdoc">Send out 'start game' request to server.</div><div class="ttdef"><b>Definition</b> GameController.cpp:167</div></div> +<div class="ttc" id="aclass_game_controller_html_a994773f79be8c9e8dc8c19ee2d389103"><div class="ttname"><a href="class_game_controller.html#a994773f79be8c9e8dc8c19ee2d389103">GameController::updateGameState</a></div><div class="ttdeci">static void updateGameState(game_state *newGameState)</div><div class="ttdoc">Updates game state whenever any player interacted with the server based on parameters of current game...</div><div class="ttdef"><b>Definition</b> GameController.cpp:99</div></div> +<div class="ttc" id="aclass_game_controller_html_abb91c546ab8400c1e2e9f2a2ccc8298f"><div class="ttname"><a href="class_game_controller.html#abb91c546ab8400c1e2e9f2a2ccc8298f">GameController::showGameOverMessage</a></div><div class="ttdeci">static void showGameOverMessage()</div><div class="ttdoc">Shows message at the end of the game that the game has ended and states the winner.</div><div class="ttdef"><b>Definition</b> GameController.cpp:278</div></div> +<div class="ttc" id="aclass_game_controller_html_abd110563d0f37f06096176c199d22055"><div class="ttname"><a href="class_game_controller.html#abd110563d0f37f06096176c199d22055">GameController::estimateTricks</a></div><div class="ttdeci">static void estimateTricks(int nof_tricks)</div><div class="ttdoc">Send out 'estimate tricks' request to server.</div><div class="ttdef"><b>Definition</b> GameController.cpp:179</div></div> +<div class="ttc" id="aclass_game_controller_html_abec8c73ea01e4b7e01b2ca1d932e0c16"><div class="ttname"><a href="class_game_controller.html#abec8c73ea01e4b7e01b2ca1d932e0c16">GameController::getMainThreadEventHandler</a></div><div class="ttdeci">static wxEvtHandler * getMainThreadEventHandler()</div><div class="ttdoc">Finds event handler for main thread.</div><div class="ttdef"><b>Definition</b> GameController.cpp:213</div></div> +<div class="ttc" id="aclass_game_controller_html_adf043f9026a62f634a873c9f9d292034"><div class="ttname"><a href="class_game_controller.html#adf043f9026a62f634a873c9f9d292034">GameController::showError</a></div><div class="ttdeci">static void showError(const std::string &title, const std::string &message)</div><div class="ttdoc">Handles showing of error messages.</div><div class="ttdef"><b>Definition</b> GameController.cpp:218</div></div> <div class="ttc" id="aclass_game_window_html"><div class="ttname"><a href="class_game_window.html">GameWindow</a></div><div class="ttdef"><b>Definition</b> GameWindow.h:8</div></div> -<div class="ttc" id="aclass_main_game_panel_wizard_html"><div class="ttname"><a href="class_main_game_panel_wizard.html">MainGamePanelWizard</a></div><div class="ttdef"><b>Definition</b> MainGamePanelWizard.h:8</div></div> +<div class="ttc" id="aclass_main_game_panel_wizard_html"><div class="ttname"><a href="class_main_game_panel_wizard.html">MainGamePanelWizard</a></div><div class="ttdoc">Visualizes Game State to user during the card playing phase. The Main Game Panel is shown before the ...</div><div class="ttdef"><b>Definition</b> MainGamePanelWizard.h:16</div></div> <div class="ttc" id="aclass_trick_estimation_panel_html"><div class="ttname"><a href="class_trick_estimation_panel.html">TrickEstimationPanel</a></div><div class="ttdef"><b>Definition</b> TrickEstimationPanel.h:13</div></div> <div class="ttc" id="aclasscard_html"><div class="ttname"><a href="classcard.html">card</a></div><div class="ttdoc">Represents a card in the game.</div><div class="ttdef"><b>Definition</b> card.h:15</div></div> <div class="ttc" id="aclassgame__state_html"><div class="ttname"><a href="classgame__state.html">game_state</a></div><div class="ttdoc">Represents the state of the game.</div><div class="ttdef"><b>Definition</b> game_state.h:27</div></div> diff --git a/html/_main_game_panel_wizard_8h_source.html b/html/_main_game_panel_wizard_8h_source.html index 8c6280d..cabbcef 100644 --- a/html/_main_game_panel_wizard_8h_source.html +++ b/html/_main_game_panel_wizard_8h_source.html @@ -99,31 +99,34 @@ $(function(){ initResizable(false); }); <div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include <wx/gbsizer.h></span></div> <div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include "../../common/game_state/game_state.h"</span></div> <div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div> -<div class="foldopen" id="foldopen00008" data-start="{" data-end="};"> -<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"><a class="line" href="class_main_game_panel_wizard.html"> 8</a></span><span class="keyword">class </span><a class="code hl_class" href="class_main_game_panel_wizard.html">MainGamePanelWizard</a> : <span class="keyword">public</span> wxPanel{</div> -<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> </div> -<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="keyword">public</span>:</div> -<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> <a class="code hl_class" href="class_main_game_panel_wizard.html">MainGamePanelWizard</a>(wxWindow* parent);</div> -<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> </div> -<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> <span class="keywordtype">void</span> buildGameState(<a class="code hl_class" href="classgame__state.html">game_state</a>* gameState, <a class="code hl_class" href="classplayer.html">player</a>* me);</div> -<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div> -<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="keyword">private</span>:</div> -<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> <span class="keywordtype">void</span> buildThisPlayer(wxGridBagSizer* sizer, <a class="code hl_class" href="classgame__state.html">game_state</a>* gameState, <a class="code hl_class" href="classplayer.html">player</a>* me);</div> -<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> <span class="keywordtype">void</span> buildTurnIndicator(wxGridBagSizer* sizer, <a class="code hl_class" href="classgame__state.html">game_state</a>* gameState, <a class="code hl_class" href="classplayer.html">player</a>* me);</div> -<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> <span class="keywordtype">void</span> buildOtherPlayers(wxGridBagSizer* sizer, <a class="code hl_class" href="classgame__state.html">game_state</a>* gameState, <a class="code hl_class" href="classplayer.html">player</a> *me, <span class="keywordtype">int</span> myPosition);</div> -<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div> -<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> <span class="keywordtype">void</span> buildTrickPile(wxGridBagSizer* sizer, <a class="code hl_class" href="classgame__state.html">game_state</a>* gameState, <a class="code hl_class" href="classplayer.html">player</a> *me);</div> -<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> <span class="keywordtype">void</span> buildTrumpCard(wxGridBagSizer* sizer, <a class="code hl_class" href="classgame__state.html">game_state</a>* gameState);</div> -<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div> -<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> <span class="keywordtype">void</span> buildScoreBoardButton(wxGridBagSizer* sizer, <a class="code hl_class" href="classgame__state.html">game_state</a>* gameState);</div> +<div class="foldopen" id="foldopen00016" data-start="{" data-end="};"> +<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"><a class="line" href="class_main_game_panel_wizard.html"> 16</a></span><span class="keyword">class </span><a class="code hl_class" href="class_main_game_panel_wizard.html">MainGamePanelWizard</a> : <span class="keyword">public</span> wxPanel{</div> +<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> </div> +<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="keyword">public</span>:</div> +<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> <a class="code hl_function" href="class_main_game_panel_wizard.html#a6ba532223a22fe5458e3f94a70e2bbf6">MainGamePanelWizard</a>(wxWindow* parent);</div> <div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> </div> -<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> wxSize <span class="keyword">const</span> panelSize = wxSize(960, 680); <span class="comment">// also set in the constructor implementation</span></div> -<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> wxSize <span class="keyword">const</span> cardSize = wxSize(70, 108);</div> -<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span>};</div> +<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_main_game_panel_wizard.html#a83517cab2cccba78cce79450de3bb7f3">buildGameState</a>(<a class="code hl_class" href="classgame__state.html">game_state</a>* gameState, <a class="code hl_class" href="classplayer.html">player</a>* me);</div> +<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div> +<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="keyword">private</span>:</div> +<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keywordtype">void</span> buildThisPlayer(wxGridBagSizer* sizer, <a class="code hl_class" href="classgame__state.html">game_state</a>* gameState, <a class="code hl_class" href="classplayer.html">player</a>* me);</div> +<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <span class="keywordtype">void</span> buildTurnIndicator(wxGridBagSizer* sizer, <a class="code hl_class" href="classgame__state.html">game_state</a>* gameState, <a class="code hl_class" href="classplayer.html">player</a>* me);</div> +<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">void</span> buildOtherPlayers(wxGridBagSizer* sizer, <a class="code hl_class" href="classgame__state.html">game_state</a>* gameState, <a class="code hl_class" href="classplayer.html">player</a> *me, <span class="keywordtype">int</span> myPosition);</div> +<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">void</span> showRoundOverlay(<span class="keywordtype">int</span> roundNumber);</div> +<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">void</span> buildTrickPile(wxGridBagSizer* sizer, <a class="code hl_class" href="classgame__state.html">game_state</a>* gameState, <a class="code hl_class" href="classplayer.html">player</a> *me);</div> +<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">void</span> buildTrumpCard(wxGridBagSizer* sizer, <a class="code hl_class" href="classgame__state.html">game_state</a>* gameState);</div> +<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> </div> +<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="keywordtype">void</span> buildScoreLeaveButtons(wxGridBagSizer* sizer, <a class="code hl_class" href="classgame__state.html">game_state</a>* gameState);</div> +<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> </div> +<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="comment">// also set in the constructor implementation</span></div> +<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> wxSize <span class="keyword">const</span> panelSize = wxSize(960, 680); </div> +<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> wxSize <span class="keyword">const</span> cardSize = wxSize(70, 108); </div> +<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span>};</div> </div> -<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div> -<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#endif </span><span class="comment">//MAINGAMEPANELWIZARD_H</span></div> -<div class="ttc" id="aclass_main_game_panel_wizard_html"><div class="ttname"><a href="class_main_game_panel_wizard.html">MainGamePanelWizard</a></div><div class="ttdef"><b>Definition</b> MainGamePanelWizard.h:8</div></div> +<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> </div> +<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="preprocessor">#endif </span><span class="comment">//MAINGAMEPANELWIZARD_H</span></div> +<div class="ttc" id="aclass_main_game_panel_wizard_html"><div class="ttname"><a href="class_main_game_panel_wizard.html">MainGamePanelWizard</a></div><div class="ttdoc">Visualizes Game State to user during the card playing phase. The Main Game Panel is shown before the ...</div><div class="ttdef"><b>Definition</b> MainGamePanelWizard.h:16</div></div> +<div class="ttc" id="aclass_main_game_panel_wizard_html_a6ba532223a22fe5458e3f94a70e2bbf6"><div class="ttname"><a href="class_main_game_panel_wizard.html#a6ba532223a22fe5458e3f94a70e2bbf6">MainGamePanelWizard::MainGamePanelWizard</a></div><div class="ttdeci">MainGamePanelWizard(wxWindow *parent)</div><div class="ttdoc">Constructs main game panel.</div><div class="ttdef"><b>Definition</b> MainGamePanelWizard.cpp:23</div></div> +<div class="ttc" id="aclass_main_game_panel_wizard_html_a83517cab2cccba78cce79450de3bb7f3"><div class="ttname"><a href="class_main_game_panel_wizard.html#a83517cab2cccba78cce79450de3bb7f3">MainGamePanelWizard::buildGameState</a></div><div class="ttdeci">void buildGameState(game_state *gameState, player *me)</div><div class="ttdoc">Shows the game state in the GUI the client gets from the server. This function is called by the game ...</div><div class="ttdef"><b>Definition</b> MainGamePanelWizard.cpp:28</div></div> <div class="ttc" id="aclassgame__state_html"><div class="ttname"><a href="classgame__state.html">game_state</a></div><div class="ttdoc">Represents the state of the game.</div><div class="ttdef"><b>Definition</b> game_state.h:27</div></div> <div class="ttc" id="aclassplayer_html"><div class="ttname"><a href="classplayer.html">player</a></div><div class="ttdoc">Represents a player in the game.</div><div class="ttdef"><b>Definition</b> player.h:18</div></div> </div><!-- fragment --></div><!-- contents --> diff --git a/html/_trick_estimation_panel_8h_source.html b/html/_trick_estimation_panel_8h_source.html index 0467c3f..a8645e7 100644 --- a/html/_trick_estimation_panel_8h_source.html +++ b/html/_trick_estimation_panel_8h_source.html @@ -122,7 +122,7 @@ $(function(){ initResizable(false); }); <div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <span class="keywordtype">void</span> buildThisPlayer(wxGridBagSizer* sizer, <a class="code hl_class" href="classgame__state.html">game_state</a>* gameState, <a class="code hl_class" href="classplayer.html">player</a>* me);</div> <div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <span class="keywordtype">void</span> buildOtherPlayers(wxGridBagSizer* sizer, <a class="code hl_class" href="classgame__state.html">game_state</a>* gameState, <span class="keywordtype">int</span> myPosition);</div> <div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div> -<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="keywordtype">void</span> buildScoreBoardButton(wxGridBagSizer* sizer, <a class="code hl_class" href="classgame__state.html">game_state</a>* gameState);</div> +<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="keywordtype">void</span> buildScoreLeaveButtons(wxGridBagSizer* sizer, <a class="code hl_class" href="classgame__state.html">game_state</a>* gameState);</div> <div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div> <div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <a class="code hl_class" href="class_input_field.html">InputField</a>* _trickEstimateField;</div> <div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span>};</div> diff --git a/html/annotated.html b/html/annotated.html index 3d78112..3bc8efd 100644 --- a/html/annotated.html +++ b/html/annotated.html @@ -113,7 +113,7 @@ $(function(){ initResizable(false); }); <tr id="row_18_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classjoin__game__request.html" target="_self">join_game_request</a></td><td class="desc"></td></tr> <tr id="row_19_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classjson__utils.html" target="_self">json_utils</a></td><td class="desc"></td></tr> <tr id="row_20_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classleave__game__request.html" target="_self">leave_game_request</a></td><td class="desc"></td></tr> -<tr id="row_21_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_main_game_panel_wizard.html" target="_self">MainGamePanelWizard</a></td><td class="desc"></td></tr> +<tr id="row_21_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_main_game_panel_wizard.html" target="_self">MainGamePanelWizard</a></td><td class="desc">Visualizes Game State to user during the card playing phase. The Main Game Panel is shown before the game has started (Lobby) and also while the game is played (outside the trick estimation phase). It ensures that the game state is shown to all players in the GUI, and creates and positions all graphical elements. It also allows interaction of the user with the GUI via button clicks </td></tr> <tr id="row_22_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classplay__card__request.html" target="_self">play_card_request</a></td><td class="desc"></td></tr> <tr id="row_23_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classplayer.html" target="_self">player</a></td><td class="desc">Represents a player in the game </td></tr> <tr id="row_24_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classplayer__manager.html" target="_self">player_manager</a></td><td class="desc"></td></tr> diff --git a/html/class_game_controller-members.html b/html/class_game_controller-members.html index e4c1ac0..6aa6a47 100644 --- a/html/class_game_controller-members.html +++ b/html/class_game_controller-members.html @@ -91,20 +91,21 @@ $(function(){ initResizable(false); }); <p>This is the complete list of members for <a class="el" href="class_game_controller.html">GameController</a>, including all inherited members.</p> <table class="directory"> - <tr class="even"><td class="entry"><a class="el" href="class_game_controller.html#a023da21da545374ee46fb873149976c4">connectToServer</a>()</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr class="odd"><td class="entry"><a class="el" href="class_game_controller.html#abd110563d0f37f06096176c199d22055">estimateTricks</a>(int nof_tricks)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr class="even"><td class="entry"><a class="el" href="class_game_controller.html#abec8c73ea01e4b7e01b2ca1d932e0c16">getMainThreadEventHandler</a>()</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr class="odd"><td class="entry"><a class="el" href="class_game_controller.html#a8889bad76bc35487d3391fb8a5791616">init</a>(GameWindow *gameWindow)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr class="even"><td class="entry"><a class="el" href="class_game_controller.html#a8d42b2e41759bfd65cdebad87437369e">leaveGame</a>()</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr class="odd"><td class="entry"><a class="el" href="class_game_controller.html#a87b164e2094901861e5b47056634facc">playCard</a>(card *cardToPlay)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr class="even"><td class="entry"><a class="el" href="class_game_controller.html#a5f1023f2029e5dbb25b795a0606e06a9">processEstimateTricks</a>()</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr class="odd"><td class="entry"><a class="el" href="class_game_controller.html#adf043f9026a62f634a873c9f9d292034">showError</a>(const std::string &title, const std::string &message)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr class="even"><td class="entry"><a class="el" href="class_game_controller.html#abb91c546ab8400c1e2e9f2a2ccc8298f">showGameOverMessage</a>()</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr class="odd"><td class="entry"><a class="el" href="class_game_controller.html#a3c350056b82df662c946cb9119f11ced">showNewRoundMessage</a>(game_state *oldGameState, game_state *newGameState)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr class="even"><td class="entry"><a class="el" href="class_game_controller.html#a6a43eb061a9882b3937fc88bb4794324">showStatus</a>(const std::string &message)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr class="odd"><td class="entry"><a class="el" href="class_game_controller.html#a8108659ad09724318c3a251d93bd5869">showTrickOverMessage</a>(const player *winner)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr class="even"><td class="entry"><a class="el" href="class_game_controller.html#a8f30ab3ff471ac0a5c8b88dc7fea45f4">startGame</a>()</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr class="odd"><td class="entry"><a class="el" href="class_game_controller.html#a994773f79be8c9e8dc8c19ee2d389103">updateGameState</a>(game_state *newGameState)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="class_game_controller.html#a21eea505305d56439efb835e1e148c2f">closeGameWindow</a>()</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="class_game_controller.html#a023da21da545374ee46fb873149976c4">connectToServer</a>()</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="class_game_controller.html#abd110563d0f37f06096176c199d22055">estimateTricks</a>(int nof_tricks)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="class_game_controller.html#abec8c73ea01e4b7e01b2ca1d932e0c16">getMainThreadEventHandler</a>()</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="class_game_controller.html#a8889bad76bc35487d3391fb8a5791616">init</a>(GameWindow *gameWindow)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="class_game_controller.html#a8d42b2e41759bfd65cdebad87437369e">leaveGame</a>()</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="class_game_controller.html#a87b164e2094901861e5b47056634facc">playCard</a>(card *cardToPlay)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="class_game_controller.html#a5f1023f2029e5dbb25b795a0606e06a9">processEstimateTricks</a>()</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="class_game_controller.html#adf043f9026a62f634a873c9f9d292034">showError</a>(const std::string &title, const std::string &message)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="class_game_controller.html#abb91c546ab8400c1e2e9f2a2ccc8298f">showGameOverMessage</a>()</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="class_game_controller.html#a3c350056b82df662c946cb9119f11ced">showNewRoundMessage</a>(game_state *oldGameState, game_state *newGameState)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="class_game_controller.html#a6a43eb061a9882b3937fc88bb4794324">showStatus</a>(const std::string &message)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="class_game_controller.html#a8108659ad09724318c3a251d93bd5869">showTrickOverMessage</a>(const player *winner)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="class_game_controller.html#a8f30ab3ff471ac0a5c8b88dc7fea45f4">startGame</a>()</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="class_game_controller.html#a994773f79be8c9e8dc8c19ee2d389103">updateGameState</a>(game_state *newGameState)</td><td class="entry"><a class="el" href="class_game_controller.html">GameController</a></td><td class="entry"><span class="mlabel">static</span></td></tr> </table></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> diff --git a/html/class_game_controller.html b/html/class_game_controller.html index 3e550c0..c42c065 100644 --- a/html/class_game_controller.html +++ b/html/class_game_controller.html @@ -146,6 +146,10 @@ static void </td><td class="memItemRight" valign="bottom"><b>processEstimat static void </td><td class="memItemRight" valign="bottom"><b>showGameOverMessage</b> ()</td></tr> <tr class="memdesc:abb91c546ab8400c1e2e9f2a2ccc8298f"><td class="mdescLeft"> </td><td class="mdescRight">Shows message at the end of the game that the game has ended and states the winner. <br /></td></tr> <tr class="separator:abb91c546ab8400c1e2e9f2a2ccc8298f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a21eea505305d56439efb835e1e148c2f" id="r_a21eea505305d56439efb835e1e148c2f"><td class="memItemLeft" align="right" valign="top"><a id="a21eea505305d56439efb835e1e148c2f" name="a21eea505305d56439efb835e1e148c2f"></a> +static void </td><td class="memItemRight" valign="bottom"><b>closeGameWindow</b> ()</td></tr> +<tr class="memdesc:a21eea505305d56439efb835e1e148c2f"><td class="mdescLeft"> </td><td class="mdescRight">Closes game window. <br /></td></tr> +<tr class="separator:a21eea505305d56439efb835e1e148c2f"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Controls visualization of the game state and processes client actions. </p> diff --git a/html/class_main_game_panel_wizard-members.html b/html/class_main_game_panel_wizard-members.html index 1b837d4..7a5525d 100644 --- a/html/class_main_game_panel_wizard-members.html +++ b/html/class_main_game_panel_wizard-members.html @@ -91,8 +91,8 @@ $(function(){ initResizable(false); }); <p>This is the complete list of members for <a class="el" href="class_main_game_panel_wizard.html">MainGamePanelWizard</a>, including all inherited members.</p> <table class="directory"> - <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>buildGameState</b>(game_state *gameState, player *me) (defined in <a class="el" href="class_main_game_panel_wizard.html">MainGamePanelWizard</a>)</td><td class="entry"><a class="el" href="class_main_game_panel_wizard.html">MainGamePanelWizard</a></td><td class="entry"></td></tr> - <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>MainGamePanelWizard</b>(wxWindow *parent) (defined in <a class="el" href="class_main_game_panel_wizard.html">MainGamePanelWizard</a>)</td><td class="entry"><a class="el" href="class_main_game_panel_wizard.html">MainGamePanelWizard</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="class_main_game_panel_wizard.html#a83517cab2cccba78cce79450de3bb7f3">buildGameState</a>(game_state *gameState, player *me)</td><td class="entry"><a class="el" href="class_main_game_panel_wizard.html">MainGamePanelWizard</a></td><td class="entry"></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="class_main_game_panel_wizard.html#a6ba532223a22fe5458e3f94a70e2bbf6">MainGamePanelWizard</a>(wxWindow *parent)</td><td class="entry"><a class="el" href="class_main_game_panel_wizard.html">MainGamePanelWizard</a></td><td class="entry"></td></tr> </table></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> diff --git a/html/class_main_game_panel_wizard.html b/html/class_main_game_panel_wizard.html index 2cf3987..a8f8077 100644 --- a/html/class_main_game_panel_wizard.html +++ b/html/class_main_game_panel_wizard.html @@ -91,6 +91,11 @@ $(function(){ initResizable(false); }); <div class="headertitle"><div class="title">MainGamePanelWizard Class Reference</div></div> </div><!--header--> <div class="contents"> + +<p>Visualizes Game State to user during the card playing phase. The Main Game Panel is shown before the game has started (Lobby) and also while the game is played (outside the trick estimation phase). It ensures that the game state is shown to all players in the GUI, and creates and positions all graphical elements. It also allows interaction of the user with the GUI via button clicks. + <a href="#details">More...</a></p> + +<p><code>#include <<a class="el" href="_main_game_panel_wizard_8h_source.html">MainGamePanelWizard.h</a>></code></p> <div class="dynheader"> Inheritance diagram for MainGamePanelWizard:</div> <div class="dyncontent"> @@ -100,13 +105,72 @@ Inheritance diagram for MainGamePanelWizard:</div> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a> Public Member Functions</h2></td></tr> -<tr class="memitem:a6ba532223a22fe5458e3f94a70e2bbf6" id="r_a6ba532223a22fe5458e3f94a70e2bbf6"><td class="memItemLeft" align="right" valign="top"><a id="a6ba532223a22fe5458e3f94a70e2bbf6" name="a6ba532223a22fe5458e3f94a70e2bbf6"></a> - </td><td class="memItemRight" valign="bottom"><b>MainGamePanelWizard</b> (wxWindow *parent)</td></tr> +<tr class="memitem:a6ba532223a22fe5458e3f94a70e2bbf6" id="r_a6ba532223a22fe5458e3f94a70e2bbf6"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a6ba532223a22fe5458e3f94a70e2bbf6">MainGamePanelWizard</a> (wxWindow *parent)</td></tr> +<tr class="memdesc:a6ba532223a22fe5458e3f94a70e2bbf6"><td class="mdescLeft"> </td><td class="mdescRight">Constructs main game panel. <br /></td></tr> <tr class="separator:a6ba532223a22fe5458e3f94a70e2bbf6"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a83517cab2cccba78cce79450de3bb7f3" id="r_a83517cab2cccba78cce79450de3bb7f3"><td class="memItemLeft" align="right" valign="top"><a id="a83517cab2cccba78cce79450de3bb7f3" name="a83517cab2cccba78cce79450de3bb7f3"></a> -void </td><td class="memItemRight" valign="bottom"><b>buildGameState</b> (<a class="el" href="classgame__state.html">game_state</a> *gameState, <a class="el" href="classplayer.html">player</a> *me)</td></tr> +<tr class="memitem:a83517cab2cccba78cce79450de3bb7f3" id="r_a83517cab2cccba78cce79450de3bb7f3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a83517cab2cccba78cce79450de3bb7f3">buildGameState</a> (<a class="el" href="classgame__state.html">game_state</a> *gameState, <a class="el" href="classplayer.html">player</a> *me)</td></tr> +<tr class="memdesc:a83517cab2cccba78cce79450de3bb7f3"><td class="mdescLeft"> </td><td class="mdescRight">Shows the game state in the GUI the client gets from the server. This function is called by the game controller to update the shown game state. <br /></td></tr> <tr class="separator:a83517cab2cccba78cce79450de3bb7f3"><td class="memSeparator" colspan="2"> </td></tr> </table> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"><p>Visualizes Game State to user during the card playing phase. The Main Game Panel is shown before the game has started (Lobby) and also while the game is played (outside the trick estimation phase). It ensures that the game state is shown to all players in the GUI, and creates and positions all graphical elements. It also allows interaction of the user with the GUI via button clicks. </p> +</div><h2 class="groupheader">Constructor & Destructor Documentation</h2> +<a id="a6ba532223a22fe5458e3f94a70e2bbf6" name="a6ba532223a22fe5458e3f94a70e2bbf6"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a6ba532223a22fe5458e3f94a70e2bbf6">◆ </a></span>MainGamePanelWizard()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">MainGamePanelWizard::MainGamePanelWizard </td> + <td>(</td> + <td class="paramtype">wxWindow *</td> <td class="paramname"><span class="paramname"><em>parent</em></span></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Constructs main game panel. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">parent</td><td>Game window the main game panel is put onto. </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<h2 class="groupheader">Member Function Documentation</h2> +<a id="a83517cab2cccba78cce79450de3bb7f3" name="a83517cab2cccba78cce79450de3bb7f3"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a83517cab2cccba78cce79450de3bb7f3">◆ </a></span>buildGameState()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void MainGamePanelWizard::buildGameState </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classgame__state.html">game_state</a> *</td> <td class="paramname"><span class="paramname"><em>gameState</em></span>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="classplayer.html">player</a> *</td> <td class="paramname"><span class="paramname"><em>me</em></span> )</td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Shows the game state in the GUI the client gets from the server. This function is called by the game controller to update the shown game state. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">gameState</td><td>New game state to show. </td></tr> + <tr><td class="paramname">me</td><td>Player to show the game state for (me). </td></tr> + </table> + </dd> +</dl> + +</div> +</div> <hr/>The documentation for this class was generated from the following files:<ul> <li>src/client/panels/<a class="el" href="_main_game_panel_wizard_8h_source.html">MainGamePanelWizard.h</a></li> <li>src/client/panels/<b>MainGamePanelWizard.cpp</b></li> diff --git a/html/classgame__state-members.html b/html/classgame__state-members.html index 3e88c3b..5ee07cc 100644 --- a/html/classgame__state-members.html +++ b/html/classgame__state-members.html @@ -108,26 +108,27 @@ $(function(){ initResizable(false); }); <tr class="even"><td class="entry"><a class="el" href="classgame__state.html#aa5263d03c85bce1e9d252e9017cbe282">get_trick_estimate_sum</a>() const</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> <tr class="odd"><td class="entry"><a class="el" href="classgame__state.html#a3fce12f31ad0aab82b0d2da90e3e8e15">get_trick_number</a>() const</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="classgame__state.html#aa40554d105939c5dce934daaa858c242">get_trick_starting_player</a>() const</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> - <tr class="odd"><td class="entry"><a class="el" href="classgame__state.html#abdf6c5116ed643773d676c90a05e6fe4">get_trump_color</a>() const</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="classgame__state.html#a88d19342ee76acc4660b3e56e8c126eb">is_estimation_phase</a>() const</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> - <tr class="odd"><td class="entry"><a class="el" href="classgame__state.html#a9b83de8a89e3bb506184492d22c3cf45">is_finished</a>() const</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="classgame__state.html#ae161c283e275a57d71834754d11e9e40">is_full</a>() const</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> - <tr class="odd"><td class="entry"><a class="el" href="classgame__state.html#a371d6a6d84395b90c15d84549b05d553">is_player_in_game</a>(player *player) const</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="classgame__state.html#aa0092c41779f38eba5e921e43b38559c">is_started</a>() const</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> - <tr class="odd"><td class="entry"><a class="el" href="classgame__state.html#a6c65d95086a88b8d111de5553e1210ec">play_card</a>(player *player, const std::string &card_id, std::string &err)</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="classgame__state.html#a734fc594d457aa4e6db5bc7467e6442d">remove_player</a>(player *player, std::string &err)</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> - <tr class="odd"><td class="entry"><a class="el" href="classgame__state.html#a745dd23945b6165470c494b036ac4667">set_trick</a>(trick *new_trick)</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="classgame__state.html#ab520d4076c53f70a68bc19f355243a4d">setup_round</a>(std::string &err)</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> - <tr class="odd"><td class="entry"><a class="el" href="classgame__state.html#a6ca6536eaec3404ff9b1ab39b8df4e67">start_game</a>(std::string &err)</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> - <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>to_json</b>() const (defined in <a class="el" href="classserializable.html">serializable</a>)</td><td class="entry"><a class="el" href="classserializable.html">serializable</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr> - <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>unique_serializable</b>() (defined in <a class="el" href="classunique__serializable.html">unique_serializable</a>)</td><td class="entry"><a class="el" href="classunique__serializable.html">unique_serializable</a></td><td class="entry"><span class="mlabel">protected</span></td></tr> - <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>unique_serializable</b>(std::string id) (defined in <a class="el" href="classunique__serializable.html">unique_serializable</a>)</td><td class="entry"><a class="el" href="classunique__serializable.html">unique_serializable</a></td><td class="entry"><span class="mlabel">protected</span></td></tr> - <tr class="odd"><td class="entry"><a class="el" href="classgame__state.html#a49851709fcec061d36478ed2fdcc3d9d">update_current_player</a>(std::string &err)</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="classgame__state.html#ad2e967638043670ebae93dd6ec32e91e">wrap_up_round</a>(std::string &err)</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> - <tr class="odd"><td class="entry"><a class="el" href="classgame__state.html#a54873cd18b46555915d150a6d8dd6f83">write_into_json</a>(rapidjson::Value &json, rapidjson::Document::AllocatorType &allocator) const override</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> - <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>write_into_json</b>(rapidjson::Value &json, rapidjson::MemoryPoolAllocator< rapidjson::CrtAllocator > &allocator) const override (defined in <a class="el" href="classunique__serializable.html">unique_serializable</a>)</td><td class="entry"><a class="el" href="classunique__serializable.html">unique_serializable</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> - <tr class="odd"><td class="entry"><a class="el" href="classgame__state.html#a2fbc370f93617298719f61514afdb5bc">~game_state</a>() override</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> - <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~serializable</b>()=default (defined in <a class="el" href="classserializable.html">serializable</a>)</td><td class="entry"><a class="el" href="classserializable.html">serializable</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="classgame__state.html#a115a9b1dbb65db44669363b407aa62ac">get_trump_card_value</a>() const</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classgame__state.html#abdf6c5116ed643773d676c90a05e6fe4">get_trump_color</a>() const</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="classgame__state.html#a88d19342ee76acc4660b3e56e8c126eb">is_estimation_phase</a>() const</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classgame__state.html#a9b83de8a89e3bb506184492d22c3cf45">is_finished</a>() const</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="classgame__state.html#ae161c283e275a57d71834754d11e9e40">is_full</a>() const</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classgame__state.html#a371d6a6d84395b90c15d84549b05d553">is_player_in_game</a>(player *player) const</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="classgame__state.html#aa0092c41779f38eba5e921e43b38559c">is_started</a>() const</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classgame__state.html#a6c65d95086a88b8d111de5553e1210ec">play_card</a>(player *player, const std::string &card_id, std::string &err)</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="classgame__state.html#a734fc594d457aa4e6db5bc7467e6442d">remove_player</a>(player *player, std::string &err)</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classgame__state.html#a745dd23945b6165470c494b036ac4667">set_trick</a>(trick *new_trick)</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="classgame__state.html#ab520d4076c53f70a68bc19f355243a4d">setup_round</a>(std::string &err)</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classgame__state.html#a6ca6536eaec3404ff9b1ab39b8df4e67">start_game</a>(std::string &err)</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> + <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>to_json</b>() const (defined in <a class="el" href="classserializable.html">serializable</a>)</td><td class="entry"><a class="el" href="classserializable.html">serializable</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr> + <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>unique_serializable</b>() (defined in <a class="el" href="classunique__serializable.html">unique_serializable</a>)</td><td class="entry"><a class="el" href="classunique__serializable.html">unique_serializable</a></td><td class="entry"><span class="mlabel">protected</span></td></tr> + <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>unique_serializable</b>(std::string id) (defined in <a class="el" href="classunique__serializable.html">unique_serializable</a>)</td><td class="entry"><a class="el" href="classunique__serializable.html">unique_serializable</a></td><td class="entry"><span class="mlabel">protected</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classgame__state.html#a49851709fcec061d36478ed2fdcc3d9d">update_current_player</a>(std::string &err)</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="classgame__state.html#ad2e967638043670ebae93dd6ec32e91e">wrap_up_round</a>(std::string &err)</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classgame__state.html#a54873cd18b46555915d150a6d8dd6f83">write_into_json</a>(rapidjson::Value &json, rapidjson::Document::AllocatorType &allocator) const override</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> + <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>write_into_json</b>(rapidjson::Value &json, rapidjson::MemoryPoolAllocator< rapidjson::CrtAllocator > &allocator) const override (defined in <a class="el" href="classunique__serializable.html">unique_serializable</a>)</td><td class="entry"><a class="el" href="classunique__serializable.html">unique_serializable</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classgame__state.html#a2fbc370f93617298719f61514afdb5bc">~game_state</a>() override</td><td class="entry"><a class="el" href="classgame__state.html">game_state</a></td><td class="entry"></td></tr> + <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>~serializable</b>()=default (defined in <a class="el" href="classserializable.html">serializable</a>)</td><td class="entry"><a class="el" href="classserializable.html">serializable</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> </table></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> diff --git a/html/classgame__state.html b/html/classgame__state.html index 7e99046..812632b 100644 --- a/html/classgame__state.html +++ b/html/classgame__state.html @@ -146,6 +146,9 @@ Public Member Functions</h2></td></tr> <tr class="memitem:abdf6c5116ed643773d676c90a05e6fe4" id="r_abdf6c5116ed643773d676c90a05e6fe4"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="#abdf6c5116ed643773d676c90a05e6fe4">get_trump_color</a> () const</td></tr> <tr class="memdesc:abdf6c5116ed643773d676c90a05e6fe4"><td class="mdescLeft"> </td><td class="mdescRight">Gets the trump color. <br /></td></tr> <tr class="separator:abdf6c5116ed643773d676c90a05e6fe4"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a115a9b1dbb65db44669363b407aa62ac" id="r_a115a9b1dbb65db44669363b407aa62ac"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="#a115a9b1dbb65db44669363b407aa62ac">get_trump_card_value</a> () const</td></tr> +<tr class="memdesc:a115a9b1dbb65db44669363b407aa62ac"><td class="mdescLeft"> </td><td class="mdescRight">Gets the value of the trump card to display in GUI. <br /></td></tr> +<tr class="separator:a115a9b1dbb65db44669363b407aa62ac"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2d16f420a8aa651685461a5efb8bb600" id="r_a2d16f420a8aa651685461a5efb8bb600"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classplayer.html">player</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2d16f420a8aa651685461a5efb8bb600">get_current_player</a> () const</td></tr> <tr class="memdesc:a2d16f420a8aa651685461a5efb8bb600"><td class="mdescLeft"> </td><td class="mdescRight">Gets the current player. <br /></td></tr> <tr class="separator:a2d16f420a8aa651685461a5efb8bb600"><td class="memSeparator" colspan="2"> </td></tr> @@ -660,6 +663,34 @@ std::string </td><td class="memItemRight" valign="bottom"><b>_id</b></td></ <p>Gets the starting player of the current trick. </p> <dl class="section return"><dt>Returns</dt><dd>The starting player of the current trick. </dd></dl> +</div> +</div> +<a id="a115a9b1dbb65db44669363b407aa62ac" name="a115a9b1dbb65db44669363b407aa62ac"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a115a9b1dbb65db44669363b407aa62ac">◆ </a></span>get_trump_card_value()</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">int game_state::get_trump_card_value </td> + <td>(</td> + <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td> + <td> const</td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">nodiscard</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>Gets the value of the trump card to display in GUI. </p> +<dl class="section return"><dt>Returns</dt><dd>The value of the trum card </dd></dl> + </div> </div> <a id="abdf6c5116ed643773d676c90a05e6fe4" name="abdf6c5116ed643773d676c90a05e6fe4"></a> diff --git a/html/classhand.html b/html/classhand.html index 8900a97..df78b15 100644 --- a/html/classhand.html +++ b/html/classhand.html @@ -133,12 +133,12 @@ Public Member Functions</h2></td></tr> <tr class="memitem:a0a50cbbb167e6a1d633dd48bc4b695fe" id="r_a0a50cbbb167e6a1d633dd48bc4b695fe"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#a0a50cbbb167e6a1d633dd48bc4b695fe">try_get_card</a> (const std::string &card_id, <a class="el" href="classcard.html">card</a> *&hand_card) const</td></tr> <tr class="memdesc:a0a50cbbb167e6a1d633dd48bc4b695fe"><td class="mdescLeft"> </td><td class="mdescRight">Tries to get a specific card from the hand. <br /></td></tr> <tr class="separator:a0a50cbbb167e6a1d633dd48bc4b695fe"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ad4749893f36ff1d6dcda3bb18eaedffb" id="r_ad4749893f36ff1d6dcda3bb18eaedffb"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad4749893f36ff1d6dcda3bb18eaedffb">add_card</a> (<a class="el" href="classcard.html">card</a> *<a class="el" href="classcard.html">card</a>, std::string &err)</td></tr> -<tr class="memdesc:ad4749893f36ff1d6dcda3bb18eaedffb"><td class="mdescLeft"> </td><td class="mdescRight">Adds a card to the hand. <br /></td></tr> -<tr class="separator:ad4749893f36ff1d6dcda3bb18eaedffb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa466496b7ce0b58dbd63620535430439" id="r_aa466496b7ce0b58dbd63620535430439"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#aa466496b7ce0b58dbd63620535430439">remove_card</a> (std::string card_id, std::string &err)</td></tr> <tr class="memdesc:aa466496b7ce0b58dbd63620535430439"><td class="mdescLeft"> </td><td class="mdescRight">Removes a card from the hand. <br /></td></tr> <tr class="separator:aa466496b7ce0b58dbd63620535430439"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ad4749893f36ff1d6dcda3bb18eaedffb" id="r_ad4749893f36ff1d6dcda3bb18eaedffb"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad4749893f36ff1d6dcda3bb18eaedffb">add_card</a> (<a class="el" href="classcard.html">card</a> *<a class="el" href="classcard.html">card</a>, std::string &err)</td></tr> +<tr class="memdesc:ad4749893f36ff1d6dcda3bb18eaedffb"><td class="mdescLeft"> </td><td class="mdescRight">Adds a card to the hand. <br /></td></tr> +<tr class="separator:ad4749893f36ff1d6dcda3bb18eaedffb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a505a82447d0ae305dadcc9c4aa54071e" id="r_a505a82447d0ae305dadcc9c4aa54071e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a505a82447d0ae305dadcc9c4aa54071e">write_into_json</a> (rapidjson::Value &json, rapidjson::Document::AllocatorType &allocator) const override</td></tr> <tr class="memdesc:a505a82447d0ae305dadcc9c4aa54071e"><td class="mdescLeft"> </td><td class="mdescRight">Serializes a hand object into a json object. <br /></td></tr> <tr class="separator:a505a82447d0ae305dadcc9c4aa54071e"><td class="memSeparator" colspan="2"> </td></tr> diff --git a/html/classplayer-members.html b/html/classplayer-members.html index 65c6f6d..f3708c3 100644 --- a/html/classplayer-members.html +++ b/html/classplayer-members.html @@ -102,21 +102,24 @@ $(function(){ initResizable(false); }); <tr class="even"><td class="entry"><a class="el" href="classplayer.html#a5e3d1374aee685b08a29d0ac7cec3df4">get_nof_tricks</a>() const noexcept</td><td class="entry"><a class="el" href="classplayer.html">player</a></td><td class="entry"></td></tr> <tr class="odd"><td class="entry"><a class="el" href="classplayer.html#a42d01dcf4cdbd452fc5dcaf5e6f21773">get_player_name</a>() const noexcept</td><td class="entry"><a class="el" href="classplayer.html">player</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="classplayer.html#aef5c25a02a2fdbdb4d8270582faf5dac">get_scores</a>() const noexcept</td><td class="entry"><a class="el" href="classplayer.html">player</a></td><td class="entry"></td></tr> - <tr class="odd"><td class="entry"><a class="el" href="classplayer.html#a1f0916939a8caa2e7140d5c89a6aa718">player</a>(const std::string &name)</td><td class="entry"><a class="el" href="classplayer.html">player</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr> - <tr class="even"><td class="entry"><a class="el" href="classplayer.html#aa97dd36228b56912bc5dad63f64e1ccf">player</a>(const std::string &id, const std::string &name)</td><td class="entry"><a class="el" href="classplayer.html">player</a></td><td class="entry"></td></tr> - <tr class="odd"><td class="entry"><a class="el" href="classplayer.html#aa916eeacf97f00507f412fd91bfe37d4">set_game_id</a>(const std::string &game_id)</td><td class="entry"><a class="el" href="classplayer.html">player</a></td><td class="entry"></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="classplayer.html#aac1b87de3b686d8ee1049269f6c9f272">has_left_game</a>() const</td><td class="entry"><a class="el" href="classplayer.html">player</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classplayer.html#a1f0916939a8caa2e7140d5c89a6aa718">player</a>(const std::string &name)</td><td class="entry"><a class="el" href="classplayer.html">player</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="classplayer.html#aa97dd36228b56912bc5dad63f64e1ccf">player</a>(const std::string &id, const std::string &name)</td><td class="entry"><a class="el" href="classplayer.html">player</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classplayer.html#aa916eeacf97f00507f412fd91bfe37d4">set_game_id</a>(const std::string &game_id)</td><td class="entry"><a class="el" href="classplayer.html">player</a></td><td class="entry"></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="classplayer.html#a42f88a13ce2b65360f6ee95281a09173">set_has_left_game</a>(bool has_left_game)</td><td class="entry"><a class="el" href="classplayer.html">player</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="classplayer.html#a1a3ce0ac69cad799641f4d732435c3f7">set_nof_predicted</a>(int nof_predicted) const</td><td class="entry"><a class="el" href="classplayer.html">player</a></td><td class="entry"></td></tr> <tr class="odd"><td class="entry"><a class="el" href="classplayer.html#a61aa38ceff0c856b36642c4bc0081433">set_nof_tricks</a>(int nof_tricks) const</td><td class="entry"><a class="el" href="classplayer.html">player</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="classplayer.html#af1d7e67eee27af87c01e43508a731bd4">set_scores</a>(int score)</td><td class="entry"><a class="el" href="classplayer.html">player</a></td><td class="entry"></td></tr> - <tr class="odd"><td class="entry"><a class="el" href="classplayer.html#a8cc6464ca3284140c92c6983ee62a299">setup_round</a>() const</td><td class="entry"><a class="el" href="classplayer.html">player</a></td><td class="entry"></td></tr> - <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>to_json</b>() const (defined in <a class="el" href="classserializable.html">serializable</a>)</td><td class="entry"><a class="el" href="classserializable.html">serializable</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr> - <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>unique_serializable</b>() (defined in <a class="el" href="classunique__serializable.html">unique_serializable</a>)</td><td class="entry"><a class="el" href="classunique__serializable.html">unique_serializable</a></td><td class="entry"><span class="mlabel">protected</span></td></tr> - <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>unique_serializable</b>(std::string id) (defined in <a class="el" href="classunique__serializable.html">unique_serializable</a>)</td><td class="entry"><a class="el" href="classunique__serializable.html">unique_serializable</a></td><td class="entry"><span class="mlabel">protected</span></td></tr> - <tr class="odd"><td class="entry"><a class="el" href="classplayer.html#a193bcc63da13e5bc98eb46ed99381302">wrap_up_round</a>()</td><td class="entry"><a class="el" href="classplayer.html">player</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="classplayer.html#a0cf13abfdb6b837faa88eda064bf51dc">write_into_json</a>(rapidjson::Value &json, rapidjson::Document::AllocatorType &allocator) const override</td><td class="entry"><a class="el" href="classplayer.html">player</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> - <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>write_into_json</b>(rapidjson::Value &json, rapidjson::MemoryPoolAllocator< rapidjson::CrtAllocator > &allocator) const override (defined in <a class="el" href="classunique__serializable.html">unique_serializable</a>)</td><td class="entry"><a class="el" href="classunique__serializable.html">unique_serializable</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> - <tr class="even"><td class="entry"><a class="el" href="classplayer.html#a0a62c0208584465db2daa1ac6e15b1ad">~player</a>() override</td><td class="entry"><a class="el" href="classplayer.html">player</a></td><td class="entry"></td></tr> - <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>~serializable</b>()=default (defined in <a class="el" href="classserializable.html">serializable</a>)</td><td class="entry"><a class="el" href="classserializable.html">serializable</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classplayer.html#af8f0b088e697fcb972bfc41302e63877">set_player_name</a>(const std::string &new_name)</td><td class="entry"><a class="el" href="classplayer.html">player</a></td><td class="entry"></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="classplayer.html#af1d7e67eee27af87c01e43508a731bd4">set_scores</a>(int score)</td><td class="entry"><a class="el" href="classplayer.html">player</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classplayer.html#a8cc6464ca3284140c92c6983ee62a299">setup_round</a>() const</td><td class="entry"><a class="el" href="classplayer.html">player</a></td><td class="entry"></td></tr> + <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>to_json</b>() const (defined in <a class="el" href="classserializable.html">serializable</a>)</td><td class="entry"><a class="el" href="classserializable.html">serializable</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr> + <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>unique_serializable</b>() (defined in <a class="el" href="classunique__serializable.html">unique_serializable</a>)</td><td class="entry"><a class="el" href="classunique__serializable.html">unique_serializable</a></td><td class="entry"><span class="mlabel">protected</span></td></tr> + <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>unique_serializable</b>(std::string id) (defined in <a class="el" href="classunique__serializable.html">unique_serializable</a>)</td><td class="entry"><a class="el" href="classunique__serializable.html">unique_serializable</a></td><td class="entry"><span class="mlabel">protected</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classplayer.html#a193bcc63da13e5bc98eb46ed99381302">wrap_up_round</a>()</td><td class="entry"><a class="el" href="classplayer.html">player</a></td><td class="entry"></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="classplayer.html#a0cf13abfdb6b837faa88eda064bf51dc">write_into_json</a>(rapidjson::Value &json, rapidjson::Document::AllocatorType &allocator) const override</td><td class="entry"><a class="el" href="classplayer.html">player</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> + <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>write_into_json</b>(rapidjson::Value &json, rapidjson::MemoryPoolAllocator< rapidjson::CrtAllocator > &allocator) const override (defined in <a class="el" href="classunique__serializable.html">unique_serializable</a>)</td><td class="entry"><a class="el" href="classunique__serializable.html">unique_serializable</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="classplayer.html#a0a62c0208584465db2daa1ac6e15b1ad">~player</a>() override</td><td class="entry"><a class="el" href="classplayer.html">player</a></td><td class="entry"></td></tr> + <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~serializable</b>()=default (defined in <a class="el" href="classserializable.html">serializable</a>)</td><td class="entry"><a class="el" href="classserializable.html">serializable</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> </table></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> diff --git a/html/classplayer.html b/html/classplayer.html index 4339acd..fac74f8 100644 --- a/html/classplayer.html +++ b/html/classplayer.html @@ -138,6 +138,12 @@ Public Member Functions</h2></td></tr> <tr class="memitem:a61aa38ceff0c856b36642c4bc0081433" id="r_a61aa38ceff0c856b36642c4bc0081433"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a61aa38ceff0c856b36642c4bc0081433">set_nof_tricks</a> (int nof_tricks) const</td></tr> <tr class="memdesc:a61aa38ceff0c856b36642c4bc0081433"><td class="mdescLeft"> </td><td class="mdescRight">Sets the player's number of won tricks to the given input. <br /></td></tr> <tr class="separator:a61aa38ceff0c856b36642c4bc0081433"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aac1b87de3b686d8ee1049269f6c9f272" id="r_aac1b87de3b686d8ee1049269f6c9f272"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#aac1b87de3b686d8ee1049269f6c9f272">has_left_game</a> () const</td></tr> +<tr class="memdesc:aac1b87de3b686d8ee1049269f6c9f272"><td class="mdescLeft"> </td><td class="mdescRight">State whether player has left the game. <br /></td></tr> +<tr class="separator:aac1b87de3b686d8ee1049269f6c9f272"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a42f88a13ce2b65360f6ee95281a09173" id="r_a42f88a13ce2b65360f6ee95281a09173"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a42f88a13ce2b65360f6ee95281a09173">set_has_left_game</a> (bool <a class="el" href="#aac1b87de3b686d8ee1049269f6c9f272">has_left_game</a>)</td></tr> +<tr class="memdesc:a42f88a13ce2b65360f6ee95281a09173"><td class="mdescLeft"> </td><td class="mdescRight">Sets the players game to left when he leaves the game. <br /></td></tr> +<tr class="separator:a42f88a13ce2b65360f6ee95281a09173"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a40333c302ff51707749c544930fb80aa" id="r_a40333c302ff51707749c544930fb80aa"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="#a40333c302ff51707749c544930fb80aa">get_nof_predicted</a> () const noexcept</td></tr> <tr class="memdesc:a40333c302ff51707749c544930fb80aa"><td class="mdescLeft"> </td><td class="mdescRight">Gets the number of tricks predicted to be won by the player in the current round. <br /></td></tr> <tr class="separator:a40333c302ff51707749c544930fb80aa"><td class="memSeparator" colspan="2"> </td></tr> @@ -153,6 +159,9 @@ Public Member Functions</h2></td></tr> <tr class="memitem:a42d01dcf4cdbd452fc5dcaf5e6f21773" id="r_a42d01dcf4cdbd452fc5dcaf5e6f21773"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="#a42d01dcf4cdbd452fc5dcaf5e6f21773">get_player_name</a> () const noexcept</td></tr> <tr class="memdesc:a42d01dcf4cdbd452fc5dcaf5e6f21773"><td class="mdescLeft"> </td><td class="mdescRight">Gets the player's name. <br /></td></tr> <tr class="separator:a42d01dcf4cdbd452fc5dcaf5e6f21773"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:af8f0b088e697fcb972bfc41302e63877" id="r_af8f0b088e697fcb972bfc41302e63877"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#af8f0b088e697fcb972bfc41302e63877">set_player_name</a> (const std::string &new_name)</td></tr> +<tr class="memdesc:af8f0b088e697fcb972bfc41302e63877"><td class="mdescLeft"> </td><td class="mdescRight">Sets the player's name to the given input. <br /></td></tr> +<tr class="separator:af8f0b088e697fcb972bfc41302e63877"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab3b087d03dd2c81d893b2ffad459a26f" id="r_ab3b087d03dd2c81d893b2ffad459a26f"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab3b087d03dd2c81d893b2ffad459a26f">add_card</a> (<a class="el" href="classcard.html">card</a> *<a class="el" href="classcard.html">card</a>, std::string &err) const</td></tr> <tr class="memdesc:ab3b087d03dd2c81d893b2ffad459a26f"><td class="mdescLeft"> </td><td class="mdescRight">Adds a card to the player's hand. <br /></td></tr> <tr class="separator:ab3b087d03dd2c81d893b2ffad459a26f"><td class="memSeparator" colspan="2"> </td></tr> @@ -513,6 +522,34 @@ std::string </td><td class="memItemRight" valign="bottom"><b>_id</b></td></ <p>Gets the scores of the player. </p> <dl class="section return"><dt>Returns</dt><dd>The scores of the player as a vector. </dd></dl> +</div> +</div> +<a id="aac1b87de3b686d8ee1049269f6c9f272" name="aac1b87de3b686d8ee1049269f6c9f272"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aac1b87de3b686d8ee1049269f6c9f272">◆ </a></span>has_left_game()</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">bool player::has_left_game </td> + <td>(</td> + <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td> + <td> const</td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">nodiscard</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>State whether player has left the game. </p> +<dl class="section return"><dt>Returns</dt><dd>Boolean stating whether player has left the game. </dd></dl> + </div> </div> <a id="aa916eeacf97f00507f412fd91bfe37d4" name="aa916eeacf97f00507f412fd91bfe37d4"></a> @@ -538,6 +575,31 @@ std::string </td><td class="memItemRight" valign="bottom"><b>_id</b></td></ </dd> </dl> +</div> +</div> +<a id="a42f88a13ce2b65360f6ee95281a09173" name="a42f88a13ce2b65360f6ee95281a09173"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a42f88a13ce2b65360f6ee95281a09173">◆ </a></span>set_has_left_game()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void player::set_has_left_game </td> + <td>(</td> + <td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>has_left_game</em></span></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Sets the players game to left when he leaves the game. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">has_left_game</td><td>Boolean whether player has left game </td></tr> + </table> + </dd> +</dl> + </div> </div> <a id="a1a3ce0ac69cad799641f4d732435c3f7" name="a1a3ce0ac69cad799641f4d732435c3f7"></a> @@ -590,6 +652,32 @@ std::string </td><td class="memItemRight" valign="bottom"><b>_id</b></td></ </dl> <p>This function is used to update the player's won number of tricks in case a player wins a trick. </p> +</div> +</div> +<a id="af8f0b088e697fcb972bfc41302e63877" name="af8f0b088e697fcb972bfc41302e63877"></a> +<h2 class="memtitle"><span class="permalink"><a href="#af8f0b088e697fcb972bfc41302e63877">◆ </a></span>set_player_name()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void player::set_player_name </td> + <td>(</td> + <td class="paramtype">const std::string &</td> <td class="paramname"><span class="paramname"><em>new_name</em></span></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Sets the player's name to the given input. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">new_name</td><td>The new player name.</td></tr> + </table> + </dd> +</dl> +<p>This function is used to change the player's name in case duplicate names appear within one game. </p> + </div> </div> <a id="af1d7e67eee27af87c01e43508a731bd4" name="af1d7e67eee27af87c01e43508a731bd4"></a> diff --git a/html/doxygen_crawl.html b/html/doxygen_crawl.html index adfda9b..b980ac1 100644 --- a/html/doxygen_crawl.html +++ b/html/doxygen_crawl.html @@ -175,6 +175,10 @@ <a href="functions.html"/> <a href="functions.html"/> <a href="functions.html"/> +<a href="functions.html"/> +<a href="functions.html"/> +<a href="functions_func.html"/> +<a href="functions_func.html"/> <a href="functions_func.html"/> <a href="functions_func.html"/> <a href="functions_func.html"/> @@ -213,6 +217,7 @@ <a href="class_error_dialog.html"/> <a href="class_game_controller.html"/> <a href="class_game_controller.html#a023da21da545374ee46fb873149976c4"/> +<a href="class_game_controller.html#a21eea505305d56439efb835e1e148c2f"/> <a href="class_game_controller.html#a3c350056b82df662c946cb9119f11ced"/> <a href="class_game_controller.html#a5f1023f2029e5dbb25b795a0606e06a9"/> <a href="class_game_controller.html#a6a43eb061a9882b3937fc88bb4794324"/> @@ -230,6 +235,8 @@ <a href="class_image_panel.html"/> <a href="class_input_field.html"/> <a href="class_main_game_panel_wizard.html"/> +<a href="class_main_game_panel_wizard.html#a6ba532223a22fe5458e3f94a70e2bbf6"/> +<a href="class_main_game_panel_wizard.html#a83517cab2cccba78cce79450de3bb7f3"/> <a href="class_response_listener_thread.html"/> <a href="class_score_board_dialog.html"/> <a href="class_score_dialog.html"/> @@ -275,6 +282,7 @@ <a href="classgame__instance__manager.html"/> <a href="classgame__state.html"/> <a href="classgame__state.html#a0c10b830e222d726557c3c33685c595a"/> +<a href="classgame__state.html#a115a9b1dbb65db44669363b407aa62ac"/> <a href="classgame__state.html#a2d16f420a8aa651685461a5efb8bb600"/> <a href="classgame__state.html#a2fbc370f93617298719f61514afdb5bc"/> <a href="classgame__state.html#a371d6a6d84395b90c15d84549b05d553"/> @@ -328,6 +336,7 @@ <a href="classplayer.html#a1f0916939a8caa2e7140d5c89a6aa718"/> <a href="classplayer.html#a40333c302ff51707749c544930fb80aa"/> <a href="classplayer.html#a42d01dcf4cdbd452fc5dcaf5e6f21773"/> +<a href="classplayer.html#a42f88a13ce2b65360f6ee95281a09173"/> <a href="classplayer.html#a457c5ab90b0ecd610eead66b41c8333a"/> <a href="classplayer.html#a5955c5f26db6a08862ccfb443fbe99c5"/> <a href="classplayer.html#a5e3d1374aee685b08a29d0ac7cec3df4"/> @@ -335,10 +344,12 @@ <a href="classplayer.html#a8cc6464ca3284140c92c6983ee62a299"/> <a href="classplayer.html#aa916eeacf97f00507f412fd91bfe37d4"/> <a href="classplayer.html#aa97dd36228b56912bc5dad63f64e1ccf"/> +<a href="classplayer.html#aac1b87de3b686d8ee1049269f6c9f272"/> <a href="classplayer.html#ab3b087d03dd2c81d893b2ffad459a26f"/> <a href="classplayer.html#aef5c25a02a2fdbdb4d8270582faf5dac"/> <a href="classplayer.html#af1d7e67eee27af87c01e43508a731bd4"/> <a href="classplayer.html#af333dcbf7123726c9bda3ab94ba9ee6d"/> +<a href="classplayer.html#af8f0b088e697fcb972bfc41302e63877"/> <a href="classplayer.html#afeb6c5483a59042fcc4a3a2aed6a6a2c"/> <a href="classplayer__manager.html"/> <a href="classrequest__handler.html"/> @@ -403,16 +414,22 @@ <a href="index.html#autotoc_md10"/> <a href="index.html#autotoc_md11"/> <a href="index.html#autotoc_md12"/> -<a href="index.html#autotoc_md13"/> <a href="index.html#autotoc_md14"/> -<a href="index.html#autotoc_md15"/> <a href="index.html#autotoc_md16"/> <a href="index.html#autotoc_md17"/> <a href="index.html#autotoc_md18"/> <a href="index.html#autotoc_md19"/> -<a href="index.html#autotoc_md3"/> +<a href="index.html#autotoc_md20"/> +<a href="index.html#autotoc_md21"/> +<a href="index.html#autotoc_md22"/> +<a href="index.html#autotoc_md23"/> +<a href="index.html#autotoc_md24"/> +<a href="index.html#autotoc_md25"/> +<a href="index.html#autotoc_md26"/> +<a href="index.html#autotoc_md27"/> +<a href="index.html#autotoc_md28"/> +<a href="index.html#autotoc_md29"/> <a href="index.html#autotoc_md4"/> -<a href="index.html#autotoc_md5"/> <a href="index.html#autotoc_md6"/> <a href="index.html#autotoc_md7"/> <a href="index.html#autotoc_md8"/> diff --git a/html/functions.html b/html/functions.html index 323024a..192a84a 100644 --- a/html/functions.html +++ b/html/functions.html @@ -93,8 +93,14 @@ $(function(){ initResizable(false); }); </ul> +<h3><a id="index_b" name="index_b"></a>- b -</h3><ul> +<li>buildGameState() : <a class="el" href="class_main_game_panel_wizard.html#a83517cab2cccba78cce79450de3bb7f3">MainGamePanelWizard</a></li> +</ul> + + <h3><a id="index_c" name="index_c"></a>- c -</h3><ul> <li>card() : <a class="el" href="classcard.html#a764d65641c619aedf1842a30e54905b7">card</a></li> +<li>closeGameWindow() : <a class="el" href="class_game_controller.html#a21eea505305d56439efb835e1e148c2f">GameController</a></li> <li>connectToServer() : <a class="el" href="class_game_controller.html#a023da21da545374ee46fb873149976c4">GameController</a></li> </ul> @@ -145,6 +151,7 @@ $(function(){ initResizable(false); }); <li>get_trick_estimate_sum() : <a class="el" href="classgame__state.html#aa5263d03c85bce1e9d252e9017cbe282">game_state</a></li> <li>get_trick_number() : <a class="el" href="classgame__state.html#a3fce12f31ad0aab82b0d2da90e3e8e15">game_state</a></li> <li>get_trick_starting_player() : <a class="el" href="classgame__state.html#aa40554d105939c5dce934daaa858c242">game_state</a></li> +<li>get_trump_card_value() : <a class="el" href="classgame__state.html#a115a9b1dbb65db44669363b407aa62ac">game_state</a></li> <li>get_trump_color() : <a class="el" href="classgame__state.html#abdf6c5116ed643773d676c90a05e6fe4">game_state</a>, <a class="el" href="classtrick.html#a69c49e2968abb235a6c7148cb05b0e64">trick</a></li> <li>get_value() : <a class="el" href="classcard.html#a2baf8dfef09ac8c1a67b34c2e67186c3">card</a></li> <li>get_winner() : <a class="el" href="classtrick.html#a4b93ae88c17db486d975408cd8cfad1b">trick</a></li> @@ -154,6 +161,7 @@ $(function(){ initResizable(false); }); <h3><a id="index_h" name="index_h"></a>- h -</h3><ul> <li>hand() : <a class="el" href="classhand.html#ae8d7de2589266f57271ac191dab8cd64">hand</a></li> +<li>has_left_game() : <a class="el" href="classplayer.html#aac1b87de3b686d8ee1049269f6c9f272">player</a></li> </ul> @@ -173,6 +181,11 @@ $(function(){ initResizable(false); }); </ul> +<h3><a id="index_m" name="index_m"></a>- m -</h3><ul> +<li>MainGamePanelWizard() : <a class="el" href="class_main_game_panel_wizard.html#a6ba532223a22fe5458e3f94a70e2bbf6">MainGamePanelWizard</a></li> +</ul> + + <h3><a id="index_p" name="index_p"></a>- p -</h3><ul> <li>play_card() : <a class="el" href="classgame__instance.html#a1a7e19a4b0907cb0b5f1523edb7e68ca">game_instance</a>, <a class="el" href="classgame__state.html#a6c65d95086a88b8d111de5553e1210ec">game_state</a></li> <li>playCard() : <a class="el" href="class_game_controller.html#a87b164e2094901861e5b47056634facc">GameController</a></li> @@ -189,8 +202,10 @@ $(function(){ initResizable(false); }); <h3><a id="index_s" name="index_s"></a>- s -</h3><ul> <li>set_game_id() : <a class="el" href="classplayer.html#aa916eeacf97f00507f412fd91bfe37d4">player</a></li> +<li>set_has_left_game() : <a class="el" href="classplayer.html#a42f88a13ce2b65360f6ee95281a09173">player</a></li> <li>set_nof_predicted() : <a class="el" href="classplayer.html#a1a3ce0ac69cad799641f4d732435c3f7">player</a></li> <li>set_nof_tricks() : <a class="el" href="classplayer.html#a61aa38ceff0c856b36642c4bc0081433">player</a></li> +<li>set_player_name() : <a class="el" href="classplayer.html#af8f0b088e697fcb972bfc41302e63877">player</a></li> <li>set_scores() : <a class="el" href="classplayer.html#af1d7e67eee27af87c01e43508a731bd4">player</a></li> <li>set_trick() : <a class="el" href="classgame__state.html#a745dd23945b6165470c494b036ac4667">game_state</a></li> <li>set_trick_color() : <a class="el" href="classtrick.html#a0f8c45882691509564ec42efed0d1aaa">trick</a></li> diff --git a/html/functions_func.html b/html/functions_func.html index 8f71ef1..039eeca 100644 --- a/html/functions_func.html +++ b/html/functions_func.html @@ -93,8 +93,14 @@ $(function(){ initResizable(false); }); </ul> +<h3><a id="index_b" name="index_b"></a>- b -</h3><ul> +<li>buildGameState() : <a class="el" href="class_main_game_panel_wizard.html#a83517cab2cccba78cce79450de3bb7f3">MainGamePanelWizard</a></li> +</ul> + + <h3><a id="index_c" name="index_c"></a>- c -</h3><ul> <li>card() : <a class="el" href="classcard.html#a764d65641c619aedf1842a30e54905b7">card</a></li> +<li>closeGameWindow() : <a class="el" href="class_game_controller.html#a21eea505305d56439efb835e1e148c2f">GameController</a></li> <li>connectToServer() : <a class="el" href="class_game_controller.html#a023da21da545374ee46fb873149976c4">GameController</a></li> </ul> @@ -145,6 +151,7 @@ $(function(){ initResizable(false); }); <li>get_trick_estimate_sum() : <a class="el" href="classgame__state.html#aa5263d03c85bce1e9d252e9017cbe282">game_state</a></li> <li>get_trick_number() : <a class="el" href="classgame__state.html#a3fce12f31ad0aab82b0d2da90e3e8e15">game_state</a></li> <li>get_trick_starting_player() : <a class="el" href="classgame__state.html#aa40554d105939c5dce934daaa858c242">game_state</a></li> +<li>get_trump_card_value() : <a class="el" href="classgame__state.html#a115a9b1dbb65db44669363b407aa62ac">game_state</a></li> <li>get_trump_color() : <a class="el" href="classgame__state.html#abdf6c5116ed643773d676c90a05e6fe4">game_state</a>, <a class="el" href="classtrick.html#a69c49e2968abb235a6c7148cb05b0e64">trick</a></li> <li>get_value() : <a class="el" href="classcard.html#a2baf8dfef09ac8c1a67b34c2e67186c3">card</a></li> <li>get_winner() : <a class="el" href="classtrick.html#a4b93ae88c17db486d975408cd8cfad1b">trick</a></li> @@ -154,6 +161,7 @@ $(function(){ initResizable(false); }); <h3><a id="index_h" name="index_h"></a>- h -</h3><ul> <li>hand() : <a class="el" href="classhand.html#ae8d7de2589266f57271ac191dab8cd64">hand</a></li> +<li>has_left_game() : <a class="el" href="classplayer.html#aac1b87de3b686d8ee1049269f6c9f272">player</a></li> </ul> @@ -173,6 +181,11 @@ $(function(){ initResizable(false); }); </ul> +<h3><a id="index_m" name="index_m"></a>- m -</h3><ul> +<li>MainGamePanelWizard() : <a class="el" href="class_main_game_panel_wizard.html#a6ba532223a22fe5458e3f94a70e2bbf6">MainGamePanelWizard</a></li> +</ul> + + <h3><a id="index_p" name="index_p"></a>- p -</h3><ul> <li>play_card() : <a class="el" href="classgame__instance.html#a1a7e19a4b0907cb0b5f1523edb7e68ca">game_instance</a>, <a class="el" href="classgame__state.html#a6c65d95086a88b8d111de5553e1210ec">game_state</a></li> <li>playCard() : <a class="el" href="class_game_controller.html#a87b164e2094901861e5b47056634facc">GameController</a></li> @@ -189,8 +202,10 @@ $(function(){ initResizable(false); }); <h3><a id="index_s" name="index_s"></a>- s -</h3><ul> <li>set_game_id() : <a class="el" href="classplayer.html#aa916eeacf97f00507f412fd91bfe37d4">player</a></li> +<li>set_has_left_game() : <a class="el" href="classplayer.html#a42f88a13ce2b65360f6ee95281a09173">player</a></li> <li>set_nof_predicted() : <a class="el" href="classplayer.html#a1a3ce0ac69cad799641f4d732435c3f7">player</a></li> <li>set_nof_tricks() : <a class="el" href="classplayer.html#a61aa38ceff0c856b36642c4bc0081433">player</a></li> +<li>set_player_name() : <a class="el" href="classplayer.html#af8f0b088e697fcb972bfc41302e63877">player</a></li> <li>set_scores() : <a class="el" href="classplayer.html#af1d7e67eee27af87c01e43508a731bd4">player</a></li> <li>set_trick() : <a class="el" href="classgame__state.html#a745dd23945b6165470c494b036ac4667">game_state</a></li> <li>set_trick_color() : <a class="el" href="classtrick.html#a0f8c45882691509564ec42efed0d1aaa">trick</a></li> diff --git a/html/game__instance_8h_source.html b/html/game__instance_8h_source.html index fe3e491..0e43d14 100644 --- a/html/game__instance_8h_source.html +++ b/html/game__instance_8h_source.html @@ -141,7 +141,7 @@ $(function(){ initResizable(false); }); <div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span><span class="preprocessor">#endif </span><span class="comment">//WIZARD_GAME_H</span></div> <div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> </div> <div class="ttc" id="aclassgame__instance_html"><div class="ttname"><a href="classgame__instance.html">game_instance</a></div><div class="ttdoc">Class that modifies game state based on content received from client. The game instance functionaliti...</div><div class="ttdef"><b>Definition</b> game_instance.h:17</div></div> -<div class="ttc" id="aclassgame__instance_html_a1176ce8464586487f9ae5676ca900e10"><div class="ttname"><a href="classgame__instance.html#a1176ce8464586487f9ae5676ca900e10">game_instance::try_add_player</a></div><div class="ttdeci">bool try_add_player(player *new_player, std::string &err)</div><div class="ttdoc">Attempts to add player to the game.</div><div class="ttdef"><b>Definition</b> game_instance.cpp:90</div></div> +<div class="ttc" id="aclassgame__instance_html_a1176ce8464586487f9ae5676ca900e10"><div class="ttname"><a href="classgame__instance.html#a1176ce8464586487f9ae5676ca900e10">game_instance::try_add_player</a></div><div class="ttdeci">bool try_add_player(player *new_player, std::string &err)</div><div class="ttdoc">Attempts to add player to the game.</div><div class="ttdef"><b>Definition</b> game_instance.cpp:107</div></div> <div class="ttc" id="aclassgame__instance_html_a1fa390603341beb15e09e5a4b03465c1"><div class="ttname"><a href="classgame__instance.html#a1fa390603341beb15e09e5a4b03465c1">game_instance::~game_instance</a></div><div class="ttdeci">~game_instance()</div><div class="ttdoc">Destructs game instance object.</div><div class="ttdef"><b>Definition</b> game_instance.h:31</div></div> <div class="ttc" id="aclassgame__instance_html_a2b1d00adf8c933a98698f972827e48b9"><div class="ttname"><a href="classgame__instance.html#a2b1d00adf8c933a98698f972827e48b9">game_instance::game_instance</a></div><div class="ttdeci">game_instance()</div><div class="ttdoc">Constructs a new game instance object.</div><div class="ttdef"><b>Definition</b> game_instance.cpp:13</div></div> <div class="ttc" id="aclassgame__instance_html_a2c6fed45a14273b09a9f202481fa62aa"><div class="ttname"><a href="classgame__instance.html#a2c6fed45a14273b09a9f202481fa62aa">game_instance::try_remove_player</a></div><div class="ttdeci">bool try_remove_player(player *player, std::string &err)</div><div class="ttdoc">Attempts to remove player from the game. If the game hasn't started yet, the player can be easily rem...</div><div class="ttdef"><b>Definition</b> game_instance.cpp:76</div></div> diff --git a/html/game__state_8h_source.html b/html/game__state_8h_source.html index 2a10b41..6cf8b0a 100644 --- a/html/game__state_8h_source.html +++ b/html/game__state_8h_source.html @@ -128,145 +128,150 @@ $(function(){ initResizable(false); }); <div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<int></a>* _trick_starting_player_idx; </div> <div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<int></a>* _current_player_idx; </div> <div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<int></a>* _trump_color; </div> -<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<int></a>* _trick_estimate_sum; </div> -<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> </div> -<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="comment">// constructors</span></div> -<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">explicit</span> <a class="code hl_function" href="classgame__state.html#a0c10b830e222d726557c3c33685c595a">game_state</a>(<span class="keyword">const</span> std::string& <span class="keywordtype">id</span>);</div> -<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> </div> -<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <a class="code hl_function" href="classgame__state.html#a0c10b830e222d726557c3c33685c595a">game_state</a>(</div> -<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">const</span> std::string& <span class="keywordtype">id</span>,</div> -<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">const</span> std::vector<player*>& players,</div> -<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <a class="code hl_class" href="classdeck.html">deck</a>* <a class="code hl_class" href="classdeck.html">deck</a>,</div> -<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <a class="code hl_class" href="classtrick.html">trick</a>* current_trick,</div> -<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <a class="code hl_class" href="classtrick.html">trick</a>* last_trick,</div> -<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> </div> -<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<bool></a>* <a class="code hl_function" href="classgame__state.html#aa0092c41779f38eba5e921e43b38559c">is_started</a>,</div> -<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<bool></a>* <a class="code hl_function" href="classgame__state.html#a9b83de8a89e3bb506184492d22c3cf45">is_finished</a>,</div> -<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<bool></a>* <a class="code hl_function" href="classgame__state.html#a88d19342ee76acc4660b3e56e8c126eb">is_estimation_phase</a>,</div> -<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> </div> -<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<int></a>* round_number,</div> -<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<int></a>* trick_number,</div> -<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<int></a>* starting_player_idx,</div> -<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<int></a>* trick_starting_player_idx,</div> -<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<int></a>* current_player_idx,</div> -<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<int></a>* trump_color,</div> -<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<int></a>* trick_estimate_sum</div> -<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> );</div> -<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> </div> -<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span><span class="preprocessor">#ifdef WIZARD_SERVER</span></div> -<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span><span class="comment">// private functions (only used by game_state member functions)</span></div> -<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">int</span> get_player_index(<a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_class" href="classplayer.html">player</a>) <span class="keyword">const</span>;</div> -<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> </div> -<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> [[nodiscard]] <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> get_number_of_turns() <span class="keyword">const</span>;</div> -<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> </div> -<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <span class="keywordtype">void</span> determine_trump_color() <span class="keyword">const</span>;</div> -<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> </div> -<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <span class="keywordtype">bool</span> can_be_played(<a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_class" href="classplayer.html">player</a>, <span class="keyword">const</span> <a class="code hl_class" href="classcard.html">card</a>* <a class="code hl_class" href="classcard.html">card</a>, std::string& err) <span class="keyword">const</span> <span class="keyword">noexcept</span>;</div> -<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span><span class="preprocessor">#endif</span></div> -<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> </div> -<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span><span class="keyword">public</span>:</div> -<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <a class="code hl_function" href="classgame__state.html#a0c10b830e222d726557c3c33685c595a">game_state</a>();</div> -<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> </div> -<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <a class="code hl_function" href="classgame__state.html#a2fbc370f93617298719f61514afdb5bc">~game_state</a>() <span class="keyword">override</span>;</div> -<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> </div> -<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span><span class="comment">// accessors</span></div> -<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> [[nodiscard]] <span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__state.html#ae161c283e275a57d71834754d11e9e40">is_full</a>() <span class="keyword">const</span>;</div> -<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> </div> -<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> [[nodiscard]] <span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__state.html#aa0092c41779f38eba5e921e43b38559c">is_started</a>() <span class="keyword">const</span>;</div> -<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> </div> -<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> [[nodiscard]] <span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__state.html#a9b83de8a89e3bb506184492d22c3cf45">is_finished</a>() <span class="keyword">const</span>;</div> -<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> </div> -<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> [[nodiscard]] <span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__state.html#a88d19342ee76acc4660b3e56e8c126eb">is_estimation_phase</a>() <span class="keyword">const</span>;</div> -<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> </div> -<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__state.html#a371d6a6d84395b90c15d84549b05d553">is_player_in_game</a>(<a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_class" href="classplayer.html">player</a>) <span class="keyword">const</span>;</div> -<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> </div> -<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> [[nodiscard]] <span class="keywordtype">int</span> <a class="code hl_function" href="classgame__state.html#ab3ef836a1b3a1e2bc9e429a018c72eca">get_round_number</a>() <span class="keyword">const</span>;</div> -<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> </div> -<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> [[nodiscard]] <span class="keywordtype">int</span> <a class="code hl_function" href="classgame__state.html#a3fce12f31ad0aab82b0d2da90e3e8e15">get_trick_number</a>() <span class="keyword">const</span>;</div> -<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> </div> -<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> [[nodiscard]] <span class="keywordtype">int</span> <a class="code hl_function" href="classgame__state.html#aa5263d03c85bce1e9d252e9017cbe282">get_trick_estimate_sum</a>() <span class="keyword">const</span>;</div> -<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> </div> -<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> [[nodiscard]] <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code hl_function" href="classgame__state.html#aa75c4da6c0056e48e5040be8127d7473">get_max_round_number</a>() <span class="keyword">const</span>;</div> -<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> </div> -<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> [[nodiscard]] <span class="keywordtype">int</span> <a class="code hl_function" href="classgame__state.html#abdf6c5116ed643773d676c90a05e6fe4">get_trump_color</a>() <span class="keyword">const</span>;</div> -<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> </div> -<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> [[nodiscard]] <a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_function" href="classgame__state.html#a2d16f420a8aa651685461a5efb8bb600">get_current_player</a>() <span class="keyword">const</span>;</div> -<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> </div> -<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> [[nodiscard]] <a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_function" href="classgame__state.html#aa40554d105939c5dce934daaa858c242">get_trick_starting_player</a>() <span class="keyword">const</span>;</div> -<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> </div> -<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> [[nodiscard]] <a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_function" href="classgame__state.html#af4c553229260e307ff1f78dd0c74506d">get_starting_player</a>() <span class="keyword">const</span>;</div> -<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> </div> -<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> [[nodiscard]] <a class="code hl_class" href="classtrick.html">trick</a>* <a class="code hl_function" href="classgame__state.html#a472fd1721c7cc9e3689394f18c767bf9">get_trick</a>() <span class="keyword">const</span>;</div> -<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> </div> -<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> [[nodiscard]] <a class="code hl_class" href="classtrick.html">trick</a>* <a class="code hl_function" href="classgame__state.html#a4327f753f1f5341f9fe3774ea3fbc99b">get_last_trick</a>() <span class="keyword">const</span>;</div> -<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> </div> -<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> std::vector<player*>& <a class="code hl_function" href="classgame__state.html#abcaccd551f938f961d12266e34c037d2">get_players</a>();</div> -<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> </div> -<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classgame__state.html#a745dd23945b6165470c494b036ac4667">set_trick</a>(<a class="code hl_class" href="classtrick.html">trick</a>* new_trick);</div> -<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> </div> -<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span><span class="preprocessor">#ifdef WIZARD_SERVER</span></div> -<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span><span class="comment">// server-side state update functions</span></div> -<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__state.html#a734fc594d457aa4e6db5bc7467e6442d">remove_player</a>(<a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_class" href="classplayer.html">player</a>, std::string& err);</div> -<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> </div> -<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__state.html#a4a4fde0700a05c589a6b9c4dbcffac18">add_player</a>(<a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_class" href="classplayer.html">player</a>, std::string& err);</div> -<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> </div> -<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__state.html#a6ca6536eaec3404ff9b1ab39b8df4e67">start_game</a>(std::string& err);</div> -<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span> </div> -<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__state.html#a67fdd4b5682715cd2d848031a9911b17">finish_game</a>(std::string& err) <span class="keyword">const</span>;</div> +<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<int></a>* _trump_card_value; </div> +<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<int></a>* _trick_estimate_sum; </div> +<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> </div> +<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="comment">// constructors</span></div> +<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">explicit</span> <a class="code hl_function" href="classgame__state.html#a0c10b830e222d726557c3c33685c595a">game_state</a>(<span class="keyword">const</span> std::string& <span class="keywordtype">id</span>);</div> +<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> </div> +<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <a class="code hl_function" href="classgame__state.html#a0c10b830e222d726557c3c33685c595a">game_state</a>(</div> +<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <span class="keyword">const</span> std::string& <span class="keywordtype">id</span>,</div> +<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">const</span> std::vector<player*>& players,</div> +<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <a class="code hl_class" href="classdeck.html">deck</a>* <a class="code hl_class" href="classdeck.html">deck</a>,</div> +<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <a class="code hl_class" href="classtrick.html">trick</a>* current_trick,</div> +<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <a class="code hl_class" href="classtrick.html">trick</a>* last_trick,</div> +<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> </div> +<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<bool></a>* <a class="code hl_function" href="classgame__state.html#aa0092c41779f38eba5e921e43b38559c">is_started</a>,</div> +<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<bool></a>* <a class="code hl_function" href="classgame__state.html#a9b83de8a89e3bb506184492d22c3cf45">is_finished</a>,</div> +<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<bool></a>* <a class="code hl_function" href="classgame__state.html#a88d19342ee76acc4660b3e56e8c126eb">is_estimation_phase</a>,</div> +<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> </div> +<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<int></a>* round_number,</div> +<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<int></a>* trick_number,</div> +<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<int></a>* starting_player_idx,</div> +<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<int></a>* trick_starting_player_idx,</div> +<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<int></a>* current_player_idx,</div> +<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<int></a>* trump_color,</div> +<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<int></a>* trump_card_value,</div> +<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<int></a>* trick_estimate_sum</div> +<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> );</div> +<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> </div> +<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span><span class="preprocessor">#ifdef WIZARD_SERVER</span></div> +<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span><span class="comment">// private functions (only used by game_state member functions)</span></div> +<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">int</span> get_player_index(<a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_class" href="classplayer.html">player</a>) <span class="keyword">const</span>;</div> +<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> </div> +<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> [[nodiscard]] <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> get_number_of_turns() <span class="keyword">const</span>;</div> +<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> </div> +<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="keywordtype">void</span> determine_trump_color() <span class="keyword">const</span>;</div> +<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> </div> +<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <span class="keywordtype">bool</span> can_be_played(<a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_class" href="classplayer.html">player</a>, <span class="keyword">const</span> <a class="code hl_class" href="classcard.html">card</a>* <a class="code hl_class" href="classcard.html">card</a>, std::string& err) <span class="keyword">const</span> <span class="keyword">noexcept</span>;</div> +<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span><span class="preprocessor">#endif</span></div> +<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> </div> +<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span><span class="keyword">public</span>:</div> +<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <a class="code hl_function" href="classgame__state.html#a0c10b830e222d726557c3c33685c595a">game_state</a>();</div> +<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> </div> +<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> <a class="code hl_function" href="classgame__state.html#a2fbc370f93617298719f61514afdb5bc">~game_state</a>() <span class="keyword">override</span>;</div> +<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> </div> +<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span><span class="comment">// accessors</span></div> +<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> [[nodiscard]] <span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__state.html#ae161c283e275a57d71834754d11e9e40">is_full</a>() <span class="keyword">const</span>;</div> +<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> </div> +<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> [[nodiscard]] <span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__state.html#aa0092c41779f38eba5e921e43b38559c">is_started</a>() <span class="keyword">const</span>;</div> +<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> </div> +<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> [[nodiscard]] <span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__state.html#a9b83de8a89e3bb506184492d22c3cf45">is_finished</a>() <span class="keyword">const</span>;</div> +<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> </div> +<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> [[nodiscard]] <span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__state.html#a88d19342ee76acc4660b3e56e8c126eb">is_estimation_phase</a>() <span class="keyword">const</span>;</div> +<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> </div> +<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__state.html#a371d6a6d84395b90c15d84549b05d553">is_player_in_game</a>(<a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_class" href="classplayer.html">player</a>) <span class="keyword">const</span>;</div> +<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> </div> +<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> [[nodiscard]] <span class="keywordtype">int</span> <a class="code hl_function" href="classgame__state.html#ab3ef836a1b3a1e2bc9e429a018c72eca">get_round_number</a>() <span class="keyword">const</span>;</div> +<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> </div> +<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> [[nodiscard]] <span class="keywordtype">int</span> <a class="code hl_function" href="classgame__state.html#a3fce12f31ad0aab82b0d2da90e3e8e15">get_trick_number</a>() <span class="keyword">const</span>;</div> +<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> </div> +<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> [[nodiscard]] <span class="keywordtype">int</span> <a class="code hl_function" href="classgame__state.html#aa5263d03c85bce1e9d252e9017cbe282">get_trick_estimate_sum</a>() <span class="keyword">const</span>;</div> +<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> </div> +<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> [[nodiscard]] <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code hl_function" href="classgame__state.html#aa75c4da6c0056e48e5040be8127d7473">get_max_round_number</a>() <span class="keyword">const</span>;</div> +<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> </div> +<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> [[nodiscard]] <span class="keywordtype">int</span> <a class="code hl_function" href="classgame__state.html#abdf6c5116ed643773d676c90a05e6fe4">get_trump_color</a>() <span class="keyword">const</span>;</div> +<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> </div> +<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> [[nodiscard]] <span class="keywordtype">int</span> <a class="code hl_function" href="classgame__state.html#a115a9b1dbb65db44669363b407aa62ac">get_trump_card_value</a>() <span class="keyword">const</span>;</div> +<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> </div> +<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> [[nodiscard]] <a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_function" href="classgame__state.html#a2d16f420a8aa651685461a5efb8bb600">get_current_player</a>() <span class="keyword">const</span>;</div> +<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> </div> +<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> [[nodiscard]] <a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_function" href="classgame__state.html#aa40554d105939c5dce934daaa858c242">get_trick_starting_player</a>() <span class="keyword">const</span>;</div> +<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> </div> +<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> [[nodiscard]] <a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_function" href="classgame__state.html#af4c553229260e307ff1f78dd0c74506d">get_starting_player</a>() <span class="keyword">const</span>;</div> +<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> </div> +<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> [[nodiscard]] <a class="code hl_class" href="classtrick.html">trick</a>* <a class="code hl_function" href="classgame__state.html#a472fd1721c7cc9e3689394f18c767bf9">get_trick</a>() <span class="keyword">const</span>;</div> +<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> </div> +<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> [[nodiscard]] <a class="code hl_class" href="classtrick.html">trick</a>* <a class="code hl_function" href="classgame__state.html#a4327f753f1f5341f9fe3774ea3fbc99b">get_last_trick</a>() <span class="keyword">const</span>;</div> +<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> </div> +<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> std::vector<player*>& <a class="code hl_function" href="classgame__state.html#abcaccd551f938f961d12266e34c037d2">get_players</a>();</div> +<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> </div> +<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classgame__state.html#a745dd23945b6165470c494b036ac4667">set_trick</a>(<a class="code hl_class" href="classtrick.html">trick</a>* new_trick);</div> +<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> </div> +<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span><span class="preprocessor">#ifdef WIZARD_SERVER</span></div> +<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span><span class="comment">// server-side state update functions</span></div> +<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__state.html#a734fc594d457aa4e6db5bc7467e6442d">remove_player</a>(<a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_class" href="classplayer.html">player</a>, std::string& err);</div> +<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> </div> +<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__state.html#a4a4fde0700a05c589a6b9c4dbcffac18">add_player</a>(<a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_class" href="classplayer.html">player</a>, std::string& err);</div> +<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> </div> +<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__state.html#a6ca6536eaec3404ff9b1ab39b8df4e67">start_game</a>(std::string& err);</div> <div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> </div> -<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classgame__state.html#ab520d4076c53f70a68bc19f355243a4d">setup_round</a>(std::string& err);</div> -<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> </div> -<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classgame__state.html#ad2e967638043670ebae93dd6ec32e91e">wrap_up_round</a>(std::string& err);</div> -<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span> </div> -<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__state.html#ac4ebff625d83c633c124890537d60354">estimate_tricks</a>(<span class="keyword">const</span> <a class="code hl_class" href="classplayer.html">player</a> *<a class="code hl_class" href="classplayer.html">player</a>, std::string &err, <span class="keywordtype">int</span> trick_estimate);</div> -<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> </div> -<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__state.html#a6c65d95086a88b8d111de5553e1210ec">play_card</a>(<a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_class" href="classplayer.html">player</a>, <span class="keyword">const</span> std::string& card_id, std::string& err);</div> -<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> </div> -<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__state.html#a49851709fcec061d36478ed2fdcc3d9d">update_current_player</a>(std::string& err);</div> -<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span><span class="preprocessor">#endif</span></div> -<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span> </div> -<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span><span class="comment">// serializable interface</span></div> -<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classgame__state.html#a54873cd18b46555915d150a6d8dd6f83">write_into_json</a>(rapidjson::Value& json, rapidjson::Document::AllocatorType& allocator) <span class="keyword">const override</span>;</div> -<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span> </div> -<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span> <span class="keyword">static</span> <a class="code hl_class" href="classgame__state.html">game_state</a>* <a class="code hl_function" href="classgame__state.html#a794d484961c92b5b737586ec5599963f">from_json</a>(<span class="keyword">const</span> rapidjson::Value& json);</div> -<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span> </div> -<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span>};</div> -</div> +<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__state.html#a67fdd4b5682715cd2d848031a9911b17">finish_game</a>(std::string& err) <span class="keyword">const</span>;</div> +<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> </div> +<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classgame__state.html#ab520d4076c53f70a68bc19f355243a4d">setup_round</a>(std::string& err);</div> +<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span> </div> +<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classgame__state.html#ad2e967638043670ebae93dd6ec32e91e">wrap_up_round</a>(std::string& err);</div> +<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> </div> +<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__state.html#ac4ebff625d83c633c124890537d60354">estimate_tricks</a>(<span class="keyword">const</span> <a class="code hl_class" href="classplayer.html">player</a> *<a class="code hl_class" href="classplayer.html">player</a>, std::string &err, <span class="keywordtype">int</span> trick_estimate);</div> +<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> </div> +<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__state.html#a6c65d95086a88b8d111de5553e1210ec">play_card</a>(<a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_class" href="classplayer.html">player</a>, <span class="keyword">const</span> std::string& card_id, std::string& err);</div> +<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span> </div> +<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classgame__state.html#a49851709fcec061d36478ed2fdcc3d9d">update_current_player</a>(std::string& err);</div> +<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span><span class="preprocessor">#endif</span></div> +<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span> </div> +<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span><span class="comment">// serializable interface</span></div> +<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classgame__state.html#a54873cd18b46555915d150a6d8dd6f83">write_into_json</a>(rapidjson::Value& json, rapidjson::Document::AllocatorType& allocator) <span class="keyword">const override</span>;</div> <div class="line"><a id="l00384" name="l00384"></a><span class="lineno"> 384</span> </div> -<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span><span class="preprocessor">#endif </span><span class="comment">//WIZARD_GAME_STATE_H</span></div> +<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span> <span class="keyword">static</span> <a class="code hl_class" href="classgame__state.html">game_state</a>* <a class="code hl_function" href="classgame__state.html#a794d484961c92b5b737586ec5599963f">from_json</a>(<span class="keyword">const</span> rapidjson::Value& json);</div> +<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> </div> +<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span>};</div> +</div> +<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span> </div> +<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span><span class="preprocessor">#endif </span><span class="comment">//WIZARD_GAME_STATE_H</span></div> <div class="ttc" id="aclasscard_html"><div class="ttname"><a href="classcard.html">card</a></div><div class="ttdoc">Represents a card in the game.</div><div class="ttdef"><b>Definition</b> card.h:15</div></div> <div class="ttc" id="aclassdeck_html"><div class="ttname"><a href="classdeck.html">deck</a></div><div class="ttdoc">Represents the card deck in the game.</div><div class="ttdef"><b>Definition</b> deck.h:28</div></div> <div class="ttc" id="aclassgame__state_html"><div class="ttname"><a href="classgame__state.html">game_state</a></div><div class="ttdoc">Represents the state of the game.</div><div class="ttdef"><b>Definition</b> game_state.h:27</div></div> -<div class="ttc" id="aclassgame__state_html_a0c10b830e222d726557c3c33685c595a"><div class="ttname"><a href="classgame__state.html#a0c10b830e222d726557c3c33685c595a">game_state::game_state</a></div><div class="ttdeci">game_state()</div><div class="ttdoc">Constructs a new game_state object.</div><div class="ttdef"><b>Definition</b> game_state.cpp:54</div></div> -<div class="ttc" id="aclassgame__state_html_a2d16f420a8aa651685461a5efb8bb600"><div class="ttname"><a href="classgame__state.html#a2d16f420a8aa651685461a5efb8bb600">game_state::get_current_player</a></div><div class="ttdeci">player * get_current_player() const</div><div class="ttdoc">Gets the current player.</div><div class="ttdef"><b>Definition</b> game_state.cpp:112</div></div> -<div class="ttc" id="aclassgame__state_html_a2fbc370f93617298719f61514afdb5bc"><div class="ttname"><a href="classgame__state.html#a2fbc370f93617298719f61514afdb5bc">game_state::~game_state</a></div><div class="ttdeci">~game_state() override</div><div class="ttdef"><b>Definition</b> game_state.cpp:75</div></div> -<div class="ttc" id="aclassgame__state_html_a371d6a6d84395b90c15d84549b05d553"><div class="ttname"><a href="classgame__state.html#a371d6a6d84395b90c15d84549b05d553">game_state::is_player_in_game</a></div><div class="ttdeci">bool is_player_in_game(player *player) const</div><div class="ttdoc">Checks if the given player is in the game.</div><div class="ttdef"><b>Definition</b> game_state.cpp:191</div></div> -<div class="ttc" id="aclassgame__state_html_a3fce12f31ad0aab82b0d2da90e3e8e15"><div class="ttname"><a href="classgame__state.html#a3fce12f31ad0aab82b0d2da90e3e8e15">game_state::get_trick_number</a></div><div class="ttdeci">int get_trick_number() const</div><div class="ttdoc">Gets the trick number.</div><div class="ttdef"><b>Definition</b> game_state.cpp:176</div></div> -<div class="ttc" id="aclassgame__state_html_a4327f753f1f5341f9fe3774ea3fbc99b"><div class="ttname"><a href="classgame__state.html#a4327f753f1f5341f9fe3774ea3fbc99b">game_state::get_last_trick</a></div><div class="ttdeci">trick * get_last_trick() const</div><div class="ttdoc">Gets the previous trick.</div><div class="ttdef"><b>Definition</b> game_state.cpp:151</div></div> -<div class="ttc" id="aclassgame__state_html_a472fd1721c7cc9e3689394f18c767bf9"><div class="ttname"><a href="classgame__state.html#a472fd1721c7cc9e3689394f18c767bf9">game_state::get_trick</a></div><div class="ttdeci">trick * get_trick() const</div><div class="ttdoc">Gets the current trick.</div><div class="ttdef"><b>Definition</b> game_state.cpp:146</div></div> -<div class="ttc" id="aclassgame__state_html_a49851709fcec061d36478ed2fdcc3d9d"><div class="ttname"><a href="classgame__state.html#a49851709fcec061d36478ed2fdcc3d9d">game_state::update_current_player</a></div><div class="ttdeci">bool update_current_player(std::string &err)</div><div class="ttdoc">Updates the current player after estimating tricks or playing cards.</div><div class="ttdef"><b>Definition</b> game_state.cpp:308</div></div> -<div class="ttc" id="aclassgame__state_html_a4a4fde0700a05c589a6b9c4dbcffac18"><div class="ttname"><a href="classgame__state.html#a4a4fde0700a05c589a6b9c4dbcffac18">game_state::add_player</a></div><div class="ttdeci">bool add_player(player *player, std::string &err)</div><div class="ttdoc">Adds a player to the game.</div><div class="ttdef"><b>Definition</b> game_state.cpp:451</div></div> -<div class="ttc" id="aclassgame__state_html_a54873cd18b46555915d150a6d8dd6f83"><div class="ttname"><a href="classgame__state.html#a54873cd18b46555915d150a6d8dd6f83">game_state::write_into_json</a></div><div class="ttdeci">void write_into_json(rapidjson::Value &json, rapidjson::Document::AllocatorType &allocator) const override</div><div class="ttdoc">Serializes a game_state object into a json object.</div><div class="ttdef"><b>Definition</b> game_state.cpp:483</div></div> -<div class="ttc" id="aclassgame__state_html_a67fdd4b5682715cd2d848031a9911b17"><div class="ttname"><a href="classgame__state.html#a67fdd4b5682715cd2d848031a9911b17">game_state::finish_game</a></div><div class="ttdeci">bool finish_game(std::string &err) const</div><div class="ttdoc">Finishes a game.</div><div class="ttdef"><b>Definition</b> game_state.cpp:474</div></div> -<div class="ttc" id="aclassgame__state_html_a6c65d95086a88b8d111de5553e1210ec"><div class="ttname"><a href="classgame__state.html#a6c65d95086a88b8d111de5553e1210ec">game_state::play_card</a></div><div class="ttdeci">bool play_card(player *player, const std::string &card_id, std::string &err)</div><div class="ttdoc">Plays a card.</div><div class="ttdef"><b>Definition</b> game_state.cpp:409</div></div> -<div class="ttc" id="aclassgame__state_html_a6ca6536eaec3404ff9b1ab39b8df4e67"><div class="ttname"><a href="classgame__state.html#a6ca6536eaec3404ff9b1ab39b8df4e67">game_state::start_game</a></div><div class="ttdeci">bool start_game(std::string &err)</div><div class="ttdoc">Starts the game.</div><div class="ttdef"><b>Definition</b> game_state.cpp:371</div></div> -<div class="ttc" id="aclassgame__state_html_a734fc594d457aa4e6db5bc7467e6442d"><div class="ttname"><a href="classgame__state.html#a734fc594d457aa4e6db5bc7467e6442d">game_state::remove_player</a></div><div class="ttdeci">bool remove_player(player *player, std::string &err)</div><div class="ttdoc">Removes a player from the game.</div><div class="ttdef"><b>Definition</b> game_state.cpp:430</div></div> -<div class="ttc" id="aclassgame__state_html_a745dd23945b6165470c494b036ac4667"><div class="ttname"><a href="classgame__state.html#a745dd23945b6165470c494b036ac4667">game_state::set_trick</a></div><div class="ttdeci">void set_trick(trick *new_trick)</div><div class="ttdoc">Sets the trick to the given trick.</div><div class="ttdef"><b>Definition</b> game_state.cpp:201</div></div> -<div class="ttc" id="aclassgame__state_html_a794d484961c92b5b737586ec5599963f"><div class="ttname"><a href="classgame__state.html#a794d484961c92b5b737586ec5599963f">game_state::from_json</a></div><div class="ttdeci">static game_state * from_json(const rapidjson::Value &json)</div><div class="ttdoc">Deserializes a game_state object from a json object.</div><div class="ttdef"><b>Definition</b> game_state.cpp:547</div></div> -<div class="ttc" id="aclassgame__state_html_a88d19342ee76acc4660b3e56e8c126eb"><div class="ttname"><a href="classgame__state.html#a88d19342ee76acc4660b3e56e8c126eb">game_state::is_estimation_phase</a></div><div class="ttdeci">bool is_estimation_phase() const</div><div class="ttdoc">Checks if the game is in estimation phase.</div><div class="ttdef"><b>Definition</b> game_state.cpp:120</div></div> -<div class="ttc" id="aclassgame__state_html_a9b83de8a89e3bb506184492d22c3cf45"><div class="ttname"><a href="classgame__state.html#a9b83de8a89e3bb506184492d22c3cf45">game_state::is_finished</a></div><div class="ttdeci">bool is_finished() const</div><div class="ttdoc">Checks if the game is finished.</div><div class="ttdef"><b>Definition</b> game_state.cpp:166</div></div> -<div class="ttc" id="aclassgame__state_html_aa0092c41779f38eba5e921e43b38559c"><div class="ttname"><a href="classgame__state.html#aa0092c41779f38eba5e921e43b38559c">game_state::is_started</a></div><div class="ttdeci">bool is_started() const</div><div class="ttdoc">Checks if the game is started.</div><div class="ttdef"><b>Definition</b> game_state.cpp:161</div></div> -<div class="ttc" id="aclassgame__state_html_aa40554d105939c5dce934daaa858c242"><div class="ttname"><a href="classgame__state.html#aa40554d105939c5dce934daaa858c242">game_state::get_trick_starting_player</a></div><div class="ttdeci">player * get_trick_starting_player() const</div><div class="ttdoc">Gets the starting player of the current trick.</div><div class="ttdef"><b>Definition</b> game_state.cpp:130</div></div> -<div class="ttc" id="aclassgame__state_html_aa5263d03c85bce1e9d252e9017cbe282"><div class="ttname"><a href="classgame__state.html#aa5263d03c85bce1e9d252e9017cbe282">game_state::get_trick_estimate_sum</a></div><div class="ttdeci">int get_trick_estimate_sum() const</div><div class="ttdoc">Gets the trick estimate sum.</div><div class="ttdef"><b>Definition</b> game_state.cpp:181</div></div> -<div class="ttc" id="aclassgame__state_html_aa75c4da6c0056e48e5040be8127d7473"><div class="ttname"><a href="classgame__state.html#aa75c4da6c0056e48e5040be8127d7473">game_state::get_max_round_number</a></div><div class="ttdeci">unsigned int get_max_round_number() const</div><div class="ttdoc">Gets the maximum round number.</div><div class="ttdef"><b>Definition</b> game_state.cpp:186</div></div> -<div class="ttc" id="aclassgame__state_html_ab3ef836a1b3a1e2bc9e429a018c72eca"><div class="ttname"><a href="classgame__state.html#ab3ef836a1b3a1e2bc9e429a018c72eca">game_state::get_round_number</a></div><div class="ttdeci">int get_round_number() const</div><div class="ttdoc">Gets the round number.</div><div class="ttdef"><b>Definition</b> game_state.cpp:171</div></div> -<div class="ttc" id="aclassgame__state_html_ab520d4076c53f70a68bc19f355243a4d"><div class="ttname"><a href="classgame__state.html#ab520d4076c53f70a68bc19f355243a4d">game_state::setup_round</a></div><div class="ttdeci">void setup_round(std::string &err)</div><div class="ttdoc">Sets up a round.</div><div class="ttdef"><b>Definition</b> game_state.cpp:349</div></div> -<div class="ttc" id="aclassgame__state_html_abcaccd551f938f961d12266e34c037d2"><div class="ttname"><a href="classgame__state.html#abcaccd551f938f961d12266e34c037d2">game_state::get_players</a></div><div class="ttdeci">std::vector< player * > & get_players()</div><div class="ttdoc">Gets the players that joined the game.</div><div class="ttdef"><b>Definition</b> game_state.cpp:196</div></div> -<div class="ttc" id="aclassgame__state_html_abdf6c5116ed643773d676c90a05e6fe4"><div class="ttname"><a href="classgame__state.html#abdf6c5116ed643773d676c90a05e6fe4">game_state::get_trump_color</a></div><div class="ttdeci">int get_trump_color() const</div><div class="ttdoc">Gets the trump color.</div><div class="ttdef"><b>Definition</b> game_state.cpp:125</div></div> -<div class="ttc" id="aclassgame__state_html_ac4ebff625d83c633c124890537d60354"><div class="ttname"><a href="classgame__state.html#ac4ebff625d83c633c124890537d60354">game_state::estimate_tricks</a></div><div class="ttdeci">bool estimate_tricks(const player *player, std::string &err, int trick_estimate)</div><div class="ttdoc">Sets the trick estimates for a player.</div><div class="ttdef"><b>Definition</b> game_state.cpp:387</div></div> -<div class="ttc" id="aclassgame__state_html_ad2e967638043670ebae93dd6ec32e91e"><div class="ttname"><a href="classgame__state.html#ad2e967638043670ebae93dd6ec32e91e">game_state::wrap_up_round</a></div><div class="ttdeci">void wrap_up_round(std::string &err)</div><div class="ttdoc">Wraps up a round.</div><div class="ttdef"><b>Definition</b> game_state.cpp:296</div></div> -<div class="ttc" id="aclassgame__state_html_ae161c283e275a57d71834754d11e9e40"><div class="ttname"><a href="classgame__state.html#ae161c283e275a57d71834754d11e9e40">game_state::is_full</a></div><div class="ttdeci">bool is_full() const</div><div class="ttdoc">Checks if the game is full.</div><div class="ttdef"><b>Definition</b> game_state.cpp:156</div></div> -<div class="ttc" id="aclassgame__state_html_af4c553229260e307ff1f78dd0c74506d"><div class="ttname"><a href="classgame__state.html#af4c553229260e307ff1f78dd0c74506d">game_state::get_starting_player</a></div><div class="ttdeci">player * get_starting_player() const</div><div class="ttdoc">Gets the starting player of the current round.</div><div class="ttdef"><b>Definition</b> game_state.cpp:138</div></div> +<div class="ttc" id="aclassgame__state_html_a0c10b830e222d726557c3c33685c595a"><div class="ttname"><a href="classgame__state.html#a0c10b830e222d726557c3c33685c595a">game_state::game_state</a></div><div class="ttdeci">game_state()</div><div class="ttdoc">Constructs a new game_state object.</div><div class="ttdef"><b>Definition</b> game_state.cpp:56</div></div> +<div class="ttc" id="aclassgame__state_html_a115a9b1dbb65db44669363b407aa62ac"><div class="ttname"><a href="classgame__state.html#a115a9b1dbb65db44669363b407aa62ac">game_state::get_trump_card_value</a></div><div class="ttdeci">int get_trump_card_value() const</div><div class="ttdoc">Gets the value of the trump card to display in GUI.</div><div class="ttdef"><b>Definition</b> game_state.cpp:135</div></div> +<div class="ttc" id="aclassgame__state_html_a2d16f420a8aa651685461a5efb8bb600"><div class="ttname"><a href="classgame__state.html#a2d16f420a8aa651685461a5efb8bb600">game_state::get_current_player</a></div><div class="ttdeci">player * get_current_player() const</div><div class="ttdoc">Gets the current player.</div><div class="ttdef"><b>Definition</b> game_state.cpp:117</div></div> +<div class="ttc" id="aclassgame__state_html_a2fbc370f93617298719f61514afdb5bc"><div class="ttname"><a href="classgame__state.html#a2fbc370f93617298719f61514afdb5bc">game_state::~game_state</a></div><div class="ttdeci">~game_state() override</div><div class="ttdef"><b>Definition</b> game_state.cpp:78</div></div> +<div class="ttc" id="aclassgame__state_html_a371d6a6d84395b90c15d84549b05d553"><div class="ttname"><a href="classgame__state.html#a371d6a6d84395b90c15d84549b05d553">game_state::is_player_in_game</a></div><div class="ttdeci">bool is_player_in_game(player *player) const</div><div class="ttdoc">Checks if the given player is in the game.</div><div class="ttdef"><b>Definition</b> game_state.cpp:202</div></div> +<div class="ttc" id="aclassgame__state_html_a3fce12f31ad0aab82b0d2da90e3e8e15"><div class="ttname"><a href="classgame__state.html#a3fce12f31ad0aab82b0d2da90e3e8e15">game_state::get_trick_number</a></div><div class="ttdeci">int get_trick_number() const</div><div class="ttdoc">Gets the trick number.</div><div class="ttdef"><b>Definition</b> game_state.cpp:186</div></div> +<div class="ttc" id="aclassgame__state_html_a4327f753f1f5341f9fe3774ea3fbc99b"><div class="ttname"><a href="classgame__state.html#a4327f753f1f5341f9fe3774ea3fbc99b">game_state::get_last_trick</a></div><div class="ttdeci">trick * get_last_trick() const</div><div class="ttdoc">Gets the previous trick.</div><div class="ttdef"><b>Definition</b> game_state.cpp:161</div></div> +<div class="ttc" id="aclassgame__state_html_a472fd1721c7cc9e3689394f18c767bf9"><div class="ttname"><a href="classgame__state.html#a472fd1721c7cc9e3689394f18c767bf9">game_state::get_trick</a></div><div class="ttdeci">trick * get_trick() const</div><div class="ttdoc">Gets the current trick.</div><div class="ttdef"><b>Definition</b> game_state.cpp:156</div></div> +<div class="ttc" id="aclassgame__state_html_a49851709fcec061d36478ed2fdcc3d9d"><div class="ttname"><a href="classgame__state.html#a49851709fcec061d36478ed2fdcc3d9d">game_state::update_current_player</a></div><div class="ttdeci">bool update_current_player(std::string &err)</div><div class="ttdoc">Updates the current player after estimating tricks or playing cards.</div><div class="ttdef"><b>Definition</b> game_state.cpp:323</div></div> +<div class="ttc" id="aclassgame__state_html_a4a4fde0700a05c589a6b9c4dbcffac18"><div class="ttname"><a href="classgame__state.html#a4a4fde0700a05c589a6b9c4dbcffac18">game_state::add_player</a></div><div class="ttdeci">bool add_player(player *player, std::string &err)</div><div class="ttdoc">Adds a player to the game.</div><div class="ttdef"><b>Definition</b> game_state.cpp:466</div></div> +<div class="ttc" id="aclassgame__state_html_a54873cd18b46555915d150a6d8dd6f83"><div class="ttname"><a href="classgame__state.html#a54873cd18b46555915d150a6d8dd6f83">game_state::write_into_json</a></div><div class="ttdeci">void write_into_json(rapidjson::Value &json, rapidjson::Document::AllocatorType &allocator) const override</div><div class="ttdoc">Serializes a game_state object into a json object.</div><div class="ttdef"><b>Definition</b> game_state.cpp:518</div></div> +<div class="ttc" id="aclassgame__state_html_a67fdd4b5682715cd2d848031a9911b17"><div class="ttname"><a href="classgame__state.html#a67fdd4b5682715cd2d848031a9911b17">game_state::finish_game</a></div><div class="ttdeci">bool finish_game(std::string &err) const</div><div class="ttdoc">Finishes a game.</div><div class="ttdef"><b>Definition</b> game_state.cpp:510</div></div> +<div class="ttc" id="aclassgame__state_html_a6c65d95086a88b8d111de5553e1210ec"><div class="ttname"><a href="classgame__state.html#a6c65d95086a88b8d111de5553e1210ec">game_state::play_card</a></div><div class="ttdeci">bool play_card(player *player, const std::string &card_id, std::string &err)</div><div class="ttdoc">Plays a card.</div><div class="ttdef"><b>Definition</b> game_state.cpp:424</div></div> +<div class="ttc" id="aclassgame__state_html_a6ca6536eaec3404ff9b1ab39b8df4e67"><div class="ttname"><a href="classgame__state.html#a6ca6536eaec3404ff9b1ab39b8df4e67">game_state::start_game</a></div><div class="ttdeci">bool start_game(std::string &err)</div><div class="ttdoc">Starts the game.</div><div class="ttdef"><b>Definition</b> game_state.cpp:386</div></div> +<div class="ttc" id="aclassgame__state_html_a734fc594d457aa4e6db5bc7467e6442d"><div class="ttname"><a href="classgame__state.html#a734fc594d457aa4e6db5bc7467e6442d">game_state::remove_player</a></div><div class="ttdeci">bool remove_player(player *player, std::string &err)</div><div class="ttdoc">Removes a player from the game.</div><div class="ttdef"><b>Definition</b> game_state.cpp:445</div></div> +<div class="ttc" id="aclassgame__state_html_a745dd23945b6165470c494b036ac4667"><div class="ttname"><a href="classgame__state.html#a745dd23945b6165470c494b036ac4667">game_state::set_trick</a></div><div class="ttdeci">void set_trick(trick *new_trick)</div><div class="ttdoc">Sets the trick to the given trick.</div><div class="ttdef"><b>Definition</b> game_state.cpp:212</div></div> +<div class="ttc" id="aclassgame__state_html_a794d484961c92b5b737586ec5599963f"><div class="ttname"><a href="classgame__state.html#a794d484961c92b5b737586ec5599963f">game_state::from_json</a></div><div class="ttdeci">static game_state * from_json(const rapidjson::Value &json)</div><div class="ttdoc">Deserializes a game_state object from a json object.</div><div class="ttdef"><b>Definition</b> game_state.cpp:586</div></div> +<div class="ttc" id="aclassgame__state_html_a88d19342ee76acc4660b3e56e8c126eb"><div class="ttname"><a href="classgame__state.html#a88d19342ee76acc4660b3e56e8c126eb">game_state::is_estimation_phase</a></div><div class="ttdeci">bool is_estimation_phase() const</div><div class="ttdoc">Checks if the game is in estimation phase.</div><div class="ttdef"><b>Definition</b> game_state.cpp:125</div></div> +<div class="ttc" id="aclassgame__state_html_a9b83de8a89e3bb506184492d22c3cf45"><div class="ttname"><a href="classgame__state.html#a9b83de8a89e3bb506184492d22c3cf45">game_state::is_finished</a></div><div class="ttdeci">bool is_finished() const</div><div class="ttdoc">Checks if the game is finished.</div><div class="ttdef"><b>Definition</b> game_state.cpp:176</div></div> +<div class="ttc" id="aclassgame__state_html_aa0092c41779f38eba5e921e43b38559c"><div class="ttname"><a href="classgame__state.html#aa0092c41779f38eba5e921e43b38559c">game_state::is_started</a></div><div class="ttdeci">bool is_started() const</div><div class="ttdoc">Checks if the game is started.</div><div class="ttdef"><b>Definition</b> game_state.cpp:171</div></div> +<div class="ttc" id="aclassgame__state_html_aa40554d105939c5dce934daaa858c242"><div class="ttname"><a href="classgame__state.html#aa40554d105939c5dce934daaa858c242">game_state::get_trick_starting_player</a></div><div class="ttdeci">player * get_trick_starting_player() const</div><div class="ttdoc">Gets the starting player of the current trick.</div><div class="ttdef"><b>Definition</b> game_state.cpp:140</div></div> +<div class="ttc" id="aclassgame__state_html_aa5263d03c85bce1e9d252e9017cbe282"><div class="ttname"><a href="classgame__state.html#aa5263d03c85bce1e9d252e9017cbe282">game_state::get_trick_estimate_sum</a></div><div class="ttdeci">int get_trick_estimate_sum() const</div><div class="ttdoc">Gets the trick estimate sum.</div><div class="ttdef"><b>Definition</b> game_state.cpp:191</div></div> +<div class="ttc" id="aclassgame__state_html_aa75c4da6c0056e48e5040be8127d7473"><div class="ttname"><a href="classgame__state.html#aa75c4da6c0056e48e5040be8127d7473">game_state::get_max_round_number</a></div><div class="ttdeci">unsigned int get_max_round_number() const</div><div class="ttdoc">Gets the maximum round number.</div><div class="ttdef"><b>Definition</b> game_state.cpp:196</div></div> +<div class="ttc" id="aclassgame__state_html_ab3ef836a1b3a1e2bc9e429a018c72eca"><div class="ttname"><a href="classgame__state.html#ab3ef836a1b3a1e2bc9e429a018c72eca">game_state::get_round_number</a></div><div class="ttdeci">int get_round_number() const</div><div class="ttdoc">Gets the round number.</div><div class="ttdef"><b>Definition</b> game_state.cpp:181</div></div> +<div class="ttc" id="aclassgame__state_html_ab520d4076c53f70a68bc19f355243a4d"><div class="ttname"><a href="classgame__state.html#ab520d4076c53f70a68bc19f355243a4d">game_state::setup_round</a></div><div class="ttdeci">void setup_round(std::string &err)</div><div class="ttdoc">Sets up a round.</div><div class="ttdef"><b>Definition</b> game_state.cpp:364</div></div> +<div class="ttc" id="aclassgame__state_html_abcaccd551f938f961d12266e34c037d2"><div class="ttname"><a href="classgame__state.html#abcaccd551f938f961d12266e34c037d2">game_state::get_players</a></div><div class="ttdeci">std::vector< player * > & get_players()</div><div class="ttdoc">Gets the players that joined the game.</div><div class="ttdef"><b>Definition</b> game_state.cpp:207</div></div> +<div class="ttc" id="aclassgame__state_html_abdf6c5116ed643773d676c90a05e6fe4"><div class="ttname"><a href="classgame__state.html#abdf6c5116ed643773d676c90a05e6fe4">game_state::get_trump_color</a></div><div class="ttdeci">int get_trump_color() const</div><div class="ttdoc">Gets the trump color.</div><div class="ttdef"><b>Definition</b> game_state.cpp:130</div></div> +<div class="ttc" id="aclassgame__state_html_ac4ebff625d83c633c124890537d60354"><div class="ttname"><a href="classgame__state.html#ac4ebff625d83c633c124890537d60354">game_state::estimate_tricks</a></div><div class="ttdeci">bool estimate_tricks(const player *player, std::string &err, int trick_estimate)</div><div class="ttdoc">Sets the trick estimates for a player.</div><div class="ttdef"><b>Definition</b> game_state.cpp:402</div></div> +<div class="ttc" id="aclassgame__state_html_ad2e967638043670ebae93dd6ec32e91e"><div class="ttname"><a href="classgame__state.html#ad2e967638043670ebae93dd6ec32e91e">game_state::wrap_up_round</a></div><div class="ttdeci">void wrap_up_round(std::string &err)</div><div class="ttdoc">Wraps up a round.</div><div class="ttdef"><b>Definition</b> game_state.cpp:311</div></div> +<div class="ttc" id="aclassgame__state_html_ae161c283e275a57d71834754d11e9e40"><div class="ttname"><a href="classgame__state.html#ae161c283e275a57d71834754d11e9e40">game_state::is_full</a></div><div class="ttdeci">bool is_full() const</div><div class="ttdoc">Checks if the game is full.</div><div class="ttdef"><b>Definition</b> game_state.cpp:166</div></div> +<div class="ttc" id="aclassgame__state_html_af4c553229260e307ff1f78dd0c74506d"><div class="ttname"><a href="classgame__state.html#af4c553229260e307ff1f78dd0c74506d">game_state::get_starting_player</a></div><div class="ttdeci">player * get_starting_player() const</div><div class="ttdoc">Gets the starting player of the current round.</div><div class="ttdef"><b>Definition</b> game_state.cpp:148</div></div> <div class="ttc" id="aclassplayer_html"><div class="ttname"><a href="classplayer.html">player</a></div><div class="ttdoc">Represents a player in the game.</div><div class="ttdef"><b>Definition</b> player.h:18</div></div> <div class="ttc" id="aclassserializable__value_html"><div class="ttname"><a href="classserializable__value.html">serializable_value</a></div><div class="ttdef"><b>Definition</b> serializable_value.h:27</div></div> <div class="ttc" id="aclasstrick_html"><div class="ttname"><a href="classtrick.html">trick</a></div><div class="ttdoc">Represents the trick in the game.</div><div class="ttdef"><b>Definition</b> trick.h:28</div></div> diff --git a/html/hand_8h_source.html b/html/hand_8h_source.html index e7505db..d3f5278 100644 --- a/html/hand_8h_source.html +++ b/html/hand_8h_source.html @@ -111,47 +111,49 @@ $(function(){ initResizable(false); }); <div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> </div> <div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <a class="code hl_class" href="classcard.html">card</a>* remove_card(<a class="code hl_class" href="classcard.html">card</a>* <a class="code hl_class" href="classcard.html">card</a>);</div> <div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> </div> -<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="keyword">public</span>:</div> -<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div> -<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="comment">// constructors and destructor</span></div> -<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <a class="code hl_function" href="classhand.html#ae8d7de2589266f57271ac191dab8cd64">hand</a>();</div> -<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> </div> -<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <a class="code hl_function" href="classhand.html#ae8d7de2589266f57271ac191dab8cd64">hand</a>(<span class="keyword">const</span> std::string& <span class="keywordtype">id</span>, <span class="keyword">const</span> std::vector<card*>& cards);</div> -<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> </div> -<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">explicit</span> <a class="code hl_function" href="classhand.html#ae8d7de2589266f57271ac191dab8cd64">hand</a>(<span class="keyword">const</span> std::string& <span class="keywordtype">id</span>);</div> -<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> </div> -<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <a class="code hl_function" href="classhand.html#af3ffc5e5b46f04b14f12a9fc130b220a">~hand</a>() <span class="keyword">override</span>;</div> -<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> </div> -<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span><span class="comment">// accessors</span></div> -<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> [[nodiscard]] <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code hl_function" href="classhand.html#adc90d109b7b564a0dbca0b0798c99641">get_nof_cards</a>() <span class="keyword">const</span>;</div> -<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> </div> -<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> [[nodiscard]] std::vector<card*> <a class="code hl_function" href="classhand.html#ad104b0376b1a13d987f349dd524ca47f">get_cards</a>() <span class="keyword">const</span>;</div> -<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> </div> -<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classhand.html#a0a50cbbb167e6a1d633dd48bc4b695fe">try_get_card</a>(<span class="keyword">const</span> std::string& card_id, <a class="code hl_class" href="classcard.html">card</a>*& hand_card) <span class="keyword">const</span>;</div> -<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> </div> -<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="preprocessor">#ifdef WIZARD_SERVER</span></div> -<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span><span class="comment">// state update functions</span></div> -<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classhand.html#ad4749893f36ff1d6dcda3bb18eaedffb">add_card</a>(<a class="code hl_class" href="classcard.html">card</a>* <a class="code hl_class" href="classcard.html">card</a>, std::string& err);</div> -<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> </div> -<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="keywordtype">bool</span> remove_card(std::string card_id, std::string& err);</div> -<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span><span class="preprocessor">#endif</span></div> +<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> </div> +<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span><span class="keyword">public</span>:</div> +<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> </div> +<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="comment">// constructors and destructor</span></div> +<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <a class="code hl_function" href="classhand.html#ae8d7de2589266f57271ac191dab8cd64">hand</a>();</div> +<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> </div> +<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <a class="code hl_function" href="classhand.html#ae8d7de2589266f57271ac191dab8cd64">hand</a>(<span class="keyword">const</span> std::string& <span class="keywordtype">id</span>, <span class="keyword">const</span> std::vector<card*>& cards);</div> +<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> </div> +<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">explicit</span> <a class="code hl_function" href="classhand.html#ae8d7de2589266f57271ac191dab8cd64">hand</a>(<span class="keyword">const</span> std::string& <span class="keywordtype">id</span>);</div> +<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> </div> +<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <a class="code hl_function" href="classhand.html#af3ffc5e5b46f04b14f12a9fc130b220a">~hand</a>() <span class="keyword">override</span>;</div> +<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> </div> +<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span><span class="comment">// accessors</span></div> +<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> [[nodiscard]] <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code hl_function" href="classhand.html#adc90d109b7b564a0dbca0b0798c99641">get_nof_cards</a>() <span class="keyword">const</span>;</div> +<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> </div> +<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> [[nodiscard]] std::vector<card*> <a class="code hl_function" href="classhand.html#ad104b0376b1a13d987f349dd524ca47f">get_cards</a>() <span class="keyword">const</span>;</div> +<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> </div> +<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classhand.html#a0a50cbbb167e6a1d633dd48bc4b695fe">try_get_card</a>(<span class="keyword">const</span> std::string& card_id, <a class="code hl_class" href="classcard.html">card</a>*& hand_card) <span class="keyword">const</span>;</div> +<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> </div> +<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">bool</span> remove_card(std::string card_id, std::string& err);</div> +<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> </div> +<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span><span class="preprocessor">#ifdef WIZARD_SERVER</span></div> +<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span><span class="comment">// state update functions</span></div> +<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classhand.html#ad4749893f36ff1d6dcda3bb18eaedffb">add_card</a>(<a class="code hl_class" href="classcard.html">card</a>* <a class="code hl_class" href="classcard.html">card</a>, std::string& err);</div> <div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> </div> -<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span><span class="comment">// serialization interface</span></div> -<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classhand.html#a505a82447d0ae305dadcc9c4aa54071e">write_into_json</a>(rapidjson::Value& json, rapidjson::Document::AllocatorType& allocator) <span class="keyword">const override</span>;</div> -<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> </div> -<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <span class="keyword">static</span> <a class="code hl_class" href="classhand.html">hand</a>* <a class="code hl_function" href="classhand.html#aa9cffdf932d80c7304a335074403e785">from_json</a>(<span class="keyword">const</span> rapidjson::Value& json);</div> -<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> </div> -<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span>};</div> -</div> +<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span><span class="preprocessor">#endif</span></div> +<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> </div> +<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span><span class="comment">// serialization interface</span></div> +<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classhand.html#a505a82447d0ae305dadcc9c4aa54071e">write_into_json</a>(rapidjson::Value& json, rapidjson::Document::AllocatorType& allocator) <span class="keyword">const override</span>;</div> +<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> </div> +<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keyword">static</span> <a class="code hl_class" href="classhand.html">hand</a>* <a class="code hl_function" href="classhand.html#aa9cffdf932d80c7304a335074403e785">from_json</a>(<span class="keyword">const</span> rapidjson::Value& json);</div> <div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> </div> -<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span><span class="preprocessor">#endif </span><span class="comment">//WIZARD_HAND_H</span></div> +<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span>};</div> +</div> +<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> </div> +<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span><span class="preprocessor">#endif </span><span class="comment">//WIZARD_HAND_H</span></div> <div class="ttc" id="aclasscard_html"><div class="ttname"><a href="classcard.html">card</a></div><div class="ttdoc">Represents a card in the game.</div><div class="ttdef"><b>Definition</b> card.h:15</div></div> <div class="ttc" id="aclasshand_html"><div class="ttname"><a href="classhand.html">hand</a></div><div class="ttdoc">Represents a player's hand in the game.</div><div class="ttdef"><b>Definition</b> hand.h:15</div></div> <div class="ttc" id="aclasshand_html_a0a50cbbb167e6a1d633dd48bc4b695fe"><div class="ttname"><a href="classhand.html#a0a50cbbb167e6a1d633dd48bc4b695fe">hand::try_get_card</a></div><div class="ttdeci">bool try_get_card(const std::string &card_id, card *&hand_card) const</div><div class="ttdoc">Tries to get a specific card from the hand.</div><div class="ttdef"><b>Definition</b> hand.cpp:33</div></div> <div class="ttc" id="aclasshand_html_a505a82447d0ae305dadcc9c4aa54071e"><div class="ttname"><a href="classhand.html#a505a82447d0ae305dadcc9c4aa54071e">hand::write_into_json</a></div><div class="ttdeci">void write_into_json(rapidjson::Value &json, rapidjson::Document::AllocatorType &allocator) const override</div><div class="ttdoc">Serializes a hand object into a json object.</div><div class="ttdef"><b>Definition</b> hand.cpp:83</div></div> <div class="ttc" id="aclasshand_html_aa9cffdf932d80c7304a335074403e785"><div class="ttname"><a href="classhand.html#aa9cffdf932d80c7304a335074403e785">hand::from_json</a></div><div class="ttdeci">static hand * from_json(const rapidjson::Value &json)</div><div class="ttdoc">Deserializes a hand object from a json object.</div><div class="ttdef"><b>Definition</b> hand.cpp:88</div></div> <div class="ttc" id="aclasshand_html_ad104b0376b1a13d987f349dd524ca47f"><div class="ttname"><a href="classhand.html#ad104b0376b1a13d987f349dd524ca47f">hand::get_cards</a></div><div class="ttdeci">std::vector< card * > get_cards() const</div><div class="ttdoc">Gets the cards in the hand.</div><div class="ttdef"><b>Definition</b> hand.cpp:27</div></div> -<div class="ttc" id="aclasshand_html_ad4749893f36ff1d6dcda3bb18eaedffb"><div class="ttname"><a href="classhand.html#ad4749893f36ff1d6dcda3bb18eaedffb">hand::add_card</a></div><div class="ttdeci">bool add_card(card *card, std::string &err)</div><div class="ttdoc">Adds a card to the hand.</div><div class="ttdef"><b>Definition</b> hand.cpp:64</div></div> +<div class="ttc" id="aclasshand_html_ad4749893f36ff1d6dcda3bb18eaedffb"><div class="ttname"><a href="classhand.html#ad4749893f36ff1d6dcda3bb18eaedffb">hand::add_card</a></div><div class="ttdeci">bool add_card(card *card, std::string &err)</div><div class="ttdoc">Adds a card to the hand.</div><div class="ttdef"><b>Definition</b> hand.cpp:76</div></div> <div class="ttc" id="aclasshand_html_adc90d109b7b564a0dbca0b0798c99641"><div class="ttname"><a href="classhand.html#adc90d109b7b564a0dbca0b0798c99641">hand::get_nof_cards</a></div><div class="ttdeci">unsigned int get_nof_cards() const</div><div class="ttdoc">Gets the number of cards in the hand.</div><div class="ttdef"><b>Definition</b> hand.cpp:23</div></div> <div class="ttc" id="aclasshand_html_ae8d7de2589266f57271ac191dab8cd64"><div class="ttname"><a href="classhand.html#ae8d7de2589266f57271ac191dab8cd64">hand::hand</a></div><div class="ttdeci">hand()</div><div class="ttdoc">Constructs a new hand object.</div><div class="ttdef"><b>Definition</b> hand.cpp:7</div></div> <div class="ttc" id="aclasshand_html_af3ffc5e5b46f04b14f12a9fc130b220a"><div class="ttname"><a href="classhand.html#af3ffc5e5b46f04b14f12a9fc130b220a">hand::~hand</a></div><div class="ttdeci">~hand() override</div><div class="ttdoc">Destructs a hand object.</div><div class="ttdef"><b>Definition</b> hand.cpp:18</div></div> diff --git a/html/hierarchy.html b/html/hierarchy.html index f657ee4..802e04d 100644 --- a/html/hierarchy.html +++ b/html/hierarchy.html @@ -138,7 +138,7 @@ $(function(){ initResizable(false); }); <tr id="row_17_0_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_connection_panel.html" target="_self">ConnectionPanel</a></td><td class="desc"></td></tr> <tr id="row_17_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_image_panel.html" target="_self">ImagePanel</a></td><td class="desc"></td></tr> <tr id="row_17_2_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_input_field.html" target="_self">InputField</a></td><td class="desc"></td></tr> -<tr id="row_17_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_main_game_panel_wizard.html" target="_self">MainGamePanelWizard</a></td><td class="desc"></td></tr> +<tr id="row_17_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_main_game_panel_wizard.html" target="_self">MainGamePanelWizard</a></td><td class="desc">Visualizes Game State to user during the card playing phase. The Main Game Panel is shown before the game has started (Lobby) and also while the game is played (outside the trick estimation phase). It ensures that the game state is shown to all players in the GUI, and creates and positions all graphical elements. It also allows interaction of the user with the GUI via button clicks </td></tr> <tr id="row_17_4_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_trick_estimation_panel.html" target="_self">TrickEstimationPanel</a></td><td class="desc"></td></tr> <tr id="row_18_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_18_" class="arrow" onclick="dynsection.toggleFolder('18_')">▼</span><span class="icona"><span class="icon">C</span></span><b>wxThread</b></td><td class="desc"></td></tr> <tr id="row_18_0_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_response_listener_thread.html" target="_self">ResponseListenerThread</a></td><td class="desc"></td></tr> diff --git a/html/index.html b/html/index.html index 6235801..93adc1c 100644 --- a/html/index.html +++ b/html/index.html @@ -99,16 +99,57 @@ $(function(){ initResizable(false); }); </ul> <hr /> <p>You can read the game's rules <a href="https://www.amigo.games/content/ap/rule/19420--031-2019-Wizard_Manual_002_LAYOUT[1].pdf">here</a>. The implementation features a client/server architecture for multiplayer scenarios. It uses <a href="https://www.wxwidgets.org/">wxWidgets</a> for the GUI, <a href="https://github.com/fpagliughi/sockpp">sockpp</a> for the network interface, <a href="https://rapidjson.org/md_doc_tutorial.html">rapidjson</a> for object serialization, and <a href="https://github.com/google/googletest">googletest</a> for the unit tests.</p> -<h1><a class="anchor" id="autotoc_md3"></a> -1 Overview</h1> -<p>The game and source files is available on GitLab on the main branch. The game was developed based on the provided LAMA example project game. This project consists of a <b>server</b> and a <b>client</b>, each with their own main.cpp file. Each player can run his client and connect to the server in the same local network.</p> +<hr /> <h1><a class="anchor" id="autotoc_md4"></a> +1 Overview</h1> +<p>The game and source files are available on GitLab on the main branch. The game was developed based on the provided LAMA example project game. This project consists of a <b>server</b> and a <b>client</b>, each with their own main.cpp file. Each player can run their own client and connect to the same server in the same local network.</p> +<hr /> +<h1><a class="anchor" id="autotoc_md6"></a> 2 Compile Instructions</h1> -<h1><a class="anchor" id="autotoc_md5"></a> +<p>This project only works on UNIX systems (Linux / macOS). We thus only explain the how to compile the game on these systems. The following description was tested on Ubuntu 24.04 and on macOS Sequoia.</p> +<h2><a class="anchor" id="autotoc_md7"></a> +2.1 Prepare OS Environment</h2> +<p>If your OS does not yet have git installed, install git by running <code>sudo apt-get install git</code> on Ubuntu or by running <code>xcode-select --install</code> on macOS (this installs git as well). The <a class="el" href="class_wizard.html">Wizard</a> repository can then be cloned by running <code>git clone <a href="https://gitlab.ethz.ch/beckermar/wizard.git">https://gitlab.ethz.ch/beckermar/wizard.git</a></code> (clone with HTTPS) or by running <code>git clone git@gitlab.ethz.ch:beckermar/wizard.git</code> (clone with SSH) inside the directory that should contain the game. Cloning the game as a first step also makes provided scripts for preparing the OS environment and for compiling the code available.</p> +<h3><a class="anchor" id="autotoc_md8"></a> +2.1.1 Ubuntu 24.04</h3> +<p>The necessary packages and software can either be installed manually or by running the provided script.</p> +<p>To use the provided script, run <code>bash scripts/prepare_ubuntu.sh</code> inside the <b>wizard</b> directory.</p> +<p>To manually prepare Ubuntu, execute the following commands:</p><ol type="1"> +<li><code>sudo apt-get update</code> (update package list)</li> +<li><code>sudo apt-get install build-essential</code> (install software to build from source)</li> +<li><code>sudo apt-get install libwxgtk3.2-dev</code> (install wxwidgets, use libwxgtk3.0-gtk3-dev on Ubuntu 20.04 / 22.04)</li> +<li><code>sudo apt-get install cmake</code> (install cmake)</li> +<li><code>sudo reboot</code> (reboot system)</li> +</ol> +<h3><a class="anchor" id="autotoc_md9"></a> +2.1.2 macOS Sequoia</h3> +<p>The necessary packages and software can either be installed manually or by running the provided script.</p> +<p>To use the provided script, run <code>zsh scripts/prepare_macos.sh</code> inside the <b>wizard</b> directory.</p> +<p>To manually prepare macOS, execute the following commands:</p><ol type="1"> +<li><code>/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"</code> (install homebrew)</li> +<li><code>brew install cmake</code> (install cmake)</li> +<li><code>brew install wxwidgets</code> (install wxwidgets)</li> +</ol> +<h2><a class="anchor" id="autotoc_md10"></a> +2.2 Compile Code</h2> +<p>Compiling the code creates executables for the client (Wizard-client) and for the server (Wizard-server).</p> +<h3><a class="anchor" id="autotoc_md11"></a> +2.2.1 Ubuntu 24.04</h3> +<p>Compiling the code can be done by running the provided script.</p> +<p>To use the provided script, run <code>bash scripts/compile_ubuntu.sh</code> inside the <b>wizard</b> directory.</p> +<h3><a class="anchor" id="autotoc_md12"></a> +2.2.1 macOS Sequoia</h3> +<p>Compiling the code can be done by running the provided script.</p> +<p>To use the provided script, run <code>zsh scripts/compile_macos.sh</code> inside the <b>wizard</b> directory.</p> +<hr /> +<h1><a class="anchor" id="autotoc_md14"></a> 3 Run the Game</h1> -<h1><a class="anchor" id="autotoc_md6"></a> +<p>After compiling the code, navigate into the <b>cmake-build-debug</b> directory (if not yet there). To start a server, run <code>./Wizard-server</code>. In new consoles, you can now start as many clients as you wish by running <code>./Wizard-client</code>.</p> +<hr /> +<h1><a class="anchor" id="autotoc_md16"></a> 4 Play the Game</h1> -<h2><a class="anchor" id="autotoc_md7"></a> +<p>Enjoy the game!</p> +<h2><a class="anchor" id="autotoc_md17"></a> 4.1 Connection Panel</h2> <p>The client renders the GUI that is presented to the player, whereas the server is a console application without a user interface. Every action a player performs in the client application (for example playing a card) is sent as a formatted message to the server application, which processes the request. <br /> </p><ul> @@ -116,11 +157,11 @@ $(function(){ initResizable(false); }); </li> <li>If the <b>move was invalid</b>, the game state will not be updated and only the requesting player will get a response containing the error message.</li> </ul> -<h2><a class="anchor" id="autotoc_md8"></a> +<h2><a class="anchor" id="autotoc_md18"></a> Network Interface</h2> <p>Everything that is passed between client and server are objects of type <code><a class="el" href="classclient__request.html">client_request</a></code> and <code><a class="el" href="classserver__response.html">server_response</a></code>. Since the underlying network protocol works with TCP, these <code><a class="el" href="classclient__request.html">client_request</a></code> and <code><a class="el" href="classserver__response.html">server_response</a></code> objects are transformed into a <b><a href="https://wiki.selfhtml.org/wiki/JSON">JSON</a> string</b>, which can then be sent over the network. The receiving end reads the JSON string and constructs an object of type <code><a class="el" href="classclient__request.html">client_request</a></code> resp. <code><a class="el" href="classserver__response.html">server_response</a></code> that reflects the exact parameters that are specified in the JSON string. This process is known as <b>serialization</b> (object to string) and <b>deserialization</b> (string to object). If you want to read more about serialization, <a href="https://en.wikipedia.org/wiki/Serialization">read me on Wikipedia</a>.</p> <p><img src="./docs/img/client-server-diagram.png?raw=true" alt="client-server-diagram" class="inline"/></p> -<h3><a class="anchor" id="autotoc_md9"></a> +<h3><a class="anchor" id="autotoc_md19"></a> Serialization & Deserialization of messages</h3> <p>Both, the <code><a class="el" href="classclient__request.html">client_request</a></code> and <code><a class="el" href="classserver__response.html">server_response</a></code> base classes, implement the abstract class <code>serializable</code> with its <code>write_into_json(...)</code> function. It allows to serialize the object instance into a JSON string. Additionally, they have a static function <code>from_json(...)</code>, which allows creating an object instance from a JSON string.</p> <div class="fragment"><div class="line"><span class="comment">// All request types of your imlementation</span></div> @@ -160,7 +201,7 @@ Serialization & Deserialization of messages</h3> <div class="line">};</div> <div class="ttc" id="aclassclient__request_html"><div class="ttname"><a href="classclient__request.html">client_request</a></div><div class="ttdef"><b>Definition</b> client_request.h:30</div></div> <div class="ttc" id="aclassserializable_html"><div class="ttname"><a href="classserializable.html">serializable</a></div><div class="ttdef"><b>Definition</b> serializable.h:11</div></div> -</div><!-- fragment --><h4><a class="anchor" id="autotoc_md10"></a> +</div><!-- fragment --><h4><a class="anchor" id="autotoc_md20"></a> Serialization</h4> <p>When you implement your own specializations of <code><a class="el" href="classclient__request.html">client_request</a></code> (and <code><a class="el" href="classserver__response.html">server_response</a></code>, if necessary) you will have to implement the <code>write_into_json(...)</code> functions yourself. Your subclass always has to call the <code>write_into_json(...)</code> function of its base-class, such that the parameters of the base-class are written into the JSON document:</p> <p>Here is the <b>base-class</b> implementation: </p><div class="fragment"><div class="line"><span class="comment">// Implementation in the base-class client_request</span></div> @@ -189,7 +230,7 @@ Serialization</h4> <div class="line"> rapidjson::Value card_id_val(_card_id.c_str(), allocator);</div> <div class="line"> json.AddMember(<span class="stringliteral">"card_id"</span>, card_id_val,allocator);</div> <div class="line">}</div> -</div><!-- fragment --><h4><a class="anchor" id="autotoc_md11"></a> +</div><!-- fragment --><h4><a class="anchor" id="autotoc_md21"></a> Deserialization</h4> <p>The deserialization of <code><a class="el" href="classclient__request.html">client_request</a></code> JSONs always goes through the <code>from_json(...)</code> function of the <code><a class="el" href="classclient__request.html">client_request</a></code> class. In this function, the "type" field, stored in the JSON, is inspected to determine, which subclass should be called to perform the deserialization:</p> <div class="fragment"><div class="line"><span class="keywordflow">if</span> (json.HasMember(<span class="stringliteral">"type"</span>) && json[<span class="stringliteral">"type"</span>].IsString()) {</div> @@ -248,12 +289,12 @@ Deserialization</h4> <div class="ttc" id="aclassplay__card__request_html"><div class="ttname"><a href="classplay__card__request.html">play_card_request</a></div><div class="ttdef"><b>Definition</b> play_card_request.h:13</div></div> <div class="ttc" id="astructclient__request_1_1base__class__properties_html"><div class="ttname"><a href="structclient__request_1_1base__class__properties.html">client_request::base_class_properties</a></div><div class="ttdef"><b>Definition</b> client_request.h:33</div></div> </div><!-- fragment --><p>There are plenty of examples of subclasses in the network/requests folder, where you can see how the serialization/deserialization scheme works.</p> -<h3><a class="anchor" id="autotoc_md12"></a> +<h3><a class="anchor" id="autotoc_md22"></a> 4.2.2 Sending messages</h3> -<h3><a class="anchor" id="autotoc_md13"></a> +<h3><a class="anchor" id="autotoc_md23"></a> Client -> Server:</h3> <p>All you have to do is use the static class <code><a class="el" href="class_client_network_manager.html">ClientNetworkManager</a></code> on the client side and then invoke its <code>sendRequest(const <a class="el" href="classclient__request.html">client_request</a>& request)</code> function with the <code><a class="el" href="classclient__request.html">client_request</a></code> that you want to send. The server's response will arrive as an object of type <code><a class="el" href="classrequest__response.html">request_response</a></code> and the <code><a class="el" href="class_client_network_manager.html">ClientNetworkManager</a></code> will invoke the <code>Process()</code> function of that <code><a class="el" href="classrequest__response.html">request_response</a></code> object automatically.</p> -<h3><a class="anchor" id="autotoc_md14"></a> +<h3><a class="anchor" id="autotoc_md24"></a> Server -> Client:</h3> <p>All messages arriving at the server are being deserialized and then passed on to the <code>handle_request(client_request* req)</code> function of the <code><a class="el" href="classrequest__handler.html">request_handler</a></code> singleton class. This function returns a pointer to an object of type <code><a class="el" href="classrequest__response.html">request_response</a></code> (a subclass of <code><a class="el" href="classserver__response.html">server_response</a></code>), which is then automatically sent back to the requesting client. In your game implementation you should extend the <code>handle_request(client_request* req)</code> function of the <code><a class="el" href="classrequest__handler.html">request_handler</a></code>, such that it can handle the <code><a class="el" href="classclient__request.html">client_request</a></code> that you add to your game and return an object of type <code><a class="el" href="classrequest__response.html">request_response</a></code> with all parameters you want to send.</p> <p>If the <code><a class="el" href="classclient__request.html">client_request</a></code> causes an update of the <a class="el" href="classgame__state.html" title="Represents the state of the game.">game_state</a> you should also update all other players of that game about the <a class="el" href="classgame__state.html" title="Represents the state of the game.">game_state</a> change. This happens in the <code><a class="el" href="classgame__instance.html" title="Class that modifies game state based on content received from client. The game instance functionaliti...">game_instance</a></code> class, here examplified at the case where a <code><a class="el" href="classstart__game__request.html">start_game_request</a></code> calls the <code>start_game(...)</code> function on the respective <code><a class="el" href="classgame__instance.html" title="Class that modifies game state based on content received from client. The game instance functionaliti...">game_instance</a></code> on the server side:</p> @@ -276,10 +317,10 @@ Server -> Client:</h3> <div class="ttc" id="aclassfull__state__response_html"><div class="ttname"><a href="classfull__state__response.html">full_state_response</a></div><div class="ttdef"><b>Definition</b> full_state_response.h:11</div></div> <div class="ttc" id="aclassgame__instance_html_a72cd93738171ffc856c3d77df5f967da"><div class="ttname"><a href="classgame__instance.html#a72cd93738171ffc856c3d77df5f967da">game_instance::get_id</a></div><div class="ttdeci">std::string get_id()</div><div class="ttdoc">Accessor of game instance id.</div><div class="ttdef"><b>Definition</b> game_instance.cpp:21</div></div> <div class="ttc" id="aclassgame__instance_html_aee2eedd24991ce59dbcf2ec4f6cae8ac"><div class="ttname"><a href="classgame__instance.html#aee2eedd24991ce59dbcf2ec4f6cae8ac">game_instance::start_game</a></div><div class="ttdeci">bool start_game(player *player, std::string &err)</div><div class="ttdoc">Attempts to start the game.</div><div class="ttdef"><b>Definition</b> game_instance.cpp:63</div></div> -<div class="ttc" id="aclassgame__state_html_a6ca6536eaec3404ff9b1ab39b8df4e67"><div class="ttname"><a href="classgame__state.html#a6ca6536eaec3404ff9b1ab39b8df4e67">game_state::start_game</a></div><div class="ttdeci">bool start_game(std::string &err)</div><div class="ttdoc">Starts the game.</div><div class="ttdef"><b>Definition</b> game_state.cpp:371</div></div> -<div class="ttc" id="aclassgame__state_html_abcaccd551f938f961d12266e34c037d2"><div class="ttname"><a href="classgame__state.html#abcaccd551f938f961d12266e34c037d2">game_state::get_players</a></div><div class="ttdeci">std::vector< player * > & get_players()</div><div class="ttdoc">Gets the players that joined the game.</div><div class="ttdef"><b>Definition</b> game_state.cpp:196</div></div> +<div class="ttc" id="aclassgame__state_html_a6ca6536eaec3404ff9b1ab39b8df4e67"><div class="ttname"><a href="classgame__state.html#a6ca6536eaec3404ff9b1ab39b8df4e67">game_state::start_game</a></div><div class="ttdeci">bool start_game(std::string &err)</div><div class="ttdoc">Starts the game.</div><div class="ttdef"><b>Definition</b> game_state.cpp:386</div></div> +<div class="ttc" id="aclassgame__state_html_abcaccd551f938f961d12266e34c037d2"><div class="ttname"><a href="classgame__state.html#abcaccd551f938f961d12266e34c037d2">game_state::get_players</a></div><div class="ttdeci">std::vector< player * > & get_players()</div><div class="ttdoc">Gets the players that joined the game.</div><div class="ttdef"><b>Definition</b> game_state.cpp:207</div></div> <div class="ttc" id="aclassplayer_html"><div class="ttname"><a href="classplayer.html">player</a></div><div class="ttdoc">Represents a player in the game.</div><div class="ttdef"><b>Definition</b> player.h:18</div></div> -</div><!-- fragment --><h3><a class="anchor" id="autotoc_md15"></a> +</div><!-- fragment --><h3><a class="anchor" id="autotoc_md25"></a> 4.2.3 Debugging Messages</h3> <p>By default, the server (specifically, the <a class="el" href="classserver__network__manager.html">server_network_manager</a>) will print every valid message that it receives to the console. In order for this to work in your project as well, you have to make sure that your CMake file contains a line, where the preprocessor variable PRINT_NETWORK_MESSAGES is defined for your server executable.</p> <div class="fragment"><div class="line">target_compile_definitions(Wizard-server PRIVATE PRINT_NETWORK_MESSAGES=1)</div> @@ -298,8 +339,8 @@ Server -> Client:</h3> <div class="line"><span class="comment">// print serialization to the console.</span></div> <div class="line">std::cout << json_utils::to_string(req_json) << std::endl;</div> <div class="ttc" id="aclassjoin__game__request_html"><div class="ttname"><a href="classjoin__game__request.html">join_game_request</a></div><div class="ttdef"><b>Definition</b> join_game_request.h:13</div></div> -<div class="ttc" id="aclassplayer_html_a42d01dcf4cdbd452fc5dcaf5e6f21773"><div class="ttname"><a href="classplayer.html#a42d01dcf4cdbd452fc5dcaf5e6f21773">player::get_player_name</a></div><div class="ttdeci">std::string get_player_name() const noexcept</div><div class="ttdoc">Gets the player's name.</div><div class="ttdef"><b>Definition</b> player.cpp:104</div></div> -</div><!-- fragment --><h2><a class="anchor" id="autotoc_md16"></a> +<div class="ttc" id="aclassplayer_html_a42d01dcf4cdbd452fc5dcaf5e6f21773"><div class="ttname"><a href="classplayer.html#a42d01dcf4cdbd452fc5dcaf5e6f21773">player::get_player_name</a></div><div class="ttdeci">std::string get_player_name() const noexcept</div><div class="ttdoc">Gets the player's name.</div><div class="ttdef"><b>Definition</b> player.cpp:119</div></div> +</div><!-- fragment --><h2><a class="anchor" id="autotoc_md26"></a> 4.3 Game State</h2> <p>The <code><a class="el" href="classgame__state.html" title="Represents the state of the game.">game_state</a></code> class stores all parameters that are required to represent the game on the client (resp. server) side. In order to synchronize this <code><a class="el" href="classgame__state.html" title="Represents the state of the game.">game_state</a></code> among all players, the <code><a class="el" href="classgame__state.html" title="Represents the state of the game.">game_state</a></code> can also be <b>serialized</b> and <b>deserialized</b>. If a <code><a class="el" href="classclient__request.html">client_request</a></code> was successfully executed on the server, then the <code><a class="el" href="classrequest__response.html">request_response</a></code> that is sent back to the client contains a serialized version of the updated <code><a class="el" href="classgame__state.html" title="Represents the state of the game.">game_state</a></code>. All other players receive the updated <code><a class="el" href="classgame__state.html" title="Represents the state of the game.">game_state</a></code> at the same time through a <code><a class="el" href="classfull__state__response.html">full_state_response</a></code>.</p> <p>To serialize the <code><a class="el" href="classgame__state.html" title="Represents the state of the game.">game_state</a></code>, the same <code>write_into_json(...)</code> function is used as for the <code><a class="el" href="classclient__request.html">client_request</a></code>.</p> @@ -337,11 +378,11 @@ Server -> Client:</h3> <div class="line"> <span class="keyword">static</span> <a class="code hl_class" href="classgame__state.html">game_state</a>* <a class="code hl_function" href="classgame__state.html#a794d484961c92b5b737586ec5599963f">from_json</a>(<span class="keyword">const</span> rapidjson::Value& json);</div> <div class="line">};</div> <div class="ttc" id="aclassgame__state_html"><div class="ttname"><a href="classgame__state.html">game_state</a></div><div class="ttdoc">Represents the state of the game.</div><div class="ttdef"><b>Definition</b> game_state.h:27</div></div> -<div class="ttc" id="aclassgame__state_html_a0c10b830e222d726557c3c33685c595a"><div class="ttname"><a href="classgame__state.html#a0c10b830e222d726557c3c33685c595a">game_state::game_state</a></div><div class="ttdeci">game_state()</div><div class="ttdoc">Constructs a new game_state object.</div><div class="ttdef"><b>Definition</b> game_state.cpp:54</div></div> -<div class="ttc" id="aclassgame__state_html_a54873cd18b46555915d150a6d8dd6f83"><div class="ttname"><a href="classgame__state.html#a54873cd18b46555915d150a6d8dd6f83">game_state::write_into_json</a></div><div class="ttdeci">void write_into_json(rapidjson::Value &json, rapidjson::Document::AllocatorType &allocator) const override</div><div class="ttdoc">Serializes a game_state object into a json object.</div><div class="ttdef"><b>Definition</b> game_state.cpp:483</div></div> -<div class="ttc" id="aclassgame__state_html_a794d484961c92b5b737586ec5599963f"><div class="ttname"><a href="classgame__state.html#a794d484961c92b5b737586ec5599963f">game_state::from_json</a></div><div class="ttdeci">static game_state * from_json(const rapidjson::Value &json)</div><div class="ttdoc">Deserializes a game_state object from a json object.</div><div class="ttdef"><b>Definition</b> game_state.cpp:547</div></div> -<div class="ttc" id="aclassgame__state_html_a9b83de8a89e3bb506184492d22c3cf45"><div class="ttname"><a href="classgame__state.html#a9b83de8a89e3bb506184492d22c3cf45">game_state::is_finished</a></div><div class="ttdeci">bool is_finished() const</div><div class="ttdoc">Checks if the game is finished.</div><div class="ttdef"><b>Definition</b> game_state.cpp:166</div></div> -<div class="ttc" id="aclassgame__state_html_aa0092c41779f38eba5e921e43b38559c"><div class="ttname"><a href="classgame__state.html#aa0092c41779f38eba5e921e43b38559c">game_state::is_started</a></div><div class="ttdeci">bool is_started() const</div><div class="ttdoc">Checks if the game is started.</div><div class="ttdef"><b>Definition</b> game_state.cpp:161</div></div> +<div class="ttc" id="aclassgame__state_html_a0c10b830e222d726557c3c33685c595a"><div class="ttname"><a href="classgame__state.html#a0c10b830e222d726557c3c33685c595a">game_state::game_state</a></div><div class="ttdeci">game_state()</div><div class="ttdoc">Constructs a new game_state object.</div><div class="ttdef"><b>Definition</b> game_state.cpp:56</div></div> +<div class="ttc" id="aclassgame__state_html_a54873cd18b46555915d150a6d8dd6f83"><div class="ttname"><a href="classgame__state.html#a54873cd18b46555915d150a6d8dd6f83">game_state::write_into_json</a></div><div class="ttdeci">void write_into_json(rapidjson::Value &json, rapidjson::Document::AllocatorType &allocator) const override</div><div class="ttdoc">Serializes a game_state object into a json object.</div><div class="ttdef"><b>Definition</b> game_state.cpp:518</div></div> +<div class="ttc" id="aclassgame__state_html_a794d484961c92b5b737586ec5599963f"><div class="ttname"><a href="classgame__state.html#a794d484961c92b5b737586ec5599963f">game_state::from_json</a></div><div class="ttdeci">static game_state * from_json(const rapidjson::Value &json)</div><div class="ttdoc">Deserializes a game_state object from a json object.</div><div class="ttdef"><b>Definition</b> game_state.cpp:586</div></div> +<div class="ttc" id="aclassgame__state_html_a9b83de8a89e3bb506184492d22c3cf45"><div class="ttname"><a href="classgame__state.html#a9b83de8a89e3bb506184492d22c3cf45">game_state::is_finished</a></div><div class="ttdeci">bool is_finished() const</div><div class="ttdoc">Checks if the game is finished.</div><div class="ttdef"><b>Definition</b> game_state.cpp:176</div></div> +<div class="ttc" id="aclassgame__state_html_aa0092c41779f38eba5e921e43b38559c"><div class="ttname"><a href="classgame__state.html#aa0092c41779f38eba5e921e43b38559c">game_state::is_started</a></div><div class="ttdeci">bool is_started() const</div><div class="ttdoc">Checks if the game is started.</div><div class="ttdef"><b>Definition</b> game_state.cpp:171</div></div> <div class="ttc" id="aclassserializable__value_html"><div class="ttname"><a href="classserializable__value.html">serializable_value</a></div><div class="ttdef"><b>Definition</b> serializable_value.h:27</div></div> <div class="ttc" id="aclassunique__serializable_html"><div class="ttname"><a href="classunique__serializable.html">unique_serializable</a></div><div class="ttdef"><b>Definition</b> unique_serializable.h:12</div></div> </div><!-- fragment --><p>The <code><a class="el" href="classgame__state.html" title="Represents the state of the game.">game_state</a></code> inherits from <code><a class="el" href="classunique__serializable.html">unique_serializable</a></code>, which essentially requires the <code>write_into_json()</code> function and adds a unique <code>id</code> to the object, such that it can be uniquely identified. Similarly, each parameter nested inside the <code><a class="el" href="classgame__state.html" title="Represents the state of the game.">game_state</a></code> (e.g. players, draw_pile, etc.) also inherit from <code><a class="el" href="classunique__serializable.html">unique_serializable</a></code> and therefore have their own <code>id</code> and serialization, resp. deserialization functions.</p> @@ -434,7 +475,7 @@ Server -> Client:</h3> <div class="line"> <span class="keywordflow">throw</span> <a class="code hl_class" href="class_wizard_exception.html">WizardException</a>(<span class="stringliteral">"Failed to deserialize game_state. Required entries were missing."</span>);</div> <div class="line"> }</div> <div class="line">}</div> -<div class="ttc" id="aclassplayer_html_a5955c5f26db6a08862ccfb443fbe99c5"><div class="ttname"><a href="classplayer.html#a5955c5f26db6a08862ccfb443fbe99c5">player::from_json</a></div><div class="ttdeci">static player * from_json(const rapidjson::Value &json)</div><div class="ttdoc">Deserializes a player object from a json object.</div><div class="ttdef"><b>Definition</b> player.cpp:177</div></div> +<div class="ttc" id="aclassplayer_html_a5955c5f26db6a08862ccfb443fbe99c5"><div class="ttname"><a href="classplayer.html#a5955c5f26db6a08862ccfb443fbe99c5">player::from_json</a></div><div class="ttdeci">static player * from_json(const rapidjson::Value &json)</div><div class="ttdoc">Deserializes a player object from a json object.</div><div class="ttdef"><b>Definition</b> player.cpp:202</div></div> </div><!-- fragment --><p>A similar scheme is applied in all other objects that inherit from <code><a class="el" href="classunique__serializable.html">unique_serializable</a></code>. Namely, these are:</p><ul> <li><code>player</code></li> <li><code>hand</code></li> @@ -443,10 +484,10 @@ Server -> Client:</h3> <li><code>discard_pile</code></li> <li><code><a class="el" href="classserializable__value.html">serializable_value</a></code></li> </ul> -<h2><a class="anchor" id="autotoc_md17"></a> +<h2><a class="anchor" id="autotoc_md27"></a> 4.4 GUI with wxWidgets</h2> <p>The GUI of the example project was built using the cross-platform GUI library <a href="https://www.wxwidgets.org/">wxWidgets</a>. In order to build a project using wxWidget elements, you will first need to install wxWidgets on your system (see Section 1.1 above).</p> -<h3><a class="anchor" id="autotoc_md18"></a> +<h3><a class="anchor" id="autotoc_md28"></a> 4.4.1 Structure & Important Classes</h3> <p>Here is a list of the most important elements that you will need to create your GUI. This is just meant as an overview, you will need to look up their correct usage in wxWidget's <a href="https://docs.wxwidgets.org/3.0/index.html">documentation</a>.</p> <ul> @@ -471,7 +512,7 @@ Server -> Client:</h3> </ul> </li> </ul> -<h3><a class="anchor" id="autotoc_md19"></a> +<h3><a class="anchor" id="autotoc_md29"></a> 4.4.2 Events</h3> <p>Like in most GUI environments, objects in wxWidgets trigger <b>events</b> when they are interacted with by the user. For instance, a button will trigger a <code>wxEVT_BUTTON</code> event when clicked. Similarly, a panel will trigger a <code>wxEVT_LEFT_UP</code> event when clicked. There are many other events that can be triggered - for example when a keyboard key is pressed, when a window is resized, or when the cursor moves over an element.</p> <p>In order to make the GUI interactive, we must specify the effect of an event. The easiest way is to <b>bind</b> an event to a lambda function. A lambda function is an unnamed function that can be used as an r-value. In C++, lambda functions have the following syntax:</p> diff --git a/html/menudata.js b/html/menudata.js index 01ffaaf..20e4f50 100644 --- a/html/menudata.js +++ b/html/menudata.js @@ -31,6 +31,7 @@ var menudata={children:[ {text:"Class Members",url:"functions.html",children:[ {text:"All",url:"functions.html",children:[ {text:"a",url:"functions.html#index_a"}, +{text:"b",url:"functions.html#index_b"}, {text:"c",url:"functions.html#index_c"}, {text:"d",url:"functions.html#index_d"}, {text:"e",url:"functions.html#index_e"}, @@ -39,6 +40,7 @@ var menudata={children:[ {text:"h",url:"functions.html#index_h"}, {text:"i",url:"functions.html#index_i"}, {text:"l",url:"functions.html#index_l"}, +{text:"m",url:"functions.html#index_m"}, {text:"p",url:"functions.html#index_p"}, {text:"r",url:"functions.html#index_r"}, {text:"s",url:"functions.html#index_s"}, @@ -48,6 +50,7 @@ var menudata={children:[ {text:"~",url:"functions.html#index__7E"}]}, {text:"Functions",url:"functions_func.html",children:[ {text:"a",url:"functions_func.html#index_a"}, +{text:"b",url:"functions_func.html#index_b"}, {text:"c",url:"functions_func.html#index_c"}, {text:"d",url:"functions_func.html#index_d"}, {text:"e",url:"functions_func.html#index_e"}, @@ -56,6 +59,7 @@ var menudata={children:[ {text:"h",url:"functions_func.html#index_h"}, {text:"i",url:"functions_func.html#index_i"}, {text:"l",url:"functions_func.html#index_l"}, +{text:"m",url:"functions_func.html#index_m"}, {text:"p",url:"functions_func.html#index_p"}, {text:"r",url:"functions_func.html#index_r"}, {text:"s",url:"functions_func.html#index_s"}, diff --git a/html/player_8h_source.html b/html/player_8h_source.html index 7629068..32caebb 100644 --- a/html/player_8h_source.html +++ b/html/player_8h_source.html @@ -110,90 +110,102 @@ $(function(){ initResizable(false); }); <div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<int></a>* _nof_tricks; </div> <div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<int></a>* _nof_predicted; </div> <div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> std::vector<serializable_value<int>*> _scores; </div> -<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <a class="code hl_class" href="classhand.html">hand</a>* _hand; </div> -<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div> -<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#ifdef WIZARD_SERVER</span></div> -<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> std::string _game_id; </div> -<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#endif</span></div> -<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div> -<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <a class="code hl_class" href="classplayer.html">player</a>(<span class="keyword">const</span> std::string& <span class="keywordtype">id</span>,</div> -<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<std::string></a>* name,</div> -<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<int></a>* nof_tricks,</div> -<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<int></a>* nof_predicted,</div> -<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="keyword">const</span> std::vector<<a class="code hl_class" href="classserializable__value.html">serializable_value<int></a>*>& scores,</div> -<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <a class="code hl_class" href="classhand.html">hand</a>* <a class="code hl_class" href="classhand.html">hand</a>);</div> -<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> </div> -<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="keyword">public</span>:</div> -<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> </div> -<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="comment">// constructors</span></div> -<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <span class="keyword">explicit</span> <a class="code hl_class" href="classplayer.html">player</a>(<span class="keyword">const</span> std::string& name);</div> -<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> </div> -<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <a class="code hl_function" href="classplayer.html#a0a62c0208584465db2daa1ac6e15b1ad">~player</a>() <span class="keyword">override</span>;</div> -<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> </div> -<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span><span class="preprocessor">#ifdef WIZARD_SERVER</span></div> -<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <a class="code hl_class" href="classplayer.html">player</a>(<span class="keyword">const</span> std::string& <span class="keywordtype">id</span>, <span class="keyword">const</span> std::string& name);</div> -<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> </div> -<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> std::string <a class="code hl_function" href="classplayer.html#afeb6c5483a59042fcc4a3a2aed6a6a2c">get_game_id</a>();</div> -<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> </div> -<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classplayer.html#aa916eeacf97f00507f412fd91bfe37d4">set_game_id</a>(<span class="keyword">const</span> std::string& game_id);</div> -<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span><span class="preprocessor">#endif</span></div> -<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> </div> -<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span><span class="comment">// accessors</span></div> -<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> [[nodiscard]] std::vector<serializable_value<int>*> <a class="code hl_function" href="classplayer.html#aef5c25a02a2fdbdb4d8270582faf5dac">get_scores</a>() <span class="keyword">const</span> <span class="keyword">noexcept</span>;</div> -<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> </div> -<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classplayer.html#af1d7e67eee27af87c01e43508a731bd4">set_scores</a>(<span class="keywordtype">int</span> score);</div> -<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> </div> -<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> [[nodiscard]] <span class="keywordtype">int</span> <a class="code hl_function" href="classplayer.html#a5e3d1374aee685b08a29d0ac7cec3df4">get_nof_tricks</a>() <span class="keyword">const</span> <span class="keyword">noexcept</span>;</div> -<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> </div> -<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classplayer.html#a61aa38ceff0c856b36642c4bc0081433">set_nof_tricks</a>(<span class="keywordtype">int</span> nof_tricks) <span class="keyword">const</span>;</div> -<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> </div> -<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> [[nodiscard]] <span class="keywordtype">int</span> <a class="code hl_function" href="classplayer.html#a40333c302ff51707749c544930fb80aa">get_nof_predicted</a>() <span class="keyword">const</span> <span class="keyword">noexcept</span>;</div> -<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> </div> -<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classplayer.html#a1a3ce0ac69cad799641f4d732435c3f7">set_nof_predicted</a>(<span class="keywordtype">int</span> nof_predicted) <span class="keyword">const</span>;</div> +<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<bool></a>* _has_left_game; </div> +<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> <a class="code hl_class" href="classhand.html">hand</a>* _hand; </div> +<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div> +<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#ifdef WIZARD_SERVER</span></div> +<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> std::string _game_id; </div> +<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#endif</span></div> +<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div> +<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <a class="code hl_class" href="classplayer.html">player</a>(<span class="keyword">const</span> std::string& <span class="keywordtype">id</span>,</div> +<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<std::string></a>* name,</div> +<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<int></a>* nof_tricks,</div> +<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<int></a>* nof_predicted,</div> +<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">const</span> std::vector<<a class="code hl_class" href="classserializable__value.html">serializable_value<int></a>*>& scores,</div> +<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <a class="code hl_class" href="classserializable__value.html">serializable_value<bool></a>* <a class="code hl_function" href="classplayer.html#aac1b87de3b686d8ee1049269f6c9f272">has_left_game</a>,</div> +<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <a class="code hl_class" href="classhand.html">hand</a>* <a class="code hl_class" href="classhand.html">hand</a>);</div> +<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> </div> +<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="keyword">public</span>:</div> +<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> </div> +<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="comment">// constructors</span></div> +<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">explicit</span> <a class="code hl_class" href="classplayer.html">player</a>(<span class="keyword">const</span> std::string& name);</div> +<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> </div> +<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <a class="code hl_function" href="classplayer.html#a0a62c0208584465db2daa1ac6e15b1ad">~player</a>() <span class="keyword">override</span>;</div> +<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> </div> +<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span><span class="preprocessor">#ifdef WIZARD_SERVER</span></div> +<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <a class="code hl_class" href="classplayer.html">player</a>(<span class="keyword">const</span> std::string& <span class="keywordtype">id</span>, <span class="keyword">const</span> std::string& name);</div> +<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> </div> +<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> std::string <a class="code hl_function" href="classplayer.html#afeb6c5483a59042fcc4a3a2aed6a6a2c">get_game_id</a>();</div> +<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> </div> +<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classplayer.html#aa916eeacf97f00507f412fd91bfe37d4">set_game_id</a>(<span class="keyword">const</span> std::string& game_id);</div> +<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span><span class="preprocessor">#endif</span></div> +<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> </div> +<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span><span class="comment">// accessors</span></div> +<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> [[nodiscard]] std::vector<serializable_value<int>*> <a class="code hl_function" href="classplayer.html#aef5c25a02a2fdbdb4d8270582faf5dac">get_scores</a>() <span class="keyword">const</span> <span class="keyword">noexcept</span>;</div> +<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> </div> +<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classplayer.html#af1d7e67eee27af87c01e43508a731bd4">set_scores</a>(<span class="keywordtype">int</span> score);</div> +<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> </div> +<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> [[nodiscard]] <span class="keywordtype">int</span> <a class="code hl_function" href="classplayer.html#a5e3d1374aee685b08a29d0ac7cec3df4">get_nof_tricks</a>() <span class="keyword">const</span> <span class="keyword">noexcept</span>;</div> +<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> </div> +<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classplayer.html#a61aa38ceff0c856b36642c4bc0081433">set_nof_tricks</a>(<span class="keywordtype">int</span> nof_tricks) <span class="keyword">const</span>;</div> +<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> </div> +<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> [[nodiscard]] <span class="keywordtype">bool</span> <a class="code hl_function" href="classplayer.html#aac1b87de3b686d8ee1049269f6c9f272">has_left_game</a>() <span class="keyword">const</span>;</div> +<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> </div> +<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classplayer.html#a42f88a13ce2b65360f6ee95281a09173">set_has_left_game</a>(<span class="keywordtype">bool</span> <a class="code hl_function" href="classplayer.html#aac1b87de3b686d8ee1049269f6c9f272">has_left_game</a>);</div> <div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> </div> -<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> [[nodiscard]] <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code hl_function" href="classplayer.html#a457c5ab90b0ecd610eead66b41c8333a">get_nof_cards</a>() <span class="keyword">const</span> <span class="keyword">noexcept</span>;</div> +<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> [[nodiscard]] <span class="keywordtype">int</span> <a class="code hl_function" href="classplayer.html#a40333c302ff51707749c544930fb80aa">get_nof_predicted</a>() <span class="keyword">const</span> <span class="keyword">noexcept</span>;</div> <div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> </div> -<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> [[nodiscard]] <a class="code hl_class" href="classhand.html">hand</a>* <a class="code hl_function" href="classplayer.html#af333dcbf7123726c9bda3ab94ba9ee6d">get_hand</a>() <span class="keyword">const</span> <span class="keyword">noexcept</span>;</div> -<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> </div> -<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> [[nodiscard]] std::string <a class="code hl_function" href="classplayer.html#a42d01dcf4cdbd452fc5dcaf5e6f21773">get_player_name</a>() <span class="keyword">const</span> <span class="keyword">noexcept</span>;</div> -<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> </div> -<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span><span class="preprocessor">#ifdef WIZARD_SERVER</span></div> -<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span><span class="comment">// state update functions</span></div> -<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classplayer.html#ab3b087d03dd2c81d893b2ffad459a26f">add_card</a>(<a class="code hl_class" href="classcard.html">card</a>* <a class="code hl_class" href="classcard.html">card</a>, std::string& err) <span class="keyword">const</span>;</div> +<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classplayer.html#a1a3ce0ac69cad799641f4d732435c3f7">set_nof_predicted</a>(<span class="keywordtype">int</span> nof_predicted) <span class="keyword">const</span>;</div> +<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> </div> +<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> [[nodiscard]] <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code hl_function" href="classplayer.html#a457c5ab90b0ecd610eead66b41c8333a">get_nof_cards</a>() <span class="keyword">const</span> <span class="keyword">noexcept</span>;</div> +<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> </div> +<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> </div> +<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> [[nodiscard]] <a class="code hl_class" href="classhand.html">hand</a>* <a class="code hl_function" href="classplayer.html#af333dcbf7123726c9bda3ab94ba9ee6d">get_hand</a>() <span class="keyword">const</span> <span class="keyword">noexcept</span>;</div> <div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> </div> -<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classplayer.html#a8cc6464ca3284140c92c6983ee62a299">setup_round</a>() <span class="keyword">const</span>;</div> -<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> </div> -<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classplayer.html#a193bcc63da13e5bc98eb46ed99381302">wrap_up_round</a>();</div> -<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span><span class="preprocessor">#endif</span></div> -<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> </div> -<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span><span class="comment">// serialization interface</span></div> -<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classplayer.html#a0cf13abfdb6b837faa88eda064bf51dc">write_into_json</a>(rapidjson::Value& json, rapidjson::Document::AllocatorType& allocator) <span class="keyword">const override</span>;</div> +<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> [[nodiscard]] std::string <a class="code hl_function" href="classplayer.html#a42d01dcf4cdbd452fc5dcaf5e6f21773">get_player_name</a>() <span class="keyword">const</span> <span class="keyword">noexcept</span>;</div> +<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> </div> +<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classplayer.html#af8f0b088e697fcb972bfc41302e63877">set_player_name</a>(<span class="keyword">const</span> std::string& new_name);</div> +<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> </div> +<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span><span class="preprocessor">#ifdef WIZARD_SERVER</span></div> +<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span><span class="comment">// state update functions</span></div> +<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classplayer.html#ab3b087d03dd2c81d893b2ffad459a26f">add_card</a>(<a class="code hl_class" href="classcard.html">card</a>* <a class="code hl_class" href="classcard.html">card</a>, std::string& err) <span class="keyword">const</span>;</div> <div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> </div> -<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <span class="keyword">static</span> <a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_function" href="classplayer.html#a5955c5f26db6a08862ccfb443fbe99c5">from_json</a>(<span class="keyword">const</span> rapidjson::Value& json);</div> -<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span>};</div> -</div> +<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classplayer.html#a8cc6464ca3284140c92c6983ee62a299">setup_round</a>() <span class="keyword">const</span>;</div> <div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> </div> -<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span><span class="preprocessor">#endif </span><span class="comment">//WIZARD_PLAYER_H</span></div> +<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classplayer.html#a193bcc63da13e5bc98eb46ed99381302">wrap_up_round</a>();</div> +<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span><span class="preprocessor">#endif</span></div> +<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> </div> +<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span><span class="comment">// serialization interface</span></div> +<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classplayer.html#a0cf13abfdb6b837faa88eda064bf51dc">write_into_json</a>(rapidjson::Value& json, rapidjson::Document::AllocatorType& allocator) <span class="keyword">const override</span>;</div> +<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> </div> +<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> <span class="keyword">static</span> <a class="code hl_class" href="classplayer.html">player</a>* <a class="code hl_function" href="classplayer.html#a5955c5f26db6a08862ccfb443fbe99c5">from_json</a>(<span class="keyword">const</span> rapidjson::Value& json);</div> +<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span>};</div> +</div> +<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> </div> +<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span><span class="preprocessor">#endif </span><span class="comment">//WIZARD_PLAYER_H</span></div> <div class="ttc" id="aclasscard_html"><div class="ttname"><a href="classcard.html">card</a></div><div class="ttdoc">Represents a card in the game.</div><div class="ttdef"><b>Definition</b> card.h:15</div></div> <div class="ttc" id="aclasshand_html"><div class="ttname"><a href="classhand.html">hand</a></div><div class="ttdoc">Represents a player's hand in the game.</div><div class="ttdef"><b>Definition</b> hand.h:15</div></div> <div class="ttc" id="aclassplayer_html"><div class="ttname"><a href="classplayer.html">player</a></div><div class="ttdoc">Represents a player in the game.</div><div class="ttdef"><b>Definition</b> player.h:18</div></div> -<div class="ttc" id="aclassplayer_html_a0a62c0208584465db2daa1ac6e15b1ad"><div class="ttname"><a href="classplayer.html#a0a62c0208584465db2daa1ac6e15b1ad">player::~player</a></div><div class="ttdeci">~player() override</div><div class="ttdoc">Destructs a player object.</div><div class="ttdef"><b>Definition</b> player.cpp:29</div></div> -<div class="ttc" id="aclassplayer_html_a0cf13abfdb6b837faa88eda064bf51dc"><div class="ttname"><a href="classplayer.html#a0cf13abfdb6b837faa88eda064bf51dc">player::write_into_json</a></div><div class="ttdeci">void write_into_json(rapidjson::Value &json, rapidjson::Document::AllocatorType &allocator) const override</div><div class="ttdoc">Serializes a player object into a json object.</div><div class="ttdef"><b>Definition</b> player.cpp:152</div></div> -<div class="ttc" id="aclassplayer_html_a193bcc63da13e5bc98eb46ed99381302"><div class="ttname"><a href="classplayer.html#a193bcc63da13e5bc98eb46ed99381302">player::wrap_up_round</a></div><div class="ttdeci">void wrap_up_round()</div><div class="ttdoc">Calculates the new score of the player.</div><div class="ttdef"><b>Definition</b> player.cpp:132</div></div> -<div class="ttc" id="aclassplayer_html_a1a3ce0ac69cad799641f4d732435c3f7"><div class="ttname"><a href="classplayer.html#a1a3ce0ac69cad799641f4d732435c3f7">player::set_nof_predicted</a></div><div class="ttdeci">void set_nof_predicted(int nof_predicted) const</div><div class="ttdoc">Sets the player's number of predicted tricks to the given input.</div><div class="ttdef"><b>Definition</b> player.cpp:97</div></div> -<div class="ttc" id="aclassplayer_html_a40333c302ff51707749c544930fb80aa"><div class="ttname"><a href="classplayer.html#a40333c302ff51707749c544930fb80aa">player::get_nof_predicted</a></div><div class="ttdeci">int get_nof_predicted() const noexcept</div><div class="ttdoc">Gets the number of tricks predicted to be won by the player in the current round.</div><div class="ttdef"><b>Definition</b> player.cpp:92</div></div> -<div class="ttc" id="aclassplayer_html_a42d01dcf4cdbd452fc5dcaf5e6f21773"><div class="ttname"><a href="classplayer.html#a42d01dcf4cdbd452fc5dcaf5e6f21773">player::get_player_name</a></div><div class="ttdeci">std::string get_player_name() const noexcept</div><div class="ttdoc">Gets the player's name.</div><div class="ttdef"><b>Definition</b> player.cpp:104</div></div> -<div class="ttc" id="aclassplayer_html_a457c5ab90b0ecd610eead66b41c8333a"><div class="ttname"><a href="classplayer.html#a457c5ab90b0ecd610eead66b41c8333a">player::get_nof_cards</a></div><div class="ttdeci">unsigned int get_nof_cards() const noexcept</div><div class="ttdoc">Gets the number of cards in the player's hand.</div><div class="ttdef"><b>Definition</b> player.cpp:114</div></div> -<div class="ttc" id="aclassplayer_html_a5955c5f26db6a08862ccfb443fbe99c5"><div class="ttname"><a href="classplayer.html#a5955c5f26db6a08862ccfb443fbe99c5">player::from_json</a></div><div class="ttdeci">static player * from_json(const rapidjson::Value &json)</div><div class="ttdoc">Deserializes a player object from a json object.</div><div class="ttdef"><b>Definition</b> player.cpp:177</div></div> -<div class="ttc" id="aclassplayer_html_a5e3d1374aee685b08a29d0ac7cec3df4"><div class="ttname"><a href="classplayer.html#a5e3d1374aee685b08a29d0ac7cec3df4">player::get_nof_tricks</a></div><div class="ttdeci">int get_nof_tricks() const noexcept</div><div class="ttdoc">Gets the number of tricks won by the player in the current round.</div><div class="ttdef"><b>Definition</b> player.cpp:80</div></div> -<div class="ttc" id="aclassplayer_html_a61aa38ceff0c856b36642c4bc0081433"><div class="ttname"><a href="classplayer.html#a61aa38ceff0c856b36642c4bc0081433">player::set_nof_tricks</a></div><div class="ttdeci">void set_nof_tricks(int nof_tricks) const</div><div class="ttdoc">Sets the player's number of won tricks to the given input.</div><div class="ttdef"><b>Definition</b> player.cpp:85</div></div> -<div class="ttc" id="aclassplayer_html_a8cc6464ca3284140c92c6983ee62a299"><div class="ttname"><a href="classplayer.html#a8cc6464ca3284140c92c6983ee62a299">player::setup_round</a></div><div class="ttdeci">void setup_round() const</div><div class="ttdoc">Sets up the player for the next round.</div><div class="ttdef"><b>Definition</b> player.cpp:126</div></div> -<div class="ttc" id="aclassplayer_html_aa916eeacf97f00507f412fd91bfe37d4"><div class="ttname"><a href="classplayer.html#aa916eeacf97f00507f412fd91bfe37d4">player::set_game_id</a></div><div class="ttdeci">void set_game_id(const std::string &game_id)</div><div class="ttdoc">Sets the game id of the player.</div><div class="ttdef"><b>Definition</b> player.cpp:61</div></div> -<div class="ttc" id="aclassplayer_html_ab3b087d03dd2c81d893b2ffad459a26f"><div class="ttname"><a href="classplayer.html#ab3b087d03dd2c81d893b2ffad459a26f">player::add_card</a></div><div class="ttdeci">bool add_card(card *card, std::string &err) const</div><div class="ttdoc">Adds a card to the player's hand.</div><div class="ttdef"><b>Definition</b> player.cpp:121</div></div> -<div class="ttc" id="aclassplayer_html_aef5c25a02a2fdbdb4d8270582faf5dac"><div class="ttname"><a href="classplayer.html#aef5c25a02a2fdbdb4d8270582faf5dac">player::get_scores</a></div><div class="ttdeci">std::vector< serializable_value< int > * > get_scores() const noexcept</div><div class="ttdoc">Gets the scores of the player.</div><div class="ttdef"><b>Definition</b> player.cpp:68</div></div> -<div class="ttc" id="aclassplayer_html_af1d7e67eee27af87c01e43508a731bd4"><div class="ttname"><a href="classplayer.html#af1d7e67eee27af87c01e43508a731bd4">player::set_scores</a></div><div class="ttdeci">void set_scores(int score)</div><div class="ttdoc">Sets the player's scores to the given scores.</div><div class="ttdef"><b>Definition</b> player.cpp:73</div></div> -<div class="ttc" id="aclassplayer_html_af333dcbf7123726c9bda3ab94ba9ee6d"><div class="ttname"><a href="classplayer.html#af333dcbf7123726c9bda3ab94ba9ee6d">player::get_hand</a></div><div class="ttdeci">hand * get_hand() const noexcept</div><div class="ttdoc">Gets the player's hand.</div><div class="ttdef"><b>Definition</b> player.cpp:109</div></div> -<div class="ttc" id="aclassplayer_html_afeb6c5483a59042fcc4a3a2aed6a6a2c"><div class="ttname"><a href="classplayer.html#afeb6c5483a59042fcc4a3a2aed6a6a2c">player::get_game_id</a></div><div class="ttdeci">std::string get_game_id()</div><div class="ttdoc">Gets the game id of the game the player has joint.</div><div class="ttdef"><b>Definition</b> player.cpp:56</div></div> +<div class="ttc" id="aclassplayer_html_a0a62c0208584465db2daa1ac6e15b1ad"><div class="ttname"><a href="classplayer.html#a0a62c0208584465db2daa1ac6e15b1ad">player::~player</a></div><div class="ttdeci">~player() override</div><div class="ttdoc">Destructs a player object.</div><div class="ttdef"><b>Definition</b> player.cpp:31</div></div> +<div class="ttc" id="aclassplayer_html_a0cf13abfdb6b837faa88eda064bf51dc"><div class="ttname"><a href="classplayer.html#a0cf13abfdb6b837faa88eda064bf51dc">player::write_into_json</a></div><div class="ttdeci">void write_into_json(rapidjson::Value &json, rapidjson::Document::AllocatorType &allocator) const override</div><div class="ttdoc">Serializes a player object into a json object.</div><div class="ttdef"><b>Definition</b> player.cpp:173</div></div> +<div class="ttc" id="aclassplayer_html_a193bcc63da13e5bc98eb46ed99381302"><div class="ttname"><a href="classplayer.html#a193bcc63da13e5bc98eb46ed99381302">player::wrap_up_round</a></div><div class="ttdeci">void wrap_up_round()</div><div class="ttdoc">Calculates the new score of the player.</div><div class="ttdef"><b>Definition</b> player.cpp:153</div></div> +<div class="ttc" id="aclassplayer_html_a1a3ce0ac69cad799641f4d732435c3f7"><div class="ttname"><a href="classplayer.html#a1a3ce0ac69cad799641f4d732435c3f7">player::set_nof_predicted</a></div><div class="ttdeci">void set_nof_predicted(int nof_predicted) const</div><div class="ttdoc">Sets the player's number of predicted tricks to the given input.</div><div class="ttdef"><b>Definition</b> player.cpp:112</div></div> +<div class="ttc" id="aclassplayer_html_a40333c302ff51707749c544930fb80aa"><div class="ttname"><a href="classplayer.html#a40333c302ff51707749c544930fb80aa">player::get_nof_predicted</a></div><div class="ttdeci">int get_nof_predicted() const noexcept</div><div class="ttdoc">Gets the number of tricks predicted to be won by the player in the current round.</div><div class="ttdef"><b>Definition</b> player.cpp:107</div></div> +<div class="ttc" id="aclassplayer_html_a42d01dcf4cdbd452fc5dcaf5e6f21773"><div class="ttname"><a href="classplayer.html#a42d01dcf4cdbd452fc5dcaf5e6f21773">player::get_player_name</a></div><div class="ttdeci">std::string get_player_name() const noexcept</div><div class="ttdoc">Gets the player's name.</div><div class="ttdef"><b>Definition</b> player.cpp:119</div></div> +<div class="ttc" id="aclassplayer_html_a42f88a13ce2b65360f6ee95281a09173"><div class="ttname"><a href="classplayer.html#a42f88a13ce2b65360f6ee95281a09173">player::set_has_left_game</a></div><div class="ttdeci">void set_has_left_game(bool has_left_game)</div><div class="ttdoc">Sets the players game to left when he leaves the game.</div><div class="ttdef"><b>Definition</b> player.cpp:100</div></div> +<div class="ttc" id="aclassplayer_html_a457c5ab90b0ecd610eead66b41c8333a"><div class="ttname"><a href="classplayer.html#a457c5ab90b0ecd610eead66b41c8333a">player::get_nof_cards</a></div><div class="ttdeci">unsigned int get_nof_cards() const noexcept</div><div class="ttdoc">Gets the number of cards in the player's hand.</div><div class="ttdef"><b>Definition</b> player.cpp:135</div></div> +<div class="ttc" id="aclassplayer_html_a5955c5f26db6a08862ccfb443fbe99c5"><div class="ttname"><a href="classplayer.html#a5955c5f26db6a08862ccfb443fbe99c5">player::from_json</a></div><div class="ttdeci">static player * from_json(const rapidjson::Value &json)</div><div class="ttdoc">Deserializes a player object from a json object.</div><div class="ttdef"><b>Definition</b> player.cpp:202</div></div> +<div class="ttc" id="aclassplayer_html_a5e3d1374aee685b08a29d0ac7cec3df4"><div class="ttname"><a href="classplayer.html#a5e3d1374aee685b08a29d0ac7cec3df4">player::get_nof_tricks</a></div><div class="ttdeci">int get_nof_tricks() const noexcept</div><div class="ttdoc">Gets the number of tricks won by the player in the current round.</div><div class="ttdef"><b>Definition</b> player.cpp:85</div></div> +<div class="ttc" id="aclassplayer_html_a61aa38ceff0c856b36642c4bc0081433"><div class="ttname"><a href="classplayer.html#a61aa38ceff0c856b36642c4bc0081433">player::set_nof_tricks</a></div><div class="ttdeci">void set_nof_tricks(int nof_tricks) const</div><div class="ttdoc">Sets the player's number of won tricks to the given input.</div><div class="ttdef"><b>Definition</b> player.cpp:90</div></div> +<div class="ttc" id="aclassplayer_html_a8cc6464ca3284140c92c6983ee62a299"><div class="ttname"><a href="classplayer.html#a8cc6464ca3284140c92c6983ee62a299">player::setup_round</a></div><div class="ttdeci">void setup_round() const</div><div class="ttdoc">Sets up the player for the next round.</div><div class="ttdef"><b>Definition</b> player.cpp:147</div></div> +<div class="ttc" id="aclassplayer_html_aa916eeacf97f00507f412fd91bfe37d4"><div class="ttname"><a href="classplayer.html#aa916eeacf97f00507f412fd91bfe37d4">player::set_game_id</a></div><div class="ttdeci">void set_game_id(const std::string &game_id)</div><div class="ttdoc">Sets the game id of the player.</div><div class="ttdef"><b>Definition</b> player.cpp:66</div></div> +<div class="ttc" id="aclassplayer_html_aac1b87de3b686d8ee1049269f6c9f272"><div class="ttname"><a href="classplayer.html#aac1b87de3b686d8ee1049269f6c9f272">player::has_left_game</a></div><div class="ttdeci">bool has_left_game() const</div><div class="ttdoc">State whether player has left the game.</div><div class="ttdef"><b>Definition</b> player.cpp:95</div></div> +<div class="ttc" id="aclassplayer_html_ab3b087d03dd2c81d893b2ffad459a26f"><div class="ttname"><a href="classplayer.html#ab3b087d03dd2c81d893b2ffad459a26f">player::add_card</a></div><div class="ttdeci">bool add_card(card *card, std::string &err) const</div><div class="ttdoc">Adds a card to the player's hand.</div><div class="ttdef"><b>Definition</b> player.cpp:142</div></div> +<div class="ttc" id="aclassplayer_html_aef5c25a02a2fdbdb4d8270582faf5dac"><div class="ttname"><a href="classplayer.html#aef5c25a02a2fdbdb4d8270582faf5dac">player::get_scores</a></div><div class="ttdeci">std::vector< serializable_value< int > * > get_scores() const noexcept</div><div class="ttdoc">Gets the scores of the player.</div><div class="ttdef"><b>Definition</b> player.cpp:73</div></div> +<div class="ttc" id="aclassplayer_html_af1d7e67eee27af87c01e43508a731bd4"><div class="ttname"><a href="classplayer.html#af1d7e67eee27af87c01e43508a731bd4">player::set_scores</a></div><div class="ttdeci">void set_scores(int score)</div><div class="ttdoc">Sets the player's scores to the given scores.</div><div class="ttdef"><b>Definition</b> player.cpp:78</div></div> +<div class="ttc" id="aclassplayer_html_af333dcbf7123726c9bda3ab94ba9ee6d"><div class="ttname"><a href="classplayer.html#af333dcbf7123726c9bda3ab94ba9ee6d">player::get_hand</a></div><div class="ttdeci">hand * get_hand() const noexcept</div><div class="ttdoc">Gets the player's hand.</div><div class="ttdef"><b>Definition</b> player.cpp:130</div></div> +<div class="ttc" id="aclassplayer_html_af8f0b088e697fcb972bfc41302e63877"><div class="ttname"><a href="classplayer.html#af8f0b088e697fcb972bfc41302e63877">player::set_player_name</a></div><div class="ttdeci">void set_player_name(const std::string &new_name)</div><div class="ttdoc">Sets the player's name to the given input.</div><div class="ttdef"><b>Definition</b> player.cpp:124</div></div> +<div class="ttc" id="aclassplayer_html_afeb6c5483a59042fcc4a3a2aed6a6a2c"><div class="ttname"><a href="classplayer.html#afeb6c5483a59042fcc4a3a2aed6a6a2c">player::get_game_id</a></div><div class="ttdeci">std::string get_game_id()</div><div class="ttdoc">Gets the game id of the game the player has joint.</div><div class="ttdef"><b>Definition</b> player.cpp:61</div></div> <div class="ttc" id="aclassserializable__value_html"><div class="ttname"><a href="classserializable__value.html">serializable_value</a></div><div class="ttdef"><b>Definition</b> serializable_value.h:27</div></div> <div class="ttc" id="aclassunique__serializable_html"><div class="ttname"><a href="classunique__serializable.html">unique_serializable</a></div><div class="ttdef"><b>Definition</b> unique_serializable.h:12</div></div> </div><!-- fragment --></div><!-- contents --> diff --git a/html/search/all_0.js b/html/search/all_0.js index 9857456..1df1341 100644 --- a/html/search/all_0.js +++ b/html/search/all_0.js @@ -1,6 +1,4 @@ var searchData= [ - ['1_20connection_20panel_0',['4.1 Connection Panel',['../index.html#autotoc_md7',1,'']]], - ['1_20overview_1',['1 Overview',['../index.html#autotoc_md3',1,'']]], - ['1_20structure_20important_20classes_2',['4.4.1 Structure & Important Classes',['../index.html#autotoc_md18',1,'']]] + ['04_0',['04',['../index.html#autotoc_md8',1,'2.1.1 Ubuntu 24.04'],['../index.html#autotoc_md11',1,'2.2.1 Ubuntu 24.04']]] ]; diff --git a/html/search/all_1.js b/html/search/all_1.js index 20bd489..246207d 100644 --- a/html/search/all_1.js +++ b/html/search/all_1.js @@ -1,8 +1,11 @@ var searchData= [ - ['2_202_20sending_20messages_0',['4.2.2 Sending messages',['../index.html#autotoc_md12',1,'']]], - ['2_203_20debugging_20messages_1',['4.2.3 Debugging Messages',['../index.html#autotoc_md15',1,'']]], - ['2_20compile_20instructions_2',['2 Compile Instructions',['../index.html#autotoc_md4',1,'']]], - ['2_20events_3',['4.4.2 Events',['../index.html#autotoc_md19',1,'']]], - ['2_20sending_20messages_4',['4.2.2 Sending messages',['../index.html#autotoc_md12',1,'']]] + ['1_201_20ubuntu_2024_2004_0',['2.1.1 Ubuntu 24.04',['../index.html#autotoc_md8',1,'']]], + ['1_202_20macos_20sequoia_1',['2.1.2 macOS Sequoia',['../index.html#autotoc_md9',1,'']]], + ['1_20connection_20panel_2',['4.1 Connection Panel',['../index.html#autotoc_md17',1,'']]], + ['1_20macos_20sequoia_3',['2.2.1 macOS Sequoia',['../index.html#autotoc_md12',1,'']]], + ['1_20overview_4',['1 Overview',['../index.html#autotoc_md4',1,'']]], + ['1_20prepare_20os_20environment_5',['2.1 Prepare OS Environment',['../index.html#autotoc_md7',1,'']]], + ['1_20structure_20important_20classes_6',['4.4.1 Structure & Important Classes',['../index.html#autotoc_md28',1,'']]], + ['1_20ubuntu_2024_2004_7',['1 Ubuntu 24 04',['../index.html#autotoc_md8',1,'2.1.1 Ubuntu 24.04'],['../index.html#autotoc_md11',1,'2.2.1 Ubuntu 24.04']]] ]; diff --git a/html/search/all_10.js b/html/search/all_10.js index 77044c7..f32c61b 100644 --- a/html/search/all_10.js +++ b/html/search/all_10.js @@ -1,4 +1,7 @@ var searchData= [ - ['network_20interface_0',['Network Interface',['../index.html#autotoc_md8',1,'']]] + ['macos_20sequoia_0',['macOS Sequoia',['../index.html#autotoc_md9',1,'2.1.2 macOS Sequoia'],['../index.html#autotoc_md12',1,'2.2.1 macOS Sequoia']]], + ['maingamepanelwizard_1',['MainGamePanelWizard',['../class_main_game_panel_wizard.html',1,'MainGamePanelWizard'],['../class_main_game_panel_wizard.html#a6ba532223a22fe5458e3f94a70e2bbf6',1,'MainGamePanelWizard::MainGamePanelWizard()']]], + ['messages_2',['4.2.3 Debugging Messages',['../index.html#autotoc_md25',1,'']]], + ['messages_3',['messages',['../index.html#autotoc_md22',1,'4.2.2 Sending messages'],['../index.html#autotoc_md19',1,'Serialization & Deserialization of messages']]] ]; diff --git a/html/search/all_11.js b/html/search/all_11.js index d5b4548..b957cee 100644 --- a/html/search/all_11.js +++ b/html/search/all_11.js @@ -1,5 +1,4 @@ var searchData= [ - ['of_20messages_0',['Serialization & Deserialization of messages',['../index.html#autotoc_md9',1,'']]], - ['overview_1',['1 Overview',['../index.html#autotoc_md3',1,'']]] + ['network_20interface_0',['Network Interface',['../index.html#autotoc_md18',1,'']]] ]; diff --git a/html/search/all_12.js b/html/search/all_12.js index 3e332e9..8c068e9 100644 --- a/html/search/all_12.js +++ b/html/search/all_12.js @@ -1,12 +1,6 @@ var searchData= [ - ['panel_0',['4.1 Connection Panel',['../index.html#autotoc_md7',1,'']]], - ['play_20the_20game_1',['4 Play the Game',['../index.html#autotoc_md6',1,'']]], - ['play_5fcard_2',['play_card',['../classgame__state.html#a6c65d95086a88b8d111de5553e1210ec',1,'game_state::play_card()'],['../classgame__instance.html#a1a7e19a4b0907cb0b5f1523edb7e68ca',1,'game_instance::play_card()']]], - ['play_5fcard_5frequest_3',['play_card_request',['../classplay__card__request.html',1,'']]], - ['playcard_4',['playCard',['../class_game_controller.html#a87b164e2094901861e5b47056634facc',1,'GameController']]], - ['player_5',['player',['../classplayer.html',1,'player'],['../classplayer.html#a1f0916939a8caa2e7140d5c89a6aa718',1,'player::player(const std::string &name)'],['../classplayer.html#aa97dd36228b56912bc5dad63f64e1ccf',1,'player::player(const std::string &id, const std::string &name)']]], - ['player_5fmanager_6',['player_manager',['../classplayer__manager.html',1,'']]], - ['processestimatetricks_7',['processEstimateTricks',['../class_game_controller.html#a5f1023f2029e5dbb25b795a0606e06a9',1,'GameController']]], - ['project_20wizard_8',['Software Engineering Project - Wizard',['../index.html',1,'']]] + ['of_20messages_0',['Serialization & Deserialization of messages',['../index.html#autotoc_md19',1,'']]], + ['os_20environment_1',['2.1 Prepare OS Environment',['../index.html#autotoc_md7',1,'']]], + ['overview_2',['1 Overview',['../index.html#autotoc_md4',1,'']]] ]; diff --git a/html/search/all_13.js b/html/search/all_13.js index aaa3ecc..d7c46ed 100644 --- a/html/search/all_13.js +++ b/html/search/all_13.js @@ -1,9 +1,13 @@ var searchData= [ - ['remove_5fcard_0',['remove_card',['../classhand.html#aa466496b7ce0b58dbd63620535430439',1,'hand']]], - ['remove_5fplayer_1',['remove_player',['../classgame__state.html#a734fc594d457aa4e6db5bc7467e6442d',1,'game_state']]], - ['request_5fhandler_2',['request_handler',['../classrequest__handler.html',1,'']]], - ['request_5fresponse_3',['request_response',['../classrequest__response.html',1,'']]], - ['responselistenerthread_4',['ResponseListenerThread',['../class_response_listener_thread.html',1,'']]], - ['run_20the_20game_5',['3 Run the Game',['../index.html#autotoc_md5',1,'']]] + ['panel_0',['4.1 Connection Panel',['../index.html#autotoc_md17',1,'']]], + ['play_20the_20game_1',['4 Play the Game',['../index.html#autotoc_md16',1,'']]], + ['play_5fcard_2',['play_card',['../classgame__state.html#a6c65d95086a88b8d111de5553e1210ec',1,'game_state::play_card()'],['../classgame__instance.html#a1a7e19a4b0907cb0b5f1523edb7e68ca',1,'game_instance::play_card()']]], + ['play_5fcard_5frequest_3',['play_card_request',['../classplay__card__request.html',1,'']]], + ['playcard_4',['playCard',['../class_game_controller.html#a87b164e2094901861e5b47056634facc',1,'GameController']]], + ['player_5',['player',['../classplayer.html',1,'player'],['../classplayer.html#a1f0916939a8caa2e7140d5c89a6aa718',1,'player::player(const std::string &name)'],['../classplayer.html#aa97dd36228b56912bc5dad63f64e1ccf',1,'player::player(const std::string &id, const std::string &name)']]], + ['player_5fmanager_6',['player_manager',['../classplayer__manager.html',1,'']]], + ['prepare_20os_20environment_7',['2.1 Prepare OS Environment',['../index.html#autotoc_md7',1,'']]], + ['processestimatetricks_8',['processEstimateTricks',['../class_game_controller.html#a5f1023f2029e5dbb25b795a0606e06a9',1,'GameController']]], + ['project_20wizard_9',['Software Engineering Project - Wizard',['../index.html',1,'']]] ]; diff --git a/html/search/all_14.js b/html/search/all_14.js index d558e4e..145c342 100644 --- a/html/search/all_14.js +++ b/html/search/all_14.js @@ -1,36 +1,9 @@ var searchData= [ - ['scoreboarddialog_0',['ScoreBoardDialog',['../class_score_board_dialog.html',1,'']]], - ['scoredialog_1',['ScoreDialog',['../class_score_dialog.html',1,'']]], - ['sending_20messages_2',['4.2.2 Sending messages',['../index.html#autotoc_md12',1,'']]], - ['serializable_3',['serializable',['../classserializable.html',1,'']]], - ['serializable_5fvalue_4',['serializable_value',['../classserializable__value.html',1,'']]], - ['serializable_5fvalue_3c_20bool_20_3e_5',['serializable_value< bool >',['../classserializable__value.html',1,'']]], - ['serializable_5fvalue_3c_20int_20_3e_6',['serializable_value< int >',['../classserializable__value.html',1,'']]], - ['serializable_5fvalue_3c_20std_3a_3astring_20_3e_7',['serializable_value< std::string >',['../classserializable__value.html',1,'']]], - ['serialization_8',['Serialization',['../index.html#autotoc_md10',1,'']]], - ['serialization_20deserialization_20of_20messages_9',['Serialization & Deserialization of messages',['../index.html#autotoc_md9',1,'']]], - ['server_20client_3a_10',['Server -> Client:',['../index.html#autotoc_md14',1,'']]], - ['server_3a_11',['Client -> Server:',['../index.html#autotoc_md13',1,'']]], - ['server_5fnetwork_5fmanager_12',['server_network_manager',['../classserver__network__manager.html',1,'']]], - ['server_5fresponse_13',['server_response',['../classserver__response.html',1,'']]], - ['set_5fgame_5fid_14',['set_game_id',['../classplayer.html#aa916eeacf97f00507f412fd91bfe37d4',1,'player']]], - ['set_5fnof_5fpredicted_15',['set_nof_predicted',['../classplayer.html#a1a3ce0ac69cad799641f4d732435c3f7',1,'player']]], - ['set_5fnof_5ftricks_16',['set_nof_tricks',['../classplayer.html#a61aa38ceff0c856b36642c4bc0081433',1,'player']]], - ['set_5fscores_17',['set_scores',['../classplayer.html#af1d7e67eee27af87c01e43508a731bd4',1,'player']]], - ['set_5ftrick_18',['set_trick',['../classgame__state.html#a745dd23945b6165470c494b036ac4667',1,'game_state']]], - ['set_5ftrick_5fcolor_19',['set_trick_color',['../classtrick.html#a0f8c45882691509564ec42efed0d1aaa',1,'trick']]], - ['set_5fup_5fround_20',['set_up_round',['../classtrick.html#ae5b769ed0fc2933c1a44b5e481c18b00',1,'trick']]], - ['setup_5fround_21',['setup_round',['../classdeck.html#a77851e5cb8297849e91a885ed7959de1',1,'deck::setup_round()'],['../classgame__state.html#ab520d4076c53f70a68bc19f355243a4d',1,'game_state::setup_round()'],['../classplayer.html#a8cc6464ca3284140c92c6983ee62a299',1,'player::setup_round()']]], - ['showerror_22',['showError',['../class_game_controller.html#adf043f9026a62f634a873c9f9d292034',1,'GameController']]], - ['showgameovermessage_23',['showGameOverMessage',['../class_game_controller.html#abb91c546ab8400c1e2e9f2a2ccc8298f',1,'GameController']]], - ['shownewroundmessage_24',['showNewRoundMessage',['../class_game_controller.html#a3c350056b82df662c946cb9119f11ced',1,'GameController']]], - ['showstatus_25',['showStatus',['../class_game_controller.html#a6a43eb061a9882b3937fc88bb4794324',1,'GameController']]], - ['showtrickovermessage_26',['showTrickOverMessage',['../class_game_controller.html#a8108659ad09724318c3a251d93bd5869',1,'GameController']]], - ['software_20engineering_20project_20wizard_27',['Software Engineering Project - Wizard',['../index.html',1,'']]], - ['start_5fgame_28',['start_game',['../classgame__state.html#a6ca6536eaec3404ff9b1ab39b8df4e67',1,'game_state::start_game()'],['../classgame__instance.html#aee2eedd24991ce59dbcf2ec4f6cae8ac',1,'game_instance::start_game()']]], - ['start_5fgame_5frequest_29',['start_game_request',['../classstart__game__request.html',1,'']]], - ['startgame_30',['startGame',['../class_game_controller.html#a8f30ab3ff471ac0a5c8b88dc7fea45f4',1,'GameController']]], - ['state_31',['4.3 Game State',['../index.html#autotoc_md16',1,'']]], - ['structure_20important_20classes_32',['4.4.1 Structure & Important Classes',['../index.html#autotoc_md18',1,'']]] + ['remove_5fcard_0',['remove_card',['../classhand.html#aa466496b7ce0b58dbd63620535430439',1,'hand']]], + ['remove_5fplayer_1',['remove_player',['../classgame__state.html#a734fc594d457aa4e6db5bc7467e6442d',1,'game_state']]], + ['request_5fhandler_2',['request_handler',['../classrequest__handler.html',1,'']]], + ['request_5fresponse_3',['request_response',['../classrequest__response.html',1,'']]], + ['responselistenerthread_4',['ResponseListenerThread',['../class_response_listener_thread.html',1,'']]], + ['run_20the_20game_5',['3 Run the Game',['../index.html#autotoc_md14',1,'']]] ]; diff --git a/html/search/all_15.js b/html/search/all_15.js index 0264a27..27dd634 100644 --- a/html/search/all_15.js +++ b/html/search/all_15.js @@ -1,9 +1,39 @@ var searchData= [ - ['the_20game_0',['the Game',['../index.html#autotoc_md5',1,'3 Run the Game'],['../index.html#autotoc_md6',1,'4 Play the Game']]], - ['trick_1',['trick',['../classtrick.html',1,'trick'],['../classtrick.html#a3b0a12789b87d15d9cdc4e5b6f85b47d',1,'trick::trick()'],['../classtrick.html#ad55ad2f0462144ee39c0e6d392543a14',1,'trick::trick(const trick &other)'],['../classtrick.html#abb172ad9a476e96a754eea0c33e1eda9',1,'trick::trick(const std::string &id)'],['../classtrick.html#ab756ba7a19c4bf98f0d8456ad0081fc3',1,'trick::trick(const std::string &id, const std::vector< std::pair< card *, player * > > &cards, serializable_value< int > *trick_color, serializable_value< int > *trump_color)'],['../classtrick.html#a3ecb1c5ebe84a300d7388e2846737fa4',1,'trick::trick(int trump)']]], - ['trickestimationpanel_2',['TrickEstimationPanel',['../class_trick_estimation_panel.html',1,'']]], - ['try_5fadd_5fplayer_3',['try_add_player',['../classgame__instance.html#a1176ce8464586487f9ae5676ca900e10',1,'game_instance']]], - ['try_5fget_5fcard_4',['try_get_card',['../classhand.html#a0a50cbbb167e6a1d633dd48bc4b695fe',1,'hand']]], - ['try_5fremove_5fplayer_5',['try_remove_player',['../classgame__instance.html#a2c6fed45a14273b09a9f202481fa62aa',1,'game_instance']]] + ['scoreboarddialog_0',['ScoreBoardDialog',['../class_score_board_dialog.html',1,'']]], + ['scoredialog_1',['ScoreDialog',['../class_score_dialog.html',1,'']]], + ['sending_20messages_2',['4.2.2 Sending messages',['../index.html#autotoc_md22',1,'']]], + ['sequoia_3',['Sequoia',['../index.html#autotoc_md9',1,'2.1.2 macOS Sequoia'],['../index.html#autotoc_md12',1,'2.2.1 macOS Sequoia']]], + ['serializable_4',['serializable',['../classserializable.html',1,'']]], + ['serializable_5fvalue_5',['serializable_value',['../classserializable__value.html',1,'']]], + ['serializable_5fvalue_3c_20bool_20_3e_6',['serializable_value< bool >',['../classserializable__value.html',1,'']]], + ['serializable_5fvalue_3c_20int_20_3e_7',['serializable_value< int >',['../classserializable__value.html',1,'']]], + ['serializable_5fvalue_3c_20std_3a_3astring_20_3e_8',['serializable_value< std::string >',['../classserializable__value.html',1,'']]], + ['serialization_9',['Serialization',['../index.html#autotoc_md20',1,'']]], + ['serialization_20deserialization_20of_20messages_10',['Serialization & Deserialization of messages',['../index.html#autotoc_md19',1,'']]], + ['server_20client_3a_11',['Server -> Client:',['../index.html#autotoc_md24',1,'']]], + ['server_3a_12',['Client -> Server:',['../index.html#autotoc_md23',1,'']]], + ['server_5fnetwork_5fmanager_13',['server_network_manager',['../classserver__network__manager.html',1,'']]], + ['server_5fresponse_14',['server_response',['../classserver__response.html',1,'']]], + ['set_5fgame_5fid_15',['set_game_id',['../classplayer.html#aa916eeacf97f00507f412fd91bfe37d4',1,'player']]], + ['set_5fhas_5fleft_5fgame_16',['set_has_left_game',['../classplayer.html#a42f88a13ce2b65360f6ee95281a09173',1,'player']]], + ['set_5fnof_5fpredicted_17',['set_nof_predicted',['../classplayer.html#a1a3ce0ac69cad799641f4d732435c3f7',1,'player']]], + ['set_5fnof_5ftricks_18',['set_nof_tricks',['../classplayer.html#a61aa38ceff0c856b36642c4bc0081433',1,'player']]], + ['set_5fplayer_5fname_19',['set_player_name',['../classplayer.html#af8f0b088e697fcb972bfc41302e63877',1,'player']]], + ['set_5fscores_20',['set_scores',['../classplayer.html#af1d7e67eee27af87c01e43508a731bd4',1,'player']]], + ['set_5ftrick_21',['set_trick',['../classgame__state.html#a745dd23945b6165470c494b036ac4667',1,'game_state']]], + ['set_5ftrick_5fcolor_22',['set_trick_color',['../classtrick.html#a0f8c45882691509564ec42efed0d1aaa',1,'trick']]], + ['set_5fup_5fround_23',['set_up_round',['../classtrick.html#ae5b769ed0fc2933c1a44b5e481c18b00',1,'trick']]], + ['setup_5fround_24',['setup_round',['../classdeck.html#a77851e5cb8297849e91a885ed7959de1',1,'deck::setup_round()'],['../classgame__state.html#ab520d4076c53f70a68bc19f355243a4d',1,'game_state::setup_round()'],['../classplayer.html#a8cc6464ca3284140c92c6983ee62a299',1,'player::setup_round()']]], + ['showerror_25',['showError',['../class_game_controller.html#adf043f9026a62f634a873c9f9d292034',1,'GameController']]], + ['showgameovermessage_26',['showGameOverMessage',['../class_game_controller.html#abb91c546ab8400c1e2e9f2a2ccc8298f',1,'GameController']]], + ['shownewroundmessage_27',['showNewRoundMessage',['../class_game_controller.html#a3c350056b82df662c946cb9119f11ced',1,'GameController']]], + ['showstatus_28',['showStatus',['../class_game_controller.html#a6a43eb061a9882b3937fc88bb4794324',1,'GameController']]], + ['showtrickovermessage_29',['showTrickOverMessage',['../class_game_controller.html#a8108659ad09724318c3a251d93bd5869',1,'GameController']]], + ['software_20engineering_20project_20wizard_30',['Software Engineering Project - Wizard',['../index.html',1,'']]], + ['start_5fgame_31',['start_game',['../classgame__state.html#a6ca6536eaec3404ff9b1ab39b8df4e67',1,'game_state::start_game()'],['../classgame__instance.html#aee2eedd24991ce59dbcf2ec4f6cae8ac',1,'game_instance::start_game()']]], + ['start_5fgame_5frequest_32',['start_game_request',['../classstart__game__request.html',1,'']]], + ['startgame_33',['startGame',['../class_game_controller.html#a8f30ab3ff471ac0a5c8b88dc7fea45f4',1,'GameController']]], + ['state_34',['4.3 Game State',['../index.html#autotoc_md26',1,'']]], + ['structure_20important_20classes_35',['4.4.1 Structure & Important Classes',['../index.html#autotoc_md28',1,'']]] ]; diff --git a/html/search/all_16.js b/html/search/all_16.js index ae423c9..c2c50b5 100644 --- a/html/search/all_16.js +++ b/html/search/all_16.js @@ -1,7 +1,9 @@ var searchData= [ - ['unique_5fserializable_0',['unique_serializable',['../classunique__serializable.html',1,'']]], - ['update_5fcurrent_5fplayer_1',['update_current_player',['../classgame__state.html#a49851709fcec061d36478ed2fdcc3d9d',1,'game_state']]], - ['updategamestate_2',['updateGameState',['../class_game_controller.html#a994773f79be8c9e8dc8c19ee2d389103',1,'GameController']]], - ['uuid_5fgenerator_3',['uuid_generator',['../classuuid__generator.html',1,'']]] + ['the_20game_0',['the Game',['../index.html#autotoc_md14',1,'3 Run the Game'],['../index.html#autotoc_md16',1,'4 Play the Game']]], + ['trick_1',['trick',['../classtrick.html',1,'trick'],['../classtrick.html#a3b0a12789b87d15d9cdc4e5b6f85b47d',1,'trick::trick()'],['../classtrick.html#ad55ad2f0462144ee39c0e6d392543a14',1,'trick::trick(const trick &other)'],['../classtrick.html#abb172ad9a476e96a754eea0c33e1eda9',1,'trick::trick(const std::string &id)'],['../classtrick.html#ab756ba7a19c4bf98f0d8456ad0081fc3',1,'trick::trick(const std::string &id, const std::vector< std::pair< card *, player * > > &cards, serializable_value< int > *trick_color, serializable_value< int > *trump_color)'],['../classtrick.html#a3ecb1c5ebe84a300d7388e2846737fa4',1,'trick::trick(int trump)']]], + ['trickestimationpanel_2',['TrickEstimationPanel',['../class_trick_estimation_panel.html',1,'']]], + ['try_5fadd_5fplayer_3',['try_add_player',['../classgame__instance.html#a1176ce8464586487f9ae5676ca900e10',1,'game_instance']]], + ['try_5fget_5fcard_4',['try_get_card',['../classhand.html#a0a50cbbb167e6a1d633dd48bc4b695fe',1,'hand']]], + ['try_5fremove_5fplayer_5',['try_remove_player',['../classgame__instance.html#a2c6fed45a14273b09a9f202481fa62aa',1,'game_instance']]] ]; diff --git a/html/search/all_17.js b/html/search/all_17.js index 342ead7..b9ad200 100644 --- a/html/search/all_17.js +++ b/html/search/all_17.js @@ -1,10 +1,8 @@ var searchData= [ - ['with_20wxwidgets_0',['4.4 GUI with wxWidgets',['../index.html#autotoc_md17',1,'']]], - ['wizard_1',['Wizard',['../index.html',1,'Software Engineering Project - Wizard'],['../class_wizard.html',1,'Wizard']]], - ['wizardexception_2',['WizardException',['../class_wizard_exception.html',1,'']]], - ['wrap_5fup_5fround_3',['wrap_up_round',['../classgame__state.html#ad2e967638043670ebae93dd6ec32e91e',1,'game_state::wrap_up_round()'],['../classplayer.html#a193bcc63da13e5bc98eb46ed99381302',1,'player::wrap_up_round()']]], - ['wrap_5fup_5ftrick_4',['wrap_up_trick',['../classtrick.html#a384560623ffaf776797948cf35197c73',1,'trick']]], - ['write_5finto_5fjson_5',['write_into_json',['../classcard.html#a7f900b843e44fb18364f32dbe6cdbc7a',1,'card::write_into_json()'],['../classdeck.html#a8d226fe699a36bf462010ba1f744fbeb',1,'deck::write_into_json()'],['../classtrick.html#a97176df194eae794691356cd83292b04',1,'trick::write_into_json()'],['../classgame__state.html#a54873cd18b46555915d150a6d8dd6f83',1,'game_state::write_into_json()'],['../classhand.html#a505a82447d0ae305dadcc9c4aa54071e',1,'hand::write_into_json()'],['../classplayer.html#a0cf13abfdb6b837faa88eda064bf51dc',1,'player::write_into_json()']]], - ['wxwidgets_6',['4.4 GUI with wxWidgets',['../index.html#autotoc_md17',1,'']]] + ['ubuntu_2024_2004_0',['Ubuntu 24 04',['../index.html#autotoc_md8',1,'2.1.1 Ubuntu 24.04'],['../index.html#autotoc_md11',1,'2.2.1 Ubuntu 24.04']]], + ['unique_5fserializable_1',['unique_serializable',['../classunique__serializable.html',1,'']]], + ['update_5fcurrent_5fplayer_2',['update_current_player',['../classgame__state.html#a49851709fcec061d36478ed2fdcc3d9d',1,'game_state']]], + ['updategamestate_3',['updateGameState',['../class_game_controller.html#a994773f79be8c9e8dc8c19ee2d389103',1,'GameController']]], + ['uuid_5fgenerator_4',['uuid_generator',['../classuuid__generator.html',1,'']]] ]; diff --git a/html/search/all_18.js b/html/search/all_18.js index 688609a..83c8842 100644 --- a/html/search/all_18.js +++ b/html/search/all_18.js @@ -1,10 +1,10 @@ var searchData= [ - ['_7ecard_0',['~card',['../classcard.html#ac7a5d8d53e8cc33f5c5a03d8ccb806c4',1,'card']]], - ['_7edeck_1',['~deck',['../classdeck.html#a63a688bda08bfef8d2c37d53523b7b12',1,'deck']]], - ['_7egame_5finstance_2',['~game_instance',['../classgame__instance.html#a1fa390603341beb15e09e5a4b03465c1',1,'game_instance']]], - ['_7egame_5fstate_3',['~game_state',['../classgame__state.html#a2fbc370f93617298719f61514afdb5bc',1,'game_state']]], - ['_7ehand_4',['~hand',['../classhand.html#af3ffc5e5b46f04b14f12a9fc130b220a',1,'hand']]], - ['_7eplayer_5',['~player',['../classplayer.html#a0a62c0208584465db2daa1ac6e15b1ad',1,'player']]], - ['_7etrick_6',['~trick',['../classtrick.html#a22c0b586f1d6c3baeb7bb0e22eb7dfe2',1,'trick']]] + ['with_20wxwidgets_0',['4.4 GUI with wxWidgets',['../index.html#autotoc_md27',1,'']]], + ['wizard_1',['Wizard',['../index.html',1,'Software Engineering Project - Wizard'],['../class_wizard.html',1,'Wizard']]], + ['wizardexception_2',['WizardException',['../class_wizard_exception.html',1,'']]], + ['wrap_5fup_5fround_3',['wrap_up_round',['../classgame__state.html#ad2e967638043670ebae93dd6ec32e91e',1,'game_state::wrap_up_round()'],['../classplayer.html#a193bcc63da13e5bc98eb46ed99381302',1,'player::wrap_up_round()']]], + ['wrap_5fup_5ftrick_4',['wrap_up_trick',['../classtrick.html#a384560623ffaf776797948cf35197c73',1,'trick']]], + ['write_5finto_5fjson_5',['write_into_json',['../classcard.html#a7f900b843e44fb18364f32dbe6cdbc7a',1,'card::write_into_json()'],['../classdeck.html#a8d226fe699a36bf462010ba1f744fbeb',1,'deck::write_into_json()'],['../classtrick.html#a97176df194eae794691356cd83292b04',1,'trick::write_into_json()'],['../classgame__state.html#a54873cd18b46555915d150a6d8dd6f83',1,'game_state::write_into_json()'],['../classhand.html#a505a82447d0ae305dadcc9c4aa54071e',1,'hand::write_into_json()'],['../classplayer.html#a0cf13abfdb6b837faa88eda064bf51dc',1,'player::write_into_json()']]], + ['wxwidgets_6',['4.4 GUI with wxWidgets',['../index.html#autotoc_md27',1,'']]] ]; diff --git a/html/search/all_19.js b/html/search/all_19.js index a353cc4..688609a 100644 --- a/html/search/all_19.js +++ b/html/search/all_19.js @@ -1,4 +1,10 @@ var searchData= [ - ['🚀_20features_0',['🚀 Features',['../index.html#autotoc_md1',1,'']]] + ['_7ecard_0',['~card',['../classcard.html#ac7a5d8d53e8cc33f5c5a03d8ccb806c4',1,'card']]], + ['_7edeck_1',['~deck',['../classdeck.html#a63a688bda08bfef8d2c37d53523b7b12',1,'deck']]], + ['_7egame_5finstance_2',['~game_instance',['../classgame__instance.html#a1fa390603341beb15e09e5a4b03465c1',1,'game_instance']]], + ['_7egame_5fstate_3',['~game_state',['../classgame__state.html#a2fbc370f93617298719f61514afdb5bc',1,'game_state']]], + ['_7ehand_4',['~hand',['../classhand.html#af3ffc5e5b46f04b14f12a9fc130b220a',1,'hand']]], + ['_7eplayer_5',['~player',['../classplayer.html#a0a62c0208584465db2daa1ac6e15b1ad',1,'player']]], + ['_7etrick_6',['~trick',['../classtrick.html#a22c0b586f1d6c3baeb7bb0e22eb7dfe2',1,'trick']]] ]; diff --git a/html/search/all_1a.js b/html/search/all_1a.js index 00fe39a..a353cc4 100644 --- a/html/search/all_1a.js +++ b/html/search/all_1a.js @@ -1,13 +1,4 @@ var searchData= [ - ['query_20array_0',['Query Array',['../md_rapidjson_2doc_2tutorial_8zh-cn.html#QueryArray',1,'']]], - ['query_20object_1',['Query Object',['../md_rapidjson_2doc_2tutorial_8zh-cn.html#QueryObject',1,'']]], - ['query_20string_2',['Query String',['../md_rapidjson_2doc_2tutorial_8zh-cn.html#QueryString',1,'']]], - ['query_20value_3',['Query Value',['../md_rapidjson_2doc_2tutorial_8zh-cn.html#QueryValue',1,'']]], - ['querying_20number_4',['Querying Number',['../md_rapidjson_2doc_2tutorial_8zh-cn.html#QueryNumber',1,'']]], - ['queue_5',['Queue',['../class_queue.html',1,'']]], - ['queuenode_6',['QueueNode',['../class_queue_node.html',1,'']]], - ['quickly_7',['Quickly',['../md_googletest_2lib_2docs_2gmock__cook__book.html#autotoc_md192',1,'Writing New Action Templates Quickly'],['../md_googletest_2lib_2docs_2gmock__cook__book.html#QuickNewActions',1,'Writing New Actions Quickly'],['../md_googletest_2lib_2docs_2gmock__cook__book.html#NewMatchers',1,'Writing New Matchers Quickly'],['../md_googletest_2lib_2docs_2gmock__cook__book.html#autotoc_md184',1,'Writing New Parameterized Matchers Quickly']]], - ['quickstart_3a_20building_20with_20bazel_8',['Quickstart: Building with Bazel',['../md_googletest_2lib_2docs_2quickstart-bazel.html',1,'']]], - ['quickstart_3a_20building_20with_20cmake_9',['Quickstart: Building with CMake',['../md_googletest_2lib_2docs_2quickstart-cmake.html',1,'']]] + ['🚀_20features_0',['🚀 Features',['../index.html#autotoc_md1',1,'']]] ]; diff --git a/html/search/all_2.js b/html/search/all_2.js index 89e7938..7ca192c 100644 --- a/html/search/all_2.js +++ b/html/search/all_2.js @@ -1,6 +1,19 @@ var searchData= [ - ['3_20debugging_20messages_0',['4.2.3 Debugging Messages',['../index.html#autotoc_md15',1,'']]], - ['3_20game_20state_1',['4.3 Game State',['../index.html#autotoc_md16',1,'']]], - ['3_20run_20the_20game_2',['3 Run the Game',['../index.html#autotoc_md5',1,'']]] + ['2_201_201_20ubuntu_2024_2004_0',['2.1.1 Ubuntu 24.04',['../index.html#autotoc_md8',1,'']]], + ['2_201_202_20macos_20sequoia_1',['2.1.2 macOS Sequoia',['../index.html#autotoc_md9',1,'']]], + ['2_201_20macos_20sequoia_2',['2.2.1 macOS Sequoia',['../index.html#autotoc_md12',1,'']]], + ['2_201_20prepare_20os_20environment_3',['2.1 Prepare OS Environment',['../index.html#autotoc_md7',1,'']]], + ['2_201_20ubuntu_2024_2004_4',['2.2.1 Ubuntu 24.04',['../index.html#autotoc_md11',1,'']]], + ['2_202_201_20macos_20sequoia_5',['2.2.1 macOS Sequoia',['../index.html#autotoc_md12',1,'']]], + ['2_202_201_20ubuntu_2024_2004_6',['2.2.1 Ubuntu 24.04',['../index.html#autotoc_md11',1,'']]], + ['2_202_20compile_20code_7',['2.2 Compile Code',['../index.html#autotoc_md10',1,'']]], + ['2_202_20sending_20messages_8',['4.2.2 Sending messages',['../index.html#autotoc_md22',1,'']]], + ['2_203_20debugging_20messages_9',['4.2.3 Debugging Messages',['../index.html#autotoc_md25',1,'']]], + ['2_20compile_20code_10',['2.2 Compile Code',['../index.html#autotoc_md10',1,'']]], + ['2_20compile_20instructions_11',['2 Compile Instructions',['../index.html#autotoc_md6',1,'']]], + ['2_20events_12',['4.4.2 Events',['../index.html#autotoc_md29',1,'']]], + ['2_20macos_20sequoia_13',['2.1.2 macOS Sequoia',['../index.html#autotoc_md9',1,'']]], + ['2_20sending_20messages_14',['4.2.2 Sending messages',['../index.html#autotoc_md22',1,'']]], + ['24_2004_15',['24 04',['../index.html#autotoc_md8',1,'2.1.1 Ubuntu 24.04'],['../index.html#autotoc_md11',1,'2.2.1 Ubuntu 24.04']]] ]; diff --git a/html/search/all_3.js b/html/search/all_3.js index c71efc9..7a5cb00 100644 --- a/html/search/all_3.js +++ b/html/search/all_3.js @@ -1,14 +1,6 @@ var searchData= [ - ['4_201_20connection_20panel_0',['4.1 Connection Panel',['../index.html#autotoc_md7',1,'']]], - ['4_201_20structure_20important_20classes_1',['4.4.1 Structure & Important Classes',['../index.html#autotoc_md18',1,'']]], - ['4_202_202_20sending_20messages_2',['4.2.2 Sending messages',['../index.html#autotoc_md12',1,'']]], - ['4_202_203_20debugging_20messages_3',['4.2.3 Debugging Messages',['../index.html#autotoc_md15',1,'']]], - ['4_202_20events_4',['4.4.2 Events',['../index.html#autotoc_md19',1,'']]], - ['4_203_20game_20state_5',['4.3 Game State',['../index.html#autotoc_md16',1,'']]], - ['4_204_201_20structure_20important_20classes_6',['4.4.1 Structure & Important Classes',['../index.html#autotoc_md18',1,'']]], - ['4_204_202_20events_7',['4.4.2 Events',['../index.html#autotoc_md19',1,'']]], - ['4_204_20gui_20with_20wxwidgets_8',['4.4 GUI with wxWidgets',['../index.html#autotoc_md17',1,'']]], - ['4_20gui_20with_20wxwidgets_9',['4.4 GUI with wxWidgets',['../index.html#autotoc_md17',1,'']]], - ['4_20play_20the_20game_10',['4 Play the Game',['../index.html#autotoc_md6',1,'']]] + ['3_20debugging_20messages_0',['4.2.3 Debugging Messages',['../index.html#autotoc_md25',1,'']]], + ['3_20game_20state_1',['4.3 Game State',['../index.html#autotoc_md26',1,'']]], + ['3_20run_20the_20game_2',['3 Run the Game',['../index.html#autotoc_md14',1,'']]] ]; diff --git a/html/search/all_4.js b/html/search/all_4.js index 0108da9..798aca2 100644 --- a/html/search/all_4.js +++ b/html/search/all_4.js @@ -1,5 +1,14 @@ var searchData= [ - ['add_5fcard_0',['add_card',['../classtrick.html#a2d3b5aa88a1469dc3d58f30885752f5d',1,'trick::add_card()'],['../classhand.html#ad4749893f36ff1d6dcda3bb18eaedffb',1,'hand::add_card()'],['../classplayer.html#ab3b087d03dd2c81d893b2ffad459a26f',1,'player::add_card()']]], - ['add_5fplayer_1',['add_player',['../classgame__state.html#a4a4fde0700a05c589a6b9c4dbcffac18',1,'game_state']]] + ['4_201_20connection_20panel_0',['4.1 Connection Panel',['../index.html#autotoc_md17',1,'']]], + ['4_201_20structure_20important_20classes_1',['4.4.1 Structure & Important Classes',['../index.html#autotoc_md28',1,'']]], + ['4_202_202_20sending_20messages_2',['4.2.2 Sending messages',['../index.html#autotoc_md22',1,'']]], + ['4_202_203_20debugging_20messages_3',['4.2.3 Debugging Messages',['../index.html#autotoc_md25',1,'']]], + ['4_202_20events_4',['4.4.2 Events',['../index.html#autotoc_md29',1,'']]], + ['4_203_20game_20state_5',['4.3 Game State',['../index.html#autotoc_md26',1,'']]], + ['4_204_201_20structure_20important_20classes_6',['4.4.1 Structure & Important Classes',['../index.html#autotoc_md28',1,'']]], + ['4_204_202_20events_7',['4.4.2 Events',['../index.html#autotoc_md29',1,'']]], + ['4_204_20gui_20with_20wxwidgets_8',['4.4 GUI with wxWidgets',['../index.html#autotoc_md27',1,'']]], + ['4_20gui_20with_20wxwidgets_9',['4.4 GUI with wxWidgets',['../index.html#autotoc_md27',1,'']]], + ['4_20play_20the_20game_10',['4 Play the Game',['../index.html#autotoc_md16',1,'']]] ]; diff --git a/html/search/all_5.js b/html/search/all_5.js index 751db27..0108da9 100644 --- a/html/search/all_5.js +++ b/html/search/all_5.js @@ -1,4 +1,5 @@ var searchData= [ - ['base_5fclass_5fproperties_0',['base_class_properties',['../structclient__request_1_1base__class__properties.html',1,'client_request::base_class_properties'],['../structserver__response_1_1base__class__properties.html',1,'server_response::base_class_properties']]] + ['add_5fcard_0',['add_card',['../classtrick.html#a2d3b5aa88a1469dc3d58f30885752f5d',1,'trick::add_card()'],['../classhand.html#ad4749893f36ff1d6dcda3bb18eaedffb',1,'hand::add_card()'],['../classplayer.html#ab3b087d03dd2c81d893b2ffad459a26f',1,'player::add_card()']]], + ['add_5fplayer_1',['add_player',['../classgame__state.html#a4a4fde0700a05c589a6b9c4dbcffac18',1,'game_state']]] ]; diff --git a/html/search/all_6.js b/html/search/all_6.js index 687fe63..6a30117 100644 --- a/html/search/all_6.js +++ b/html/search/all_6.js @@ -1,13 +1,5 @@ var searchData= [ - ['card_0',['card',['../classcard.html',1,'card'],['../classcard.html#a764d65641c619aedf1842a30e54905b7',1,'card::card()']]], - ['classes_1',['4.4.1 Structure & Important Classes',['../index.html#autotoc_md18',1,'']]], - ['client_20server_3a_2',['Client -> Server:',['../index.html#autotoc_md13',1,'']]], - ['client_3a_3',['Server -> Client:',['../index.html#autotoc_md14',1,'']]], - ['client_5frequest_4',['client_request',['../classclient__request.html',1,'']]], - ['clientnetworkmanager_5',['ClientNetworkManager',['../class_client_network_manager.html',1,'']]], - ['compile_20instructions_6',['2 Compile Instructions',['../index.html#autotoc_md4',1,'']]], - ['connection_20panel_7',['4.1 Connection Panel',['../index.html#autotoc_md7',1,'']]], - ['connectionpanel_8',['ConnectionPanel',['../class_connection_panel.html',1,'']]], - ['connecttoserver_9',['connectToServer',['../class_game_controller.html#a023da21da545374ee46fb873149976c4',1,'GameController']]] + ['base_5fclass_5fproperties_0',['base_class_properties',['../structclient__request_1_1base__class__properties.html',1,'client_request::base_class_properties'],['../structserver__response_1_1base__class__properties.html',1,'server_response::base_class_properties']]], + ['buildgamestate_1',['buildGameState',['../class_main_game_panel_wizard.html#a83517cab2cccba78cce79450de3bb7f3',1,'MainGamePanelWizard']]] ]; diff --git a/html/search/all_7.js b/html/search/all_7.js index d24b544..b28be32 100644 --- a/html/search/all_7.js +++ b/html/search/all_7.js @@ -1,11 +1,16 @@ var searchData= [ - ['debugging_20messages_0',['4.2.3 Debugging Messages',['../index.html#autotoc_md15',1,'']]], - ['decide_5ftrump_5fcolor_5frequest_1',['decide_trump_color_request',['../classdecide__trump__color__request.html',1,'']]], - ['deck_2',['deck',['../classdeck.html',1,'deck'],['../classdeck.html#a2ff8465ba7b13201bdf650fe461b442e',1,'deck::deck()'],['../classdeck.html#ac18be42e5ad9ade42faed5be057f558b',1,'deck::deck(const std::vector< card * > &cards)']]], - ['derived_5ffrom_3',['derived_from',['../structvector__utils_1_1derived__from.html',1,'vector_utils']]], - ['deserialization_4',['Deserialization',['../index.html#autotoc_md11',1,'']]], - ['deserialization_20of_20messages_5',['Serialization & Deserialization of messages',['../index.html#autotoc_md9',1,'']]], - ['draw_5fcards_6',['draw_cards',['../classdeck.html#afa56e0fb7919ca1ceebae9b3bd79280d',1,'deck']]], - ['draw_5ftrump_7',['draw_trump',['../classdeck.html#ac5b85f992cf36d00873d2c7be7dc8c2b',1,'deck']]] + ['card_0',['card',['../classcard.html',1,'card'],['../classcard.html#a764d65641c619aedf1842a30e54905b7',1,'card::card()']]], + ['classes_1',['4.4.1 Structure & Important Classes',['../index.html#autotoc_md28',1,'']]], + ['client_20server_3a_2',['Client -> Server:',['../index.html#autotoc_md23',1,'']]], + ['client_3a_3',['Server -> Client:',['../index.html#autotoc_md24',1,'']]], + ['client_5frequest_4',['client_request',['../classclient__request.html',1,'']]], + ['clientnetworkmanager_5',['ClientNetworkManager',['../class_client_network_manager.html',1,'']]], + ['closegamewindow_6',['closeGameWindow',['../class_game_controller.html#a21eea505305d56439efb835e1e148c2f',1,'GameController']]], + ['code_7',['2.2 Compile Code',['../index.html#autotoc_md10',1,'']]], + ['compile_20code_8',['2.2 Compile Code',['../index.html#autotoc_md10',1,'']]], + ['compile_20instructions_9',['2 Compile Instructions',['../index.html#autotoc_md6',1,'']]], + ['connection_20panel_10',['4.1 Connection Panel',['../index.html#autotoc_md17',1,'']]], + ['connectionpanel_11',['ConnectionPanel',['../class_connection_panel.html',1,'']]], + ['connecttoserver_12',['connectToServer',['../class_game_controller.html#a023da21da545374ee46fb873149976c4',1,'GameController']]] ]; diff --git a/html/search/all_8.js b/html/search/all_8.js index d92332e..000a22d 100644 --- a/html/search/all_8.js +++ b/html/search/all_8.js @@ -1,9 +1,11 @@ var searchData= [ - ['engineering_20project_20wizard_0',['Software Engineering Project - Wizard',['../index.html',1,'']]], - ['errordialog_1',['ErrorDialog',['../class_error_dialog.html',1,'']]], - ['estimate_5ftricks_2',['estimate_tricks',['../classgame__state.html#ac4ebff625d83c633c124890537d60354',1,'game_state::estimate_tricks()'],['../classgame__instance.html#af1434756e3041deca68b4f4f84176f05',1,'game_instance::estimate_tricks()']]], - ['estimate_5ftricks_5frequest_3',['estimate_tricks_request',['../classestimate__tricks__request.html',1,'']]], - ['estimatetricks_4',['estimateTricks',['../class_game_controller.html#abd110563d0f37f06096176c199d22055',1,'GameController']]], - ['events_5',['4.4.2 Events',['../index.html#autotoc_md19',1,'']]] + ['debugging_20messages_0',['4.2.3 Debugging Messages',['../index.html#autotoc_md25',1,'']]], + ['decide_5ftrump_5fcolor_5frequest_1',['decide_trump_color_request',['../classdecide__trump__color__request.html',1,'']]], + ['deck_2',['deck',['../classdeck.html',1,'deck'],['../classdeck.html#a2ff8465ba7b13201bdf650fe461b442e',1,'deck::deck()'],['../classdeck.html#ac18be42e5ad9ade42faed5be057f558b',1,'deck::deck(const std::vector< card * > &cards)']]], + ['derived_5ffrom_3',['derived_from',['../structvector__utils_1_1derived__from.html',1,'vector_utils']]], + ['deserialization_4',['Deserialization',['../index.html#autotoc_md21',1,'']]], + ['deserialization_20of_20messages_5',['Serialization & Deserialization of messages',['../index.html#autotoc_md19',1,'']]], + ['draw_5fcards_6',['draw_cards',['../classdeck.html#afa56e0fb7919ca1ceebae9b3bd79280d',1,'deck']]], + ['draw_5ftrump_7',['draw_trump',['../classdeck.html#ac5b85f992cf36d00873d2c7be7dc8c2b',1,'deck']]] ]; diff --git a/html/search/all_9.js b/html/search/all_9.js index 1c20648..abaad46 100644 --- a/html/search/all_9.js +++ b/html/search/all_9.js @@ -1,7 +1,10 @@ var searchData= [ - ['features_0',['🚀 Features',['../index.html#autotoc_md1',1,'']]], - ['finish_5fgame_1',['finish_game',['../classgame__state.html#a67fdd4b5682715cd2d848031a9911b17',1,'game_state']]], - ['from_5fjson_2',['from_json',['../classcard.html#a48593187c9bff442d61f197991954011',1,'card::from_json()'],['../classdeck.html#abe8dbe828189696c22f35ac3ed4fd296',1,'deck::from_json()'],['../classtrick.html#a1a3d94f638672d3d60d596190ae59dfb',1,'trick::from_json()'],['../classgame__state.html#a794d484961c92b5b737586ec5599963f',1,'game_state::from_json()'],['../classhand.html#aa9cffdf932d80c7304a335074403e785',1,'hand::from_json()'],['../classplayer.html#a5955c5f26db6a08862ccfb443fbe99c5',1,'player::from_json()']]], - ['full_5fstate_5fresponse_3',['full_state_response',['../classfull__state__response.html',1,'']]] + ['engineering_20project_20wizard_0',['Software Engineering Project - Wizard',['../index.html',1,'']]], + ['environment_1',['2.1 Prepare OS Environment',['../index.html#autotoc_md7',1,'']]], + ['errordialog_2',['ErrorDialog',['../class_error_dialog.html',1,'']]], + ['estimate_5ftricks_3',['estimate_tricks',['../classgame__state.html#ac4ebff625d83c633c124890537d60354',1,'game_state::estimate_tricks()'],['../classgame__instance.html#af1434756e3041deca68b4f4f84176f05',1,'game_instance::estimate_tricks()']]], + ['estimate_5ftricks_5frequest_4',['estimate_tricks_request',['../classestimate__tricks__request.html',1,'']]], + ['estimatetricks_5',['estimateTricks',['../class_game_controller.html#abd110563d0f37f06096176c199d22055',1,'GameController']]], + ['events_6',['4.4.2 Events',['../index.html#autotoc_md29',1,'']]] ]; diff --git a/html/search/all_a.js b/html/search/all_a.js index 5cb1b1c..1c20648 100644 --- a/html/search/all_a.js +++ b/html/search/all_a.js @@ -1,39 +1,7 @@ var searchData= [ - ['game_0',['Game',['../index.html#autotoc_md5',1,'3 Run the Game'],['../index.html#autotoc_md6',1,'4 Play the Game']]], - ['game_20state_1',['4.3 Game State',['../index.html#autotoc_md16',1,'']]], - ['game_5finstance_2',['game_instance',['../classgame__instance.html',1,'game_instance'],['../classgame__instance.html#a2b1d00adf8c933a98698f972827e48b9',1,'game_instance::game_instance()']]], - ['game_5finstance_5fmanager_3',['game_instance_manager',['../classgame__instance__manager.html',1,'']]], - ['game_5fstate_4',['game_state',['../classgame__state.html',1,'game_state'],['../classgame__state.html#a0c10b830e222d726557c3c33685c595a',1,'game_state::game_state()']]], - ['gamecontroller_5',['GameController',['../class_game_controller.html',1,'']]], - ['gamewindow_6',['GameWindow',['../class_game_window.html',1,'']]], - ['get_5fcards_7',['get_cards',['../classhand.html#ad104b0376b1a13d987f349dd524ca47f',1,'hand']]], - ['get_5fcards_5fand_5fplayers_8',['get_cards_and_players',['../classtrick.html#a1d75f9e8fc94fd122adfc39a20089268',1,'trick']]], - ['get_5fcolor_9',['get_color',['../classcard.html#ab033bc0e71b09d3cf3ac28c2f1fbde18',1,'card']]], - ['get_5fcurrent_5fplayer_10',['get_current_player',['../classgame__state.html#a2d16f420a8aa651685461a5efb8bb600',1,'game_state']]], - ['get_5fgame_5fid_11',['get_game_id',['../classplayer.html#afeb6c5483a59042fcc4a3a2aed6a6a2c',1,'player']]], - ['get_5fgame_5fstate_12',['get_game_state',['../classgame__instance.html#a852c73a12031d7fbd2095530df595c5c',1,'game_instance']]], - ['get_5fhand_13',['get_hand',['../classplayer.html#af333dcbf7123726c9bda3ab94ba9ee6d',1,'player']]], - ['get_5fid_14',['get_id',['../classgame__instance.html#a72cd93738171ffc856c3d77df5f967da',1,'game_instance']]], - ['get_5flast_5ftrick_15',['get_last_trick',['../classgame__state.html#a4327f753f1f5341f9fe3774ea3fbc99b',1,'game_state']]], - ['get_5fmax_5fround_5fnumber_16',['get_max_round_number',['../classgame__state.html#aa75c4da6c0056e48e5040be8127d7473',1,'game_state']]], - ['get_5fnof_5fcards_17',['get_nof_cards',['../classhand.html#adc90d109b7b564a0dbca0b0798c99641',1,'hand::get_nof_cards()'],['../classplayer.html#a457c5ab90b0ecd610eead66b41c8333a',1,'player::get_nof_cards() const noexcept']]], - ['get_5fnof_5fpredicted_18',['get_nof_predicted',['../classplayer.html#a40333c302ff51707749c544930fb80aa',1,'player']]], - ['get_5fnof_5ftricks_19',['get_nof_tricks',['../classplayer.html#a5e3d1374aee685b08a29d0ac7cec3df4',1,'player']]], - ['get_5fnumber_5fof_5fremaining_5fcards_20',['get_number_of_remaining_cards',['../classdeck.html#ae1c7a4174108a14cb1180de1afdcb6d6',1,'deck']]], - ['get_5fplayer_5fname_21',['get_player_name',['../classplayer.html#a42d01dcf4cdbd452fc5dcaf5e6f21773',1,'player']]], - ['get_5fplayers_22',['get_players',['../classgame__state.html#abcaccd551f938f961d12266e34c037d2',1,'game_state']]], - ['get_5fround_5fnumber_23',['get_round_number',['../classgame__state.html#ab3ef836a1b3a1e2bc9e429a018c72eca',1,'game_state']]], - ['get_5fscores_24',['get_scores',['../classplayer.html#aef5c25a02a2fdbdb4d8270582faf5dac',1,'player']]], - ['get_5fstarting_5fplayer_25',['get_starting_player',['../classgame__state.html#af4c553229260e307ff1f78dd0c74506d',1,'game_state']]], - ['get_5ftrick_26',['get_trick',['../classgame__state.html#a472fd1721c7cc9e3689394f18c767bf9',1,'game_state']]], - ['get_5ftrick_5fcolor_27',['get_trick_color',['../classtrick.html#a41f315804ac73454c8e41438da20a9c3',1,'trick']]], - ['get_5ftrick_5festimate_5fsum_28',['get_trick_estimate_sum',['../classgame__state.html#aa5263d03c85bce1e9d252e9017cbe282',1,'game_state']]], - ['get_5ftrick_5fnumber_29',['get_trick_number',['../classgame__state.html#a3fce12f31ad0aab82b0d2da90e3e8e15',1,'game_state']]], - ['get_5ftrick_5fstarting_5fplayer_30',['get_trick_starting_player',['../classgame__state.html#aa40554d105939c5dce934daaa858c242',1,'game_state']]], - ['get_5ftrump_5fcolor_31',['get_trump_color',['../classtrick.html#a69c49e2968abb235a6c7148cb05b0e64',1,'trick::get_trump_color()'],['../classgame__state.html#abdf6c5116ed643773d676c90a05e6fe4',1,'game_state::get_trump_color()']]], - ['get_5fvalue_32',['get_value',['../classcard.html#a2baf8dfef09ac8c1a67b34c2e67186c3',1,'card']]], - ['get_5fwinner_33',['get_winner',['../classtrick.html#a4b93ae88c17db486d975408cd8cfad1b',1,'trick']]], - ['getmainthreadeventhandler_34',['getMainThreadEventHandler',['../class_game_controller.html#abec8c73ea01e4b7e01b2ca1d932e0c16',1,'GameController']]], - ['gui_20with_20wxwidgets_35',['4.4 GUI with wxWidgets',['../index.html#autotoc_md17',1,'']]] + ['features_0',['🚀 Features',['../index.html#autotoc_md1',1,'']]], + ['finish_5fgame_1',['finish_game',['../classgame__state.html#a67fdd4b5682715cd2d848031a9911b17',1,'game_state']]], + ['from_5fjson_2',['from_json',['../classcard.html#a48593187c9bff442d61f197991954011',1,'card::from_json()'],['../classdeck.html#abe8dbe828189696c22f35ac3ed4fd296',1,'deck::from_json()'],['../classtrick.html#a1a3d94f638672d3d60d596190ae59dfb',1,'trick::from_json()'],['../classgame__state.html#a794d484961c92b5b737586ec5599963f',1,'game_state::from_json()'],['../classhand.html#aa9cffdf932d80c7304a335074403e785',1,'hand::from_json()'],['../classplayer.html#a5955c5f26db6a08862ccfb443fbe99c5',1,'player::from_json()']]], + ['full_5fstate_5fresponse_3',['full_state_response',['../classfull__state__response.html',1,'']]] ]; diff --git a/html/search/all_b.js b/html/search/all_b.js index 22d1bbe..78442ce 100644 --- a/html/search/all_b.js +++ b/html/search/all_b.js @@ -1,4 +1,40 @@ var searchData= [ - ['hand_0',['hand',['../classhand.html',1,'hand'],['../classhand.html#ae8d7de2589266f57271ac191dab8cd64',1,'hand::hand()'],['../classhand.html#afb908b5b24b92eec58c6d39739093a84',1,'hand::hand(const std::string &id, const std::vector< card * > &cards)'],['../classhand.html#a4820b774c5446b60f74c6458691d1de8',1,'hand::hand(const std::string &id)']]] + ['game_0',['Game',['../index.html#autotoc_md14',1,'3 Run the Game'],['../index.html#autotoc_md16',1,'4 Play the Game']]], + ['game_20state_1',['4.3 Game State',['../index.html#autotoc_md26',1,'']]], + ['game_5finstance_2',['game_instance',['../classgame__instance.html',1,'game_instance'],['../classgame__instance.html#a2b1d00adf8c933a98698f972827e48b9',1,'game_instance::game_instance()']]], + ['game_5finstance_5fmanager_3',['game_instance_manager',['../classgame__instance__manager.html',1,'']]], + ['game_5fstate_4',['game_state',['../classgame__state.html',1,'game_state'],['../classgame__state.html#a0c10b830e222d726557c3c33685c595a',1,'game_state::game_state()']]], + ['gamecontroller_5',['GameController',['../class_game_controller.html',1,'']]], + ['gamewindow_6',['GameWindow',['../class_game_window.html',1,'']]], + ['get_5fcards_7',['get_cards',['../classhand.html#ad104b0376b1a13d987f349dd524ca47f',1,'hand']]], + ['get_5fcards_5fand_5fplayers_8',['get_cards_and_players',['../classtrick.html#a1d75f9e8fc94fd122adfc39a20089268',1,'trick']]], + ['get_5fcolor_9',['get_color',['../classcard.html#ab033bc0e71b09d3cf3ac28c2f1fbde18',1,'card']]], + ['get_5fcurrent_5fplayer_10',['get_current_player',['../classgame__state.html#a2d16f420a8aa651685461a5efb8bb600',1,'game_state']]], + ['get_5fgame_5fid_11',['get_game_id',['../classplayer.html#afeb6c5483a59042fcc4a3a2aed6a6a2c',1,'player']]], + ['get_5fgame_5fstate_12',['get_game_state',['../classgame__instance.html#a852c73a12031d7fbd2095530df595c5c',1,'game_instance']]], + ['get_5fhand_13',['get_hand',['../classplayer.html#af333dcbf7123726c9bda3ab94ba9ee6d',1,'player']]], + ['get_5fid_14',['get_id',['../classgame__instance.html#a72cd93738171ffc856c3d77df5f967da',1,'game_instance']]], + ['get_5flast_5ftrick_15',['get_last_trick',['../classgame__state.html#a4327f753f1f5341f9fe3774ea3fbc99b',1,'game_state']]], + ['get_5fmax_5fround_5fnumber_16',['get_max_round_number',['../classgame__state.html#aa75c4da6c0056e48e5040be8127d7473',1,'game_state']]], + ['get_5fnof_5fcards_17',['get_nof_cards',['../classhand.html#adc90d109b7b564a0dbca0b0798c99641',1,'hand::get_nof_cards()'],['../classplayer.html#a457c5ab90b0ecd610eead66b41c8333a',1,'player::get_nof_cards() const noexcept']]], + ['get_5fnof_5fpredicted_18',['get_nof_predicted',['../classplayer.html#a40333c302ff51707749c544930fb80aa',1,'player']]], + ['get_5fnof_5ftricks_19',['get_nof_tricks',['../classplayer.html#a5e3d1374aee685b08a29d0ac7cec3df4',1,'player']]], + ['get_5fnumber_5fof_5fremaining_5fcards_20',['get_number_of_remaining_cards',['../classdeck.html#ae1c7a4174108a14cb1180de1afdcb6d6',1,'deck']]], + ['get_5fplayer_5fname_21',['get_player_name',['../classplayer.html#a42d01dcf4cdbd452fc5dcaf5e6f21773',1,'player']]], + ['get_5fplayers_22',['get_players',['../classgame__state.html#abcaccd551f938f961d12266e34c037d2',1,'game_state']]], + ['get_5fround_5fnumber_23',['get_round_number',['../classgame__state.html#ab3ef836a1b3a1e2bc9e429a018c72eca',1,'game_state']]], + ['get_5fscores_24',['get_scores',['../classplayer.html#aef5c25a02a2fdbdb4d8270582faf5dac',1,'player']]], + ['get_5fstarting_5fplayer_25',['get_starting_player',['../classgame__state.html#af4c553229260e307ff1f78dd0c74506d',1,'game_state']]], + ['get_5ftrick_26',['get_trick',['../classgame__state.html#a472fd1721c7cc9e3689394f18c767bf9',1,'game_state']]], + ['get_5ftrick_5fcolor_27',['get_trick_color',['../classtrick.html#a41f315804ac73454c8e41438da20a9c3',1,'trick']]], + ['get_5ftrick_5festimate_5fsum_28',['get_trick_estimate_sum',['../classgame__state.html#aa5263d03c85bce1e9d252e9017cbe282',1,'game_state']]], + ['get_5ftrick_5fnumber_29',['get_trick_number',['../classgame__state.html#a3fce12f31ad0aab82b0d2da90e3e8e15',1,'game_state']]], + ['get_5ftrick_5fstarting_5fplayer_30',['get_trick_starting_player',['../classgame__state.html#aa40554d105939c5dce934daaa858c242',1,'game_state']]], + ['get_5ftrump_5fcard_5fvalue_31',['get_trump_card_value',['../classgame__state.html#a115a9b1dbb65db44669363b407aa62ac',1,'game_state']]], + ['get_5ftrump_5fcolor_32',['get_trump_color',['../classtrick.html#a69c49e2968abb235a6c7148cb05b0e64',1,'trick::get_trump_color()'],['../classgame__state.html#abdf6c5116ed643773d676c90a05e6fe4',1,'game_state::get_trump_color()']]], + ['get_5fvalue_33',['get_value',['../classcard.html#a2baf8dfef09ac8c1a67b34c2e67186c3',1,'card']]], + ['get_5fwinner_34',['get_winner',['../classtrick.html#a4b93ae88c17db486d975408cd8cfad1b',1,'trick']]], + ['getmainthreadeventhandler_35',['getMainThreadEventHandler',['../class_game_controller.html#abec8c73ea01e4b7e01b2ca1d932e0c16',1,'GameController']]], + ['gui_20with_20wxwidgets_36',['4.4 GUI with wxWidgets',['../index.html#autotoc_md27',1,'']]] ]; diff --git a/html/search/all_c.js b/html/search/all_c.js index 621911b..4a70403 100644 --- a/html/search/all_c.js +++ b/html/search/all_c.js @@ -1,15 +1,5 @@ var searchData= [ - ['imagepanel_0',['ImagePanel',['../class_image_panel.html',1,'']]], - ['important_20classes_1',['4.4.1 Structure & Important Classes',['../index.html#autotoc_md18',1,'']]], - ['init_2',['init',['../class_game_controller.html#a8889bad76bc35487d3391fb8a5791616',1,'GameController']]], - ['inputfield_3',['InputField',['../class_input_field.html',1,'']]], - ['instructions_4',['2 Compile Instructions',['../index.html#autotoc_md4',1,'']]], - ['interface_5',['Network Interface',['../index.html#autotoc_md8',1,'']]], - ['is_5fempty_6',['is_empty',['../classdeck.html#a6aef528ff7b9c608863cc77c19b7882d',1,'deck']]], - ['is_5festimation_5fphase_7',['is_estimation_phase',['../classgame__state.html#a88d19342ee76acc4660b3e56e8c126eb',1,'game_state']]], - ['is_5ffinished_8',['is_finished',['../classgame__state.html#a9b83de8a89e3bb506184492d22c3cf45',1,'game_state::is_finished()'],['../classgame__instance.html#a5a080dfced3d2d1c697e36160b996a9c',1,'game_instance::is_finished()']]], - ['is_5ffull_9',['is_full',['../classgame__state.html#ae161c283e275a57d71834754d11e9e40',1,'game_state::is_full()'],['../classgame__instance.html#a77d1f40b8727c74f278efe9168f26831',1,'game_instance::is_full()']]], - ['is_5fplayer_5fin_5fgame_10',['is_player_in_game',['../classgame__state.html#a371d6a6d84395b90c15d84549b05d553',1,'game_state']]], - ['is_5fstarted_11',['is_started',['../classgame__state.html#aa0092c41779f38eba5e921e43b38559c',1,'game_state::is_started()'],['../classgame__instance.html#a2c8a8be71f8c3016075cc08768ebbb64',1,'game_instance::is_started()']]] + ['hand_0',['hand',['../classhand.html',1,'hand'],['../classhand.html#ae8d7de2589266f57271ac191dab8cd64',1,'hand::hand()'],['../classhand.html#afb908b5b24b92eec58c6d39739093a84',1,'hand::hand(const std::string &id, const std::vector< card * > &cards)'],['../classhand.html#a4820b774c5446b60f74c6458691d1de8',1,'hand::hand(const std::string &id)']]], + ['has_5fleft_5fgame_1',['has_left_game',['../classplayer.html#aac1b87de3b686d8ee1049269f6c9f272',1,'player']]] ]; diff --git a/html/search/all_d.js b/html/search/all_d.js index 29ca06c..b8fabbb 100644 --- a/html/search/all_d.js +++ b/html/search/all_d.js @@ -1,5 +1,15 @@ var searchData= [ - ['join_5fgame_5frequest_0',['join_game_request',['../classjoin__game__request.html',1,'']]], - ['json_5futils_1',['json_utils',['../classjson__utils.html',1,'']]] + ['imagepanel_0',['ImagePanel',['../class_image_panel.html',1,'']]], + ['important_20classes_1',['4.4.1 Structure & Important Classes',['../index.html#autotoc_md28',1,'']]], + ['init_2',['init',['../class_game_controller.html#a8889bad76bc35487d3391fb8a5791616',1,'GameController']]], + ['inputfield_3',['InputField',['../class_input_field.html',1,'']]], + ['instructions_4',['2 Compile Instructions',['../index.html#autotoc_md6',1,'']]], + ['interface_5',['Network Interface',['../index.html#autotoc_md18',1,'']]], + ['is_5fempty_6',['is_empty',['../classdeck.html#a6aef528ff7b9c608863cc77c19b7882d',1,'deck']]], + ['is_5festimation_5fphase_7',['is_estimation_phase',['../classgame__state.html#a88d19342ee76acc4660b3e56e8c126eb',1,'game_state']]], + ['is_5ffinished_8',['is_finished',['../classgame__state.html#a9b83de8a89e3bb506184492d22c3cf45',1,'game_state::is_finished()'],['../classgame__instance.html#a5a080dfced3d2d1c697e36160b996a9c',1,'game_instance::is_finished()']]], + ['is_5ffull_9',['is_full',['../classgame__state.html#ae161c283e275a57d71834754d11e9e40',1,'game_state::is_full()'],['../classgame__instance.html#a77d1f40b8727c74f278efe9168f26831',1,'game_instance::is_full()']]], + ['is_5fplayer_5fin_5fgame_10',['is_player_in_game',['../classgame__state.html#a371d6a6d84395b90c15d84549b05d553',1,'game_state']]], + ['is_5fstarted_11',['is_started',['../classgame__state.html#aa0092c41779f38eba5e921e43b38559c',1,'game_state::is_started()'],['../classgame__instance.html#a2c8a8be71f8c3016075cc08768ebbb64',1,'game_instance::is_started()']]] ]; diff --git a/html/search/all_e.js b/html/search/all_e.js index 4326914..29ca06c 100644 --- a/html/search/all_e.js +++ b/html/search/all_e.js @@ -1,5 +1,5 @@ var searchData= [ - ['leave_5fgame_5frequest_0',['leave_game_request',['../classleave__game__request.html',1,'']]], - ['leavegame_1',['leaveGame',['../class_game_controller.html#a8d42b2e41759bfd65cdebad87437369e',1,'GameController']]] + ['join_5fgame_5frequest_0',['join_game_request',['../classjoin__game__request.html',1,'']]], + ['json_5futils_1',['json_utils',['../classjson__utils.html',1,'']]] ]; diff --git a/html/search/all_f.js b/html/search/all_f.js index bc23ecc..4326914 100644 --- a/html/search/all_f.js +++ b/html/search/all_f.js @@ -1,6 +1,5 @@ var searchData= [ - ['maingamepanelwizard_0',['MainGamePanelWizard',['../class_main_game_panel_wizard.html',1,'']]], - ['messages_1',['4.2.3 Debugging Messages',['../index.html#autotoc_md15',1,'']]], - ['messages_2',['messages',['../index.html#autotoc_md12',1,'4.2.2 Sending messages'],['../index.html#autotoc_md9',1,'Serialization & Deserialization of messages']]] + ['leave_5fgame_5frequest_0',['leave_game_request',['../classleave__game__request.html',1,'']]], + ['leavegame_1',['leaveGame',['../class_game_controller.html#a8d42b2e41759bfd65cdebad87437369e',1,'GameController']]] ]; diff --git a/html/search/functions_1.js b/html/search/functions_1.js index 0dd76f5..4b286c6 100644 --- a/html/search/functions_1.js +++ b/html/search/functions_1.js @@ -1,5 +1,4 @@ var searchData= [ - ['card_0',['card',['../classcard.html#a764d65641c619aedf1842a30e54905b7',1,'card']]], - ['connecttoserver_1',['connectToServer',['../class_game_controller.html#a023da21da545374ee46fb873149976c4',1,'GameController']]] + ['buildgamestate_0',['buildGameState',['../class_main_game_panel_wizard.html#a83517cab2cccba78cce79450de3bb7f3',1,'MainGamePanelWizard']]] ]; diff --git a/html/search/functions_10.js b/html/search/functions_10.js index bf6d760..86ce831 100644 --- a/html/search/functions_10.js +++ b/html/search/functions_10.js @@ -1,29 +1,6 @@ var searchData= [ - ['rapidjson_5fdisableif_5freturn_0',['RAPIDJSON_DISABLEIF_RETURN',['../class_generic_value.html#a4a4418a93777942e1fb7ea71f8aaf680',1,'GenericValue::RAPIDJSON_DISABLEIF_RETURN()'],['../class_generic_pointer.html#aaf4d7d852098878d24188d134182d42f',1,'GenericPointer::RAPIDJSON_DISABLEIF_RETURN()']]], - ['rawassign_1',['RawAssign',['../class_generic_value.html#abb8ea2dfbe74ff4ee7dac6be31317f81',1,'GenericValue']]], - ['rawnumber_2',['RawNumber',['../struct_base_reader_handler.html#a9ed0d83d5e6c8f5e4b32ca3735ff0bb7',1,'BaseReaderHandler']]], - ['rawvalue_3',['RawValue',['../class_pretty_writer.html#a440890a72408a150ef46edda6becdc94',1,'PrettyWriter::RawValue()'],['../class_writer.html#ae0d1615104e4e88040b9640e6784008a',1,'Writer::RawValue()']]], - ['read_4',['read',['../classsockpp_1_1stream__socket.html#af21195b2a3e57715633ddd1ef0e5ad4c',1,'sockpp::stream_socket::read(void *buf, size_t n)'],['../classsockpp_1_1stream__socket.html#af93451f736e136ee7fb3aaadb728b5bd',1,'sockpp::stream_socket::read(const std::vector< iovec > &ranges)']]], - ['read_5fn_5',['read_n',['../classsockpp_1_1stream__socket.html#aaddd96efc49c7a7c1c8460cc2d5690b0',1,'sockpp::stream_socket']]], - ['read_5ftimeout_6',['read_timeout',['../classsockpp_1_1stream__socket.html#a5bdd04eeedc1fb06194731834aff388d',1,'sockpp::stream_socket::read_timeout(const std::chrono::microseconds &to)'],['../classsockpp_1_1stream__socket.html#a2d9799fa7073b6e32d77969ae218c2da',1,'sockpp::stream_socket::read_timeout(const std::chrono::duration< Rep, Period > &to)']]], - ['readfile_7',['ReadFile',['../classupload_1_1_subversion_v_c_s.html#a601ffb1146763196a01ee546294248f2',1,'upload.SubversionVCS.ReadFile()'],['../namespacecpp_1_1utils.html#a6c7c7f6290e60b50b063b8ac7f6e9eec',1,'cpp.utils.ReadFile()']]], - ['realloc_8',['Realloc',['../class_memory_pool_allocator.html#a7c273279d361b207ff622d4bdfc63074',1,'MemoryPoolAllocator']]], - ['realmain_9',['RealMain',['../namespaceupload.html#a7cfc90ec8769d2c5d7fd0f4ca70ab028',1,'upload']]], - ['recv_10',['recv',['../classsockpp_1_1datagram__socket.html#a7d847d6fc22b561f354be2572b216d53',1,'sockpp::datagram_socket']]], - ['recv_5ffrom_11',['recv_from',['../classsockpp_1_1datagram__socket.html#a811729b400d0fb509285517b85f63099',1,'sockpp::datagram_socket::recv_from(void *buf, size_t n, int flags, sock_address *srcAddr=nullptr)'],['../classsockpp_1_1datagram__socket.html#a889c67f171e12412b5a63455a925676a',1,'sockpp::datagram_socket::recv_from(void *buf, size_t n, sock_address *srcAddr=nullptr)'],['../classsockpp_1_1datagram__socket__tmpl.html#a1cb29c310cd5aa4aab535d30433a4174',1,'sockpp::datagram_socket_tmpl::recv_from(void *buf, size_t n, int flags, ADDR *srcAddr)'],['../classsockpp_1_1datagram__socket__tmpl.html#ab1708f871b758248f3ee36d210125be0',1,'sockpp::datagram_socket_tmpl::recv_from(void *buf, size_t n, ADDR *srcAddr=nullptr)']]], - ['release_12',['release',['../classsockpp_1_1socket.html#a0abd1df80068ae0cba01a7875def7260',1,'sockpp::socket']]], - ['removelocations_13',['RemoveLocations',['../namespacegmock__output__test.html#a59c40167b074a2ef04aecc79a0273f13',1,'gmock_output_test']]], - ['removememoryaddresses_14',['RemoveMemoryAddresses',['../namespacegmock__output__test.html#ac16c3c4b4875becf250dd73beb381a82',1,'gmock_output_test']]], - ['removereportheaderandfooter_15',['RemoveReportHeaderAndFooter',['../namespacegmock__output__test.html#acb06643e5e0d0eb85a3bc067e09e56f9',1,'gmock_output_test']]], - ['removetestnamesofleakedmocks_16',['RemoveTestNamesOfLeakedMocks',['../namespacegmock__output__test.html#ad0a9e9474fb8cb1729c20bc51222c46e',1,'gmock_output_test']]], - ['requires_17',['Requires',['../classcpp_1_1ast_1_1_node.html#aec63b7dc43a288117d017baa9d042983',1,'cpp.ast.Node.Requires()'],['../classcpp_1_1ast_1_1_expr.html#a704c0220f8dc7f49607d6af3f3744cf9',1,'cpp.ast.Expr.Requires()'],['../classcpp_1_1ast_1_1_parameter.html#a6514b2e10c1818003d6df7e4e8385eb8',1,'cpp.ast.Parameter.Requires()'],['../classcpp_1_1ast_1_1_variable_declaration.html#a72eae8975219cb7ba0e989ceb2be7ac0',1,'cpp.ast.VariableDeclaration.Requires()'],['../classcpp_1_1ast_1_1_typedef.html#ad94253075cea5a5110bf5e9b8fe0ee61',1,'cpp.ast.Typedef.Requires()'],['../classcpp_1_1ast_1_1_class.html#ac1b332bf3c76a5e5e4b204200846cbd0',1,'cpp.ast.Class.Requires()'],['../classcpp_1_1ast_1_1_function.html#a6bfa2b0841e15075b951aa9330603ab5',1,'cpp.ast.Function.Requires()']]], - ['reset_18',['Reset',['../class_generic_schema_validator.html#a49efbbe098cb77728be3d48cafed17e4',1,'GenericSchemaValidator::Reset()'],['../class_writer.html#a8b53e8f137f7fcf694f5500711b3f58d',1,'Writer::Reset()']]], - ['reset_19',['reset',['../classsockpp_1_1socket.html#a4402f0ec2d73dbc43747cdb5bac386b8',1,'sockpp::socket']]], - ['resolve_5fname_20',['resolve_name',['../classsockpp_1_1inet6__address.html#a6445b401e068056926f873f70fad5d85',1,'sockpp::inet6_address::resolve_name()'],['../classsockpp_1_1inet__address.html#a5557693f023a3f494072a72cde1960f4',1,'sockpp::inet_address::resolve_name()']]], - ['runandverify_21',['RunAndVerify',['../classgoogletest-break-on-failure-unittest_1_1_g_test_break_on_failure_unit_test.html#aa10728830adf68f6c0fd9e8ff9a3e5a2',1,'googletest-break-on-failure-unittest.GTestBreakOnFailureUnitTest.RunAndVerify()'],['../classgoogletest-filter-unittest_1_1_g_test_filter_unit_test.html#a210d536f4dd4dc5d8ea687747ca8d6d5',1,'googletest-filter-unittest.GTestFilterUnitTest.RunAndVerify()'],['../classgoogletest-list-tests-unittest_1_1_g_test_list_tests_unit_test.html#a181f8f8424ac864380a56f443bd571e7',1,'googletest-list-tests-unittest.GTestListTestsUnitTest.RunAndVerify()'],['../classgoogletest-throw-on-failure-test_1_1_throw_on_failure_test.html#a4438abd96792c91b81e3bae28fc27087',1,'googletest-throw-on-failure-test.ThrowOnFailureTest.RunAndVerify()']]], - ['runandverifyallowingdisabled_22',['RunAndVerifyAllowingDisabled',['../classgoogletest-filter-unittest_1_1_g_test_filter_unit_test.html#a8ec218a765232f76b13c81f17c8ee11f',1,'googletest-filter-unittest::GTestFilterUnitTest']]], - ['runandverifywithsharding_23',['RunAndVerifyWithSharding',['../classgoogletest-filter-unittest_1_1_g_test_filter_unit_test.html#a8c4225edcc9ca56e44976fa0d7d84d0b',1,'googletest-filter-unittest::GTestFilterUnitTest']]], - ['runshellwithreturncode_24',['RunShellWithReturnCode',['../namespaceupload.html#ad776c093afe992c8e51eeb3d5c794f72',1,'upload']]], - ['runwithflag_25',['RunWithFlag',['../namespacegtest__help__test.html#a5aa27057b0ddd8f10405b613d6d3b057',1,'gtest_help_test']]] + ['wrap_5fup_5fround_0',['wrap_up_round',['../classgame__state.html#ad2e967638043670ebae93dd6ec32e91e',1,'game_state::wrap_up_round()'],['../classplayer.html#a193bcc63da13e5bc98eb46ed99381302',1,'player::wrap_up_round()']]], + ['wrap_5fup_5ftrick_1',['wrap_up_trick',['../classtrick.html#a384560623ffaf776797948cf35197c73',1,'trick']]], + ['write_5finto_5fjson_2',['write_into_json',['../classcard.html#a7f900b843e44fb18364f32dbe6cdbc7a',1,'card::write_into_json()'],['../classdeck.html#a8d226fe699a36bf462010ba1f744fbeb',1,'deck::write_into_json()'],['../classtrick.html#a97176df194eae794691356cd83292b04',1,'trick::write_into_json()'],['../classgame__state.html#a54873cd18b46555915d150a6d8dd6f83',1,'game_state::write_into_json()'],['../classhand.html#a505a82447d0ae305dadcc9c4aa54071e',1,'hand::write_into_json()'],['../classplayer.html#a0cf13abfdb6b837faa88eda064bf51dc',1,'player::write_into_json()']]] ]; diff --git a/html/search/functions_11.js b/html/search/functions_11.js index 9499c28..688609a 100644 --- a/html/search/functions_11.js +++ b/html/search/functions_11.js @@ -1,37 +1,10 @@ var searchData= [ - ['schemavalidatingreader_0',['SchemaValidatingReader',['../class_schema_validating_reader.html#ae7945b71687ad3dd13b9c3d096892eac',1,'SchemaValidatingReader']]], - ['send_1',['Send',['../classupload_1_1_abstract_rpc_server.html#a9785441d36f25c0d36a9e6f5593e7177',1,'upload::AbstractRpcServer']]], - ['send_2',['send',['../classsockpp_1_1datagram__socket.html#acba5fa2b647721669adb847d4d64c33a',1,'sockpp::datagram_socket::send(const void *buf, size_t n, int flags=0)'],['../classsockpp_1_1datagram__socket.html#a0e15202136578a90c650b2352f9b78c4',1,'sockpp::datagram_socket::send(const std::string &s, int flags=0)']]], - ['send_5fto_3',['send_to',['../classsockpp_1_1datagram__socket.html#a26d63beaa398daa5b3ad35bc4707654a',1,'sockpp::datagram_socket::send_to(const void *buf, size_t n, int flags, const sock_address &addr)'],['../classsockpp_1_1datagram__socket.html#a36335c34d7f6913338720ab88c8ae7cf',1,'sockpp::datagram_socket::send_to(const std::string &s, int flags, const sock_address &addr)'],['../classsockpp_1_1datagram__socket.html#a3149c910f9717d1e4f08d9dd1f3a8072',1,'sockpp::datagram_socket::send_to(const void *buf, size_t n, const sock_address &addr)'],['../classsockpp_1_1datagram__socket.html#ae8d6c5a694d1d78390f76f7ed3157c7c',1,'sockpp::datagram_socket::send_to(const std::string &s, const sock_address &addr)'],['../classsockpp_1_1datagram__socket__tmpl.html#a0a5fd99074396cedff497a19a5980359',1,'sockpp::datagram_socket_tmpl::send_to(const void *buf, size_t n, int flags, const ADDR &addr)'],['../classsockpp_1_1datagram__socket__tmpl.html#acc90de2752b2d9dea2373ea71585f71f',1,'sockpp::datagram_socket_tmpl::send_to(const std::string &s, int flags, const ADDR &addr)'],['../classsockpp_1_1datagram__socket__tmpl.html#afae659e70279ba3754615764a57ccc97',1,'sockpp::datagram_socket_tmpl::send_to(const void *buf, size_t n, const ADDR &addr)'],['../classsockpp_1_1datagram__socket__tmpl.html#aae6d63a767e1bfef420c0b70e1e84622',1,'sockpp::datagram_socket_tmpl::send_to(const std::string &s, const ADDR &addr)']]], - ['set_4',['Set',['../struct_parse_result.html#aa81b4a7b776b77216cb752385203a8c1',1,'ParseResult']]], - ['set_5flast_5ferror_5',['set_last_error',['../classsockpp_1_1socket.html#aecb6b2e902024abab0ea06274caa6091',1,'sockpp::socket']]], - ['set_5fnon_5fblocking_6',['set_non_blocking',['../classsockpp_1_1socket.html#aa7af5c7eb180844e6bef279c4f98b3aa',1,'sockpp::socket']]], - ['set_5foption_7',['set_option',['../classsockpp_1_1socket.html#ada9899177922a6ea1041cb489de8b8b9',1,'sockpp::socket::set_option(int level, int optname, const void *optval, socklen_t optlen)'],['../classsockpp_1_1socket.html#a4472948e84bc530d9cb8220195a9b3e4',1,'sockpp::socket::set_option(int level, int optname, const T &val)']]], - ['setenvvar_8',['SetEnvVar',['../namespacegtest__test__utils.html#abece99ff6c6b9c882ab12c15793898bf',1,'gtest_test_utils']]], - ['setformatoptions_9',['SetFormatOptions',['../class_pretty_writer.html#aade3381a128071f1da060f5f3075de10',1,'PrettyWriter']]], - ['setindent_10',['SetIndent',['../class_pretty_writer.html#abbdc83ce02cf4a811a7355aa3879b45a',1,'PrettyWriter']]], - ['setmaxdecimalplaces_11',['SetMaxDecimalPlaces',['../class_writer.html#a58e3f94dc5af1432a8eace5ba427eca7',1,'Writer']]], - ['setobjectraw_12',['SetObjectRaw',['../class_generic_value.html#a26c8ec7d68858df1038506df7fcff22d',1,'GenericValue']]], - ['setstringraw_13',['SetStringRaw',['../class_generic_value.html#a1451603922dcdf34976f125dc60f70ee',1,'GenericValue::SetStringRaw(StringRefType s) RAPIDJSON_NOEXCEPT'],['../class_generic_value.html#ad3d91db36dfdbfc1af40a79aae07723c',1,'GenericValue::SetStringRaw(StringRefType s, Allocator &allocator)']]], - ['setup_14',['setUp',['../classgoogletest-filter-unittest_1_1_g_test_filter_unit_test.html#a80e82b6c777fbbf575ad83cb8d2ae56c',1,'googletest-filter-unittest::GTestFilterUnitTest']]], - ['shutdown_15',['shutdown',['../classsockpp_1_1socket.html#a51200dd862a0d310c364f78cbbfeb9fc',1,'sockpp::socket']]], - ['size_16',['Size',['../class_memory_pool_allocator.html#ae7fcf0341c13e899cf488bc7c8949956',1,'MemoryPoolAllocator']]], - ['size_17',['size',['../classsockpp_1_1inet6__address.html#a95222d4e66e80baa5d1de77d89975fdf',1,'sockpp::inet6_address::size()'],['../classsockpp_1_1inet__address.html#a5dccbcbc7782717e4056d4b7b81c638f',1,'sockpp::inet_address::size()'],['../classsockpp_1_1sock__address.html#adf9f4a69071562366ea6d5e50258c281',1,'sockpp::sock_address::size()'],['../classsockpp_1_1sock__address__any.html#ae914212d52fa92d601d2df01bf638a59',1,'sockpp::sock_address_any::size()'],['../classsockpp_1_1unix__address.html#a7e47141464e5c8b37f968bd08fae7b6f',1,'sockpp::unix_address::size()']]], - ['skipwhitespace_18',['SkipWhitespace',['../reader_8h.html#a60338858b2582eca23f3e509a2d82e0e',1,'reader.h']]], - ['sock_5faddress_5fany_19',['sock_address_any',['../classsockpp_1_1sock__address__any.html#a9e381346631476b0e5841547f99b869d',1,'sockpp::sock_address_any::sock_address_any()'],['../classsockpp_1_1sock__address__any.html#a08fff2d8494cadf11c9c1caaedecdbca',1,'sockpp::sock_address_any::sock_address_any(const sockaddr *addr, socklen_t n)'],['../classsockpp_1_1sock__address__any.html#aaac74e3cbc17ae0ece3cf4f9cdc41930',1,'sockpp::sock_address_any::sock_address_any(const sockaddr_storage &addr, socklen_t n)'],['../classsockpp_1_1sock__address__any.html#a0499be2989cb45f61b7f2898442c3fd1',1,'sockpp::sock_address_any::sock_address_any(const sock_address &addr)']]], - ['sockaddr_5fin6_5fptr_20',['sockaddr_in6_ptr',['../classsockpp_1_1inet6__address.html#abed5cdd4f7264045c9fad062ff85e487',1,'sockpp::inet6_address::sockaddr_in6_ptr() const'],['../classsockpp_1_1inet6__address.html#a1f32eb0e5aa73525d1c751e546445211',1,'sockpp::inet6_address::sockaddr_in6_ptr()']]], - ['sockaddr_5fin_5fptr_21',['sockaddr_in_ptr',['../classsockpp_1_1inet__address.html#a66a5477a342b9ea7d375d144932d33cf',1,'sockpp::inet_address::sockaddr_in_ptr() const'],['../classsockpp_1_1inet__address.html#ae06ee908691549333f4195465bb34772',1,'sockpp::inet_address::sockaddr_in_ptr()']]], - ['sockaddr_5fptr_22',['sockaddr_ptr',['../classsockpp_1_1inet6__address.html#a77e2640d6cb2e1bba90f0be2bcac5d53',1,'sockpp::inet6_address::sockaddr_ptr() const override'],['../classsockpp_1_1inet6__address.html#ac21f057c7e4239d372c119f9c7895d25',1,'sockpp::inet6_address::sockaddr_ptr() override'],['../classsockpp_1_1inet__address.html#aac88821bd19b6d620d904477745052c9',1,'sockpp::inet_address::sockaddr_ptr() const override'],['../classsockpp_1_1inet__address.html#ad717331ae1193d9006feaee5729c6a77',1,'sockpp::inet_address::sockaddr_ptr() override'],['../classsockpp_1_1sock__address.html#a024c74ac9d3fe8cd5284b82f1f2d33e2',1,'sockpp::sock_address::sockaddr_ptr()=0'],['../classsockpp_1_1sock__address.html#a3a9cb6445288251aa463529d84b7801d',1,'sockpp::sock_address::sockaddr_ptr() const =0'],['../classsockpp_1_1sock__address__any.html#af030f6f0b7f0ac07f09af19d57a6d66e',1,'sockpp::sock_address_any::sockaddr_ptr() const override'],['../classsockpp_1_1sock__address__any.html#aa403f8eba5ab4618eb7add965b567fa2',1,'sockpp::sock_address_any::sockaddr_ptr() override'],['../classsockpp_1_1unix__address.html#a060d5916e8f15be9f67025a0f127fe20',1,'sockpp::unix_address::sockaddr_ptr() const override'],['../classsockpp_1_1unix__address.html#a5179f79b4e154622f46ddfd1ea42a9e9',1,'sockpp::unix_address::sockaddr_ptr() override']]], - ['sockaddr_5fun_5fptr_23',['sockaddr_un_ptr',['../classsockpp_1_1unix__address.html#a0a542ff0c2ea85a1a46435f81be40ed9',1,'sockpp::unix_address::sockaddr_un_ptr() const'],['../classsockpp_1_1unix__address.html#a0e481ff033218f3fcd7980c3122b56a5',1,'sockpp::unix_address::sockaddr_un_ptr()']]], - ['socket_24',['socket',['../classsockpp_1_1socket.html#a90d44072dec5583ebf7d982e1a7677fc',1,'sockpp::socket::socket()'],['../classsockpp_1_1socket.html#ad267df5428e77f8f43cdc5e117a0085e',1,'sockpp::socket::socket(socket_t h)'],['../classsockpp_1_1socket.html#a40ff702303f371308967604a85bc39d5',1,'sockpp::socket::socket(socket &&sock) noexcept']]], - ['splitpatch_25',['SplitPatch',['../namespaceupload.html#ace170a709228951af58ac3b49f0a3e15',1,'upload']]], - ['statusupdate_26',['StatusUpdate',['../namespaceupload.html#a68fb71b953a98818b5dfdcfcb90dda07',1,'upload']]], - ['stream_5fsocket_27',['stream_socket',['../classsockpp_1_1stream__socket.html#aed8f2b6b36a75f1e148ecfcb89c4611c',1,'sockpp::stream_socket::stream_socket()'],['../classsockpp_1_1stream__socket.html#a94c19e13af42c01ce4372db3a5dc8af6',1,'sockpp::stream_socket::stream_socket(socket_t handle)'],['../classsockpp_1_1stream__socket.html#a38fc9bf4dc6ed65670cb2efd1cff805a',1,'sockpp::stream_socket::stream_socket(stream_socket &&sock)']]], - ['stream_5fsocket_5ftmpl_28',['stream_socket_tmpl',['../classsockpp_1_1stream__socket__tmpl.html#a694b75998fac6bda8efbd8a950ec10e6',1,'sockpp::stream_socket_tmpl::stream_socket_tmpl()'],['../classsockpp_1_1stream__socket__tmpl.html#a1a854b3b25714f167bdedb7505c4826e',1,'sockpp::stream_socket_tmpl::stream_socket_tmpl(socket_t handle)'],['../classsockpp_1_1stream__socket__tmpl.html#abe044c914c2059fd8c82b13bbbb665d0',1,'sockpp::stream_socket_tmpl::stream_socket_tmpl(stream_socket &&sock)'],['../classsockpp_1_1stream__socket__tmpl.html#acb8dd03f5a6a7bc0f5a50598659e4d04',1,'sockpp::stream_socket_tmpl::stream_socket_tmpl(stream_socket_tmpl &&sock)']]], - ['string_29',['String',['../class_pretty_writer.html#a7e85689355a827d273f272c26b447225',1,'PrettyWriter::String()'],['../class_writer.html#a2a2c6f51644b2013471aec4dac0d7466',1,'Writer::String()']]], - ['stringref_30',['StringRef',['../struct_generic_string_ref.html#aa6b9fd9f6aa49405a574c362ba9af6b5',1,'GenericStringRef::StringRef(const CharType *str)'],['../struct_generic_string_ref.html#a578c51ab574a50a9c760b9da7c7562f2',1,'GenericStringRef::StringRef(const CharType *str, size_t length)'],['../document_8h.html#aa6b9fd9f6aa49405a574c362ba9af6b5',1,'StringRef(const CharType *str): document.h'],['../document_8h.html#a578c51ab574a50a9c760b9da7c7562f2',1,'StringRef(const CharType *str, size_t length): document.h']]], - ['stripleadingwhitespace_31',['StripLeadingWhitespace',['../classcpp_1_1gmock__class__test_1_1_test_case.html#ac8d2fe29fe33f8554ef45c89091e5028',1,'cpp::gmock_class_test::TestCase']]], - ['swap_32',['Swap',['../class_generic_document.html#a1c3ab2d23fcced40fced7409b9d4a1d2',1,'GenericDocument::Swap()'],['../class_generic_pointer.html#af148818f7c2b10243221953d887044c6',1,'GenericPointer::Swap()']]], - ['sys_5ferror_33',['sys_error',['../classsockpp_1_1sys__error.html#a2e0321bd216e0cb1e478bbacfa498985',1,'sockpp::sys_error::sys_error()'],['../classsockpp_1_1sys__error.html#a4ed0ee66fe47f37294c86747515e3c62',1,'sockpp::sys_error::sys_error(int err)']]] + ['_7ecard_0',['~card',['../classcard.html#ac7a5d8d53e8cc33f5c5a03d8ccb806c4',1,'card']]], + ['_7edeck_1',['~deck',['../classdeck.html#a63a688bda08bfef8d2c37d53523b7b12',1,'deck']]], + ['_7egame_5finstance_2',['~game_instance',['../classgame__instance.html#a1fa390603341beb15e09e5a4b03465c1',1,'game_instance']]], + ['_7egame_5fstate_3',['~game_state',['../classgame__state.html#a2fbc370f93617298719f61514afdb5bc',1,'game_state']]], + ['_7ehand_4',['~hand',['../classhand.html#af3ffc5e5b46f04b14f12a9fc130b220a',1,'hand']]], + ['_7eplayer_5',['~player',['../classplayer.html#a0a62c0208584465db2daa1ac6e15b1ad',1,'player']]], + ['_7etrick_6',['~trick',['../classtrick.html#a22c0b586f1d6c3baeb7bb0e22eb7dfe2',1,'trick']]] ]; diff --git a/html/search/functions_2.js b/html/search/functions_2.js index 9000e3c..eca9207 100644 --- a/html/search/functions_2.js +++ b/html/search/functions_2.js @@ -1,6 +1,6 @@ var searchData= [ - ['deck_0',['deck',['../classdeck.html#a2ff8465ba7b13201bdf650fe461b442e',1,'deck::deck()'],['../classdeck.html#ac18be42e5ad9ade42faed5be057f558b',1,'deck::deck(const std::vector< card * > &cards)']]], - ['draw_5fcards_1',['draw_cards',['../classdeck.html#afa56e0fb7919ca1ceebae9b3bd79280d',1,'deck']]], - ['draw_5ftrump_2',['draw_trump',['../classdeck.html#ac5b85f992cf36d00873d2c7be7dc8c2b',1,'deck']]] + ['card_0',['card',['../classcard.html#a764d65641c619aedf1842a30e54905b7',1,'card']]], + ['closegamewindow_1',['closeGameWindow',['../class_game_controller.html#a21eea505305d56439efb835e1e148c2f',1,'GameController']]], + ['connecttoserver_2',['connectToServer',['../class_game_controller.html#a023da21da545374ee46fb873149976c4',1,'GameController']]] ]; diff --git a/html/search/functions_3.js b/html/search/functions_3.js index cefaa94..9000e3c 100644 --- a/html/search/functions_3.js +++ b/html/search/functions_3.js @@ -1,5 +1,6 @@ var searchData= [ - ['estimate_5ftricks_0',['estimate_tricks',['../classgame__state.html#ac4ebff625d83c633c124890537d60354',1,'game_state::estimate_tricks()'],['../classgame__instance.html#af1434756e3041deca68b4f4f84176f05',1,'game_instance::estimate_tricks()']]], - ['estimatetricks_1',['estimateTricks',['../class_game_controller.html#abd110563d0f37f06096176c199d22055',1,'GameController']]] + ['deck_0',['deck',['../classdeck.html#a2ff8465ba7b13201bdf650fe461b442e',1,'deck::deck()'],['../classdeck.html#ac18be42e5ad9ade42faed5be057f558b',1,'deck::deck(const std::vector< card * > &cards)']]], + ['draw_5fcards_1',['draw_cards',['../classdeck.html#afa56e0fb7919ca1ceebae9b3bd79280d',1,'deck']]], + ['draw_5ftrump_2',['draw_trump',['../classdeck.html#ac5b85f992cf36d00873d2c7be7dc8c2b',1,'deck']]] ]; diff --git a/html/search/functions_4.js b/html/search/functions_4.js index f2110a3..cefaa94 100644 --- a/html/search/functions_4.js +++ b/html/search/functions_4.js @@ -1,5 +1,5 @@ var searchData= [ - ['finish_5fgame_0',['finish_game',['../classgame__state.html#a67fdd4b5682715cd2d848031a9911b17',1,'game_state']]], - ['from_5fjson_1',['from_json',['../classcard.html#a48593187c9bff442d61f197991954011',1,'card::from_json()'],['../classdeck.html#abe8dbe828189696c22f35ac3ed4fd296',1,'deck::from_json()'],['../classtrick.html#a1a3d94f638672d3d60d596190ae59dfb',1,'trick::from_json()'],['../classgame__state.html#a794d484961c92b5b737586ec5599963f',1,'game_state::from_json()'],['../classhand.html#aa9cffdf932d80c7304a335074403e785',1,'hand::from_json()'],['../classplayer.html#a5955c5f26db6a08862ccfb443fbe99c5',1,'player::from_json()']]] + ['estimate_5ftricks_0',['estimate_tricks',['../classgame__state.html#ac4ebff625d83c633c124890537d60354',1,'game_state::estimate_tricks()'],['../classgame__instance.html#af1434756e3041deca68b4f4f84176f05',1,'game_instance::estimate_tricks()']]], + ['estimatetricks_1',['estimateTricks',['../class_game_controller.html#abd110563d0f37f06096176c199d22055',1,'GameController']]] ]; diff --git a/html/search/functions_5.js b/html/search/functions_5.js index b3255d1..f2110a3 100644 --- a/html/search/functions_5.js +++ b/html/search/functions_5.js @@ -1,33 +1,5 @@ var searchData= [ - ['game_5finstance_0',['game_instance',['../classgame__instance.html#a2b1d00adf8c933a98698f972827e48b9',1,'game_instance']]], - ['game_5fstate_1',['game_state',['../classgame__state.html#a0c10b830e222d726557c3c33685c595a',1,'game_state']]], - ['get_5fcards_2',['get_cards',['../classhand.html#ad104b0376b1a13d987f349dd524ca47f',1,'hand']]], - ['get_5fcards_5fand_5fplayers_3',['get_cards_and_players',['../classtrick.html#a1d75f9e8fc94fd122adfc39a20089268',1,'trick']]], - ['get_5fcolor_4',['get_color',['../classcard.html#ab033bc0e71b09d3cf3ac28c2f1fbde18',1,'card']]], - ['get_5fcurrent_5fplayer_5',['get_current_player',['../classgame__state.html#a2d16f420a8aa651685461a5efb8bb600',1,'game_state']]], - ['get_5fgame_5fid_6',['get_game_id',['../classplayer.html#afeb6c5483a59042fcc4a3a2aed6a6a2c',1,'player']]], - ['get_5fgame_5fstate_7',['get_game_state',['../classgame__instance.html#a852c73a12031d7fbd2095530df595c5c',1,'game_instance']]], - ['get_5fhand_8',['get_hand',['../classplayer.html#af333dcbf7123726c9bda3ab94ba9ee6d',1,'player']]], - ['get_5fid_9',['get_id',['../classgame__instance.html#a72cd93738171ffc856c3d77df5f967da',1,'game_instance']]], - ['get_5flast_5ftrick_10',['get_last_trick',['../classgame__state.html#a4327f753f1f5341f9fe3774ea3fbc99b',1,'game_state']]], - ['get_5fmax_5fround_5fnumber_11',['get_max_round_number',['../classgame__state.html#aa75c4da6c0056e48e5040be8127d7473',1,'game_state']]], - ['get_5fnof_5fcards_12',['get_nof_cards',['../classhand.html#adc90d109b7b564a0dbca0b0798c99641',1,'hand::get_nof_cards()'],['../classplayer.html#a457c5ab90b0ecd610eead66b41c8333a',1,'player::get_nof_cards() const noexcept']]], - ['get_5fnof_5fpredicted_13',['get_nof_predicted',['../classplayer.html#a40333c302ff51707749c544930fb80aa',1,'player']]], - ['get_5fnof_5ftricks_14',['get_nof_tricks',['../classplayer.html#a5e3d1374aee685b08a29d0ac7cec3df4',1,'player']]], - ['get_5fnumber_5fof_5fremaining_5fcards_15',['get_number_of_remaining_cards',['../classdeck.html#ae1c7a4174108a14cb1180de1afdcb6d6',1,'deck']]], - ['get_5fplayer_5fname_16',['get_player_name',['../classplayer.html#a42d01dcf4cdbd452fc5dcaf5e6f21773',1,'player']]], - ['get_5fplayers_17',['get_players',['../classgame__state.html#abcaccd551f938f961d12266e34c037d2',1,'game_state']]], - ['get_5fround_5fnumber_18',['get_round_number',['../classgame__state.html#ab3ef836a1b3a1e2bc9e429a018c72eca',1,'game_state']]], - ['get_5fscores_19',['get_scores',['../classplayer.html#aef5c25a02a2fdbdb4d8270582faf5dac',1,'player']]], - ['get_5fstarting_5fplayer_20',['get_starting_player',['../classgame__state.html#af4c553229260e307ff1f78dd0c74506d',1,'game_state']]], - ['get_5ftrick_21',['get_trick',['../classgame__state.html#a472fd1721c7cc9e3689394f18c767bf9',1,'game_state']]], - ['get_5ftrick_5fcolor_22',['get_trick_color',['../classtrick.html#a41f315804ac73454c8e41438da20a9c3',1,'trick']]], - ['get_5ftrick_5festimate_5fsum_23',['get_trick_estimate_sum',['../classgame__state.html#aa5263d03c85bce1e9d252e9017cbe282',1,'game_state']]], - ['get_5ftrick_5fnumber_24',['get_trick_number',['../classgame__state.html#a3fce12f31ad0aab82b0d2da90e3e8e15',1,'game_state']]], - ['get_5ftrick_5fstarting_5fplayer_25',['get_trick_starting_player',['../classgame__state.html#aa40554d105939c5dce934daaa858c242',1,'game_state']]], - ['get_5ftrump_5fcolor_26',['get_trump_color',['../classtrick.html#a69c49e2968abb235a6c7148cb05b0e64',1,'trick::get_trump_color()'],['../classgame__state.html#abdf6c5116ed643773d676c90a05e6fe4',1,'game_state::get_trump_color()']]], - ['get_5fvalue_27',['get_value',['../classcard.html#a2baf8dfef09ac8c1a67b34c2e67186c3',1,'card']]], - ['get_5fwinner_28',['get_winner',['../classtrick.html#a4b93ae88c17db486d975408cd8cfad1b',1,'trick']]], - ['getmainthreadeventhandler_29',['getMainThreadEventHandler',['../class_game_controller.html#abec8c73ea01e4b7e01b2ca1d932e0c16',1,'GameController']]] + ['finish_5fgame_0',['finish_game',['../classgame__state.html#a67fdd4b5682715cd2d848031a9911b17',1,'game_state']]], + ['from_5fjson_1',['from_json',['../classcard.html#a48593187c9bff442d61f197991954011',1,'card::from_json()'],['../classdeck.html#abe8dbe828189696c22f35ac3ed4fd296',1,'deck::from_json()'],['../classtrick.html#a1a3d94f638672d3d60d596190ae59dfb',1,'trick::from_json()'],['../classgame__state.html#a794d484961c92b5b737586ec5599963f',1,'game_state::from_json()'],['../classhand.html#aa9cffdf932d80c7304a335074403e785',1,'hand::from_json()'],['../classplayer.html#a5955c5f26db6a08862ccfb443fbe99c5',1,'player::from_json()']]] ]; diff --git a/html/search/functions_6.js b/html/search/functions_6.js index 1f77831..c697929 100644 --- a/html/search/functions_6.js +++ b/html/search/functions_6.js @@ -1,4 +1,34 @@ var searchData= [ - ['hand_0',['hand',['../classhand.html#ae8d7de2589266f57271ac191dab8cd64',1,'hand::hand()'],['../classhand.html#afb908b5b24b92eec58c6d39739093a84',1,'hand::hand(const std::string &id, const std::vector< card * > &cards)'],['../classhand.html#a4820b774c5446b60f74c6458691d1de8',1,'hand::hand(const std::string &id)']]] + ['game_5finstance_0',['game_instance',['../classgame__instance.html#a2b1d00adf8c933a98698f972827e48b9',1,'game_instance']]], + ['game_5fstate_1',['game_state',['../classgame__state.html#a0c10b830e222d726557c3c33685c595a',1,'game_state']]], + ['get_5fcards_2',['get_cards',['../classhand.html#ad104b0376b1a13d987f349dd524ca47f',1,'hand']]], + ['get_5fcards_5fand_5fplayers_3',['get_cards_and_players',['../classtrick.html#a1d75f9e8fc94fd122adfc39a20089268',1,'trick']]], + ['get_5fcolor_4',['get_color',['../classcard.html#ab033bc0e71b09d3cf3ac28c2f1fbde18',1,'card']]], + ['get_5fcurrent_5fplayer_5',['get_current_player',['../classgame__state.html#a2d16f420a8aa651685461a5efb8bb600',1,'game_state']]], + ['get_5fgame_5fid_6',['get_game_id',['../classplayer.html#afeb6c5483a59042fcc4a3a2aed6a6a2c',1,'player']]], + ['get_5fgame_5fstate_7',['get_game_state',['../classgame__instance.html#a852c73a12031d7fbd2095530df595c5c',1,'game_instance']]], + ['get_5fhand_8',['get_hand',['../classplayer.html#af333dcbf7123726c9bda3ab94ba9ee6d',1,'player']]], + ['get_5fid_9',['get_id',['../classgame__instance.html#a72cd93738171ffc856c3d77df5f967da',1,'game_instance']]], + ['get_5flast_5ftrick_10',['get_last_trick',['../classgame__state.html#a4327f753f1f5341f9fe3774ea3fbc99b',1,'game_state']]], + ['get_5fmax_5fround_5fnumber_11',['get_max_round_number',['../classgame__state.html#aa75c4da6c0056e48e5040be8127d7473',1,'game_state']]], + ['get_5fnof_5fcards_12',['get_nof_cards',['../classhand.html#adc90d109b7b564a0dbca0b0798c99641',1,'hand::get_nof_cards()'],['../classplayer.html#a457c5ab90b0ecd610eead66b41c8333a',1,'player::get_nof_cards() const noexcept']]], + ['get_5fnof_5fpredicted_13',['get_nof_predicted',['../classplayer.html#a40333c302ff51707749c544930fb80aa',1,'player']]], + ['get_5fnof_5ftricks_14',['get_nof_tricks',['../classplayer.html#a5e3d1374aee685b08a29d0ac7cec3df4',1,'player']]], + ['get_5fnumber_5fof_5fremaining_5fcards_15',['get_number_of_remaining_cards',['../classdeck.html#ae1c7a4174108a14cb1180de1afdcb6d6',1,'deck']]], + ['get_5fplayer_5fname_16',['get_player_name',['../classplayer.html#a42d01dcf4cdbd452fc5dcaf5e6f21773',1,'player']]], + ['get_5fplayers_17',['get_players',['../classgame__state.html#abcaccd551f938f961d12266e34c037d2',1,'game_state']]], + ['get_5fround_5fnumber_18',['get_round_number',['../classgame__state.html#ab3ef836a1b3a1e2bc9e429a018c72eca',1,'game_state']]], + ['get_5fscores_19',['get_scores',['../classplayer.html#aef5c25a02a2fdbdb4d8270582faf5dac',1,'player']]], + ['get_5fstarting_5fplayer_20',['get_starting_player',['../classgame__state.html#af4c553229260e307ff1f78dd0c74506d',1,'game_state']]], + ['get_5ftrick_21',['get_trick',['../classgame__state.html#a472fd1721c7cc9e3689394f18c767bf9',1,'game_state']]], + ['get_5ftrick_5fcolor_22',['get_trick_color',['../classtrick.html#a41f315804ac73454c8e41438da20a9c3',1,'trick']]], + ['get_5ftrick_5festimate_5fsum_23',['get_trick_estimate_sum',['../classgame__state.html#aa5263d03c85bce1e9d252e9017cbe282',1,'game_state']]], + ['get_5ftrick_5fnumber_24',['get_trick_number',['../classgame__state.html#a3fce12f31ad0aab82b0d2da90e3e8e15',1,'game_state']]], + ['get_5ftrick_5fstarting_5fplayer_25',['get_trick_starting_player',['../classgame__state.html#aa40554d105939c5dce934daaa858c242',1,'game_state']]], + ['get_5ftrump_5fcard_5fvalue_26',['get_trump_card_value',['../classgame__state.html#a115a9b1dbb65db44669363b407aa62ac',1,'game_state']]], + ['get_5ftrump_5fcolor_27',['get_trump_color',['../classtrick.html#a69c49e2968abb235a6c7148cb05b0e64',1,'trick::get_trump_color()'],['../classgame__state.html#abdf6c5116ed643773d676c90a05e6fe4',1,'game_state::get_trump_color()']]], + ['get_5fvalue_28',['get_value',['../classcard.html#a2baf8dfef09ac8c1a67b34c2e67186c3',1,'card']]], + ['get_5fwinner_29',['get_winner',['../classtrick.html#a4b93ae88c17db486d975408cd8cfad1b',1,'trick']]], + ['getmainthreadeventhandler_30',['getMainThreadEventHandler',['../class_game_controller.html#abec8c73ea01e4b7e01b2ca1d932e0c16',1,'GameController']]] ]; diff --git a/html/search/functions_7.js b/html/search/functions_7.js index 32c8912..5d8e8b5 100644 --- a/html/search/functions_7.js +++ b/html/search/functions_7.js @@ -1,10 +1,5 @@ var searchData= [ - ['init_0',['init',['../class_game_controller.html#a8889bad76bc35487d3391fb8a5791616',1,'GameController']]], - ['is_5fempty_1',['is_empty',['../classdeck.html#a6aef528ff7b9c608863cc77c19b7882d',1,'deck']]], - ['is_5festimation_5fphase_2',['is_estimation_phase',['../classgame__state.html#a88d19342ee76acc4660b3e56e8c126eb',1,'game_state']]], - ['is_5ffinished_3',['is_finished',['../classgame__state.html#a9b83de8a89e3bb506184492d22c3cf45',1,'game_state::is_finished()'],['../classgame__instance.html#a5a080dfced3d2d1c697e36160b996a9c',1,'game_instance::is_finished()']]], - ['is_5ffull_4',['is_full',['../classgame__state.html#ae161c283e275a57d71834754d11e9e40',1,'game_state::is_full()'],['../classgame__instance.html#a77d1f40b8727c74f278efe9168f26831',1,'game_instance::is_full()']]], - ['is_5fplayer_5fin_5fgame_5',['is_player_in_game',['../classgame__state.html#a371d6a6d84395b90c15d84549b05d553',1,'game_state']]], - ['is_5fstarted_6',['is_started',['../classgame__state.html#aa0092c41779f38eba5e921e43b38559c',1,'game_state::is_started()'],['../classgame__instance.html#a2c8a8be71f8c3016075cc08768ebbb64',1,'game_instance::is_started()']]] + ['hand_0',['hand',['../classhand.html#ae8d7de2589266f57271ac191dab8cd64',1,'hand::hand()'],['../classhand.html#afb908b5b24b92eec58c6d39739093a84',1,'hand::hand(const std::string &id, const std::vector< card * > &cards)'],['../classhand.html#a4820b774c5446b60f74c6458691d1de8',1,'hand::hand(const std::string &id)']]], + ['has_5fleft_5fgame_1',['has_left_game',['../classplayer.html#aac1b87de3b686d8ee1049269f6c9f272',1,'player']]] ]; diff --git a/html/search/functions_8.js b/html/search/functions_8.js index 250d437..32c8912 100644 --- a/html/search/functions_8.js +++ b/html/search/functions_8.js @@ -1,4 +1,10 @@ var searchData= [ - ['leavegame_0',['leaveGame',['../class_game_controller.html#a8d42b2e41759bfd65cdebad87437369e',1,'GameController']]] + ['init_0',['init',['../class_game_controller.html#a8889bad76bc35487d3391fb8a5791616',1,'GameController']]], + ['is_5fempty_1',['is_empty',['../classdeck.html#a6aef528ff7b9c608863cc77c19b7882d',1,'deck']]], + ['is_5festimation_5fphase_2',['is_estimation_phase',['../classgame__state.html#a88d19342ee76acc4660b3e56e8c126eb',1,'game_state']]], + ['is_5ffinished_3',['is_finished',['../classgame__state.html#a9b83de8a89e3bb506184492d22c3cf45',1,'game_state::is_finished()'],['../classgame__instance.html#a5a080dfced3d2d1c697e36160b996a9c',1,'game_instance::is_finished()']]], + ['is_5ffull_4',['is_full',['../classgame__state.html#ae161c283e275a57d71834754d11e9e40',1,'game_state::is_full()'],['../classgame__instance.html#a77d1f40b8727c74f278efe9168f26831',1,'game_instance::is_full()']]], + ['is_5fplayer_5fin_5fgame_5',['is_player_in_game',['../classgame__state.html#a371d6a6d84395b90c15d84549b05d553',1,'game_state']]], + ['is_5fstarted_6',['is_started',['../classgame__state.html#aa0092c41779f38eba5e921e43b38559c',1,'game_state::is_started()'],['../classgame__instance.html#a2c8a8be71f8c3016075cc08768ebbb64',1,'game_instance::is_started()']]] ]; diff --git a/html/search/functions_9.js b/html/search/functions_9.js index 2ac77a1..250d437 100644 --- a/html/search/functions_9.js +++ b/html/search/functions_9.js @@ -1,7 +1,4 @@ var searchData= [ - ['play_5fcard_0',['play_card',['../classgame__state.html#a6c65d95086a88b8d111de5553e1210ec',1,'game_state::play_card()'],['../classgame__instance.html#a1a7e19a4b0907cb0b5f1523edb7e68ca',1,'game_instance::play_card()']]], - ['playcard_1',['playCard',['../class_game_controller.html#a87b164e2094901861e5b47056634facc',1,'GameController']]], - ['player_2',['player',['../classplayer.html#a1f0916939a8caa2e7140d5c89a6aa718',1,'player::player(const std::string &name)'],['../classplayer.html#aa97dd36228b56912bc5dad63f64e1ccf',1,'player::player(const std::string &id, const std::string &name)']]], - ['processestimatetricks_3',['processEstimateTricks',['../class_game_controller.html#a5f1023f2029e5dbb25b795a0606e06a9',1,'GameController']]] + ['leavegame_0',['leaveGame',['../class_game_controller.html#a8d42b2e41759bfd65cdebad87437369e',1,'GameController']]] ]; diff --git a/html/search/functions_a.js b/html/search/functions_a.js index 6baee91..e1abaf6 100644 --- a/html/search/functions_a.js +++ b/html/search/functions_a.js @@ -1,5 +1,4 @@ var searchData= [ - ['remove_5fcard_0',['remove_card',['../classhand.html#aa466496b7ce0b58dbd63620535430439',1,'hand']]], - ['remove_5fplayer_1',['remove_player',['../classgame__state.html#a734fc594d457aa4e6db5bc7467e6442d',1,'game_state']]] + ['maingamepanelwizard_0',['MainGamePanelWizard',['../class_main_game_panel_wizard.html#a6ba532223a22fe5458e3f94a70e2bbf6',1,'MainGamePanelWizard']]] ]; diff --git a/html/search/functions_b.js b/html/search/functions_b.js index 6ab1284..2ac77a1 100644 --- a/html/search/functions_b.js +++ b/html/search/functions_b.js @@ -1,18 +1,7 @@ var searchData= [ - ['set_5fgame_5fid_0',['set_game_id',['../classplayer.html#aa916eeacf97f00507f412fd91bfe37d4',1,'player']]], - ['set_5fnof_5fpredicted_1',['set_nof_predicted',['../classplayer.html#a1a3ce0ac69cad799641f4d732435c3f7',1,'player']]], - ['set_5fnof_5ftricks_2',['set_nof_tricks',['../classplayer.html#a61aa38ceff0c856b36642c4bc0081433',1,'player']]], - ['set_5fscores_3',['set_scores',['../classplayer.html#af1d7e67eee27af87c01e43508a731bd4',1,'player']]], - ['set_5ftrick_4',['set_trick',['../classgame__state.html#a745dd23945b6165470c494b036ac4667',1,'game_state']]], - ['set_5ftrick_5fcolor_5',['set_trick_color',['../classtrick.html#a0f8c45882691509564ec42efed0d1aaa',1,'trick']]], - ['set_5fup_5fround_6',['set_up_round',['../classtrick.html#ae5b769ed0fc2933c1a44b5e481c18b00',1,'trick']]], - ['setup_5fround_7',['setup_round',['../classdeck.html#a77851e5cb8297849e91a885ed7959de1',1,'deck::setup_round()'],['../classgame__state.html#ab520d4076c53f70a68bc19f355243a4d',1,'game_state::setup_round()'],['../classplayer.html#a8cc6464ca3284140c92c6983ee62a299',1,'player::setup_round()']]], - ['showerror_8',['showError',['../class_game_controller.html#adf043f9026a62f634a873c9f9d292034',1,'GameController']]], - ['showgameovermessage_9',['showGameOverMessage',['../class_game_controller.html#abb91c546ab8400c1e2e9f2a2ccc8298f',1,'GameController']]], - ['shownewroundmessage_10',['showNewRoundMessage',['../class_game_controller.html#a3c350056b82df662c946cb9119f11ced',1,'GameController']]], - ['showstatus_11',['showStatus',['../class_game_controller.html#a6a43eb061a9882b3937fc88bb4794324',1,'GameController']]], - ['showtrickovermessage_12',['showTrickOverMessage',['../class_game_controller.html#a8108659ad09724318c3a251d93bd5869',1,'GameController']]], - ['start_5fgame_13',['start_game',['../classgame__state.html#a6ca6536eaec3404ff9b1ab39b8df4e67',1,'game_state::start_game()'],['../classgame__instance.html#aee2eedd24991ce59dbcf2ec4f6cae8ac',1,'game_instance::start_game()']]], - ['startgame_14',['startGame',['../class_game_controller.html#a8f30ab3ff471ac0a5c8b88dc7fea45f4',1,'GameController']]] + ['play_5fcard_0',['play_card',['../classgame__state.html#a6c65d95086a88b8d111de5553e1210ec',1,'game_state::play_card()'],['../classgame__instance.html#a1a7e19a4b0907cb0b5f1523edb7e68ca',1,'game_instance::play_card()']]], + ['playcard_1',['playCard',['../class_game_controller.html#a87b164e2094901861e5b47056634facc',1,'GameController']]], + ['player_2',['player',['../classplayer.html#a1f0916939a8caa2e7140d5c89a6aa718',1,'player::player(const std::string &name)'],['../classplayer.html#aa97dd36228b56912bc5dad63f64e1ccf',1,'player::player(const std::string &id, const std::string &name)']]], + ['processestimatetricks_3',['processEstimateTricks',['../class_game_controller.html#a5f1023f2029e5dbb25b795a0606e06a9',1,'GameController']]] ]; diff --git a/html/search/functions_c.js b/html/search/functions_c.js index 06eb329..6baee91 100644 --- a/html/search/functions_c.js +++ b/html/search/functions_c.js @@ -1,7 +1,5 @@ var searchData= [ - ['trick_0',['trick',['../classtrick.html#a3b0a12789b87d15d9cdc4e5b6f85b47d',1,'trick::trick()'],['../classtrick.html#ad55ad2f0462144ee39c0e6d392543a14',1,'trick::trick(const trick &other)'],['../classtrick.html#abb172ad9a476e96a754eea0c33e1eda9',1,'trick::trick(const std::string &id)'],['../classtrick.html#ab756ba7a19c4bf98f0d8456ad0081fc3',1,'trick::trick(const std::string &id, const std::vector< std::pair< card *, player * > > &cards, serializable_value< int > *trick_color, serializable_value< int > *trump_color)'],['../classtrick.html#a3ecb1c5ebe84a300d7388e2846737fa4',1,'trick::trick(int trump)']]], - ['try_5fadd_5fplayer_1',['try_add_player',['../classgame__instance.html#a1176ce8464586487f9ae5676ca900e10',1,'game_instance']]], - ['try_5fget_5fcard_2',['try_get_card',['../classhand.html#a0a50cbbb167e6a1d633dd48bc4b695fe',1,'hand']]], - ['try_5fremove_5fplayer_3',['try_remove_player',['../classgame__instance.html#a2c6fed45a14273b09a9f202481fa62aa',1,'game_instance']]] + ['remove_5fcard_0',['remove_card',['../classhand.html#aa466496b7ce0b58dbd63620535430439',1,'hand']]], + ['remove_5fplayer_1',['remove_player',['../classgame__state.html#a734fc594d457aa4e6db5bc7467e6442d',1,'game_state']]] ]; diff --git a/html/search/functions_d.js b/html/search/functions_d.js index c559111..7e4b0fa 100644 --- a/html/search/functions_d.js +++ b/html/search/functions_d.js @@ -1,5 +1,20 @@ var searchData= [ - ['update_5fcurrent_5fplayer_0',['update_current_player',['../classgame__state.html#a49851709fcec061d36478ed2fdcc3d9d',1,'game_state']]], - ['updategamestate_1',['updateGameState',['../class_game_controller.html#a994773f79be8c9e8dc8c19ee2d389103',1,'GameController']]] + ['set_5fgame_5fid_0',['set_game_id',['../classplayer.html#aa916eeacf97f00507f412fd91bfe37d4',1,'player']]], + ['set_5fhas_5fleft_5fgame_1',['set_has_left_game',['../classplayer.html#a42f88a13ce2b65360f6ee95281a09173',1,'player']]], + ['set_5fnof_5fpredicted_2',['set_nof_predicted',['../classplayer.html#a1a3ce0ac69cad799641f4d732435c3f7',1,'player']]], + ['set_5fnof_5ftricks_3',['set_nof_tricks',['../classplayer.html#a61aa38ceff0c856b36642c4bc0081433',1,'player']]], + ['set_5fplayer_5fname_4',['set_player_name',['../classplayer.html#af8f0b088e697fcb972bfc41302e63877',1,'player']]], + ['set_5fscores_5',['set_scores',['../classplayer.html#af1d7e67eee27af87c01e43508a731bd4',1,'player']]], + ['set_5ftrick_6',['set_trick',['../classgame__state.html#a745dd23945b6165470c494b036ac4667',1,'game_state']]], + ['set_5ftrick_5fcolor_7',['set_trick_color',['../classtrick.html#a0f8c45882691509564ec42efed0d1aaa',1,'trick']]], + ['set_5fup_5fround_8',['set_up_round',['../classtrick.html#ae5b769ed0fc2933c1a44b5e481c18b00',1,'trick']]], + ['setup_5fround_9',['setup_round',['../classdeck.html#a77851e5cb8297849e91a885ed7959de1',1,'deck::setup_round()'],['../classgame__state.html#ab520d4076c53f70a68bc19f355243a4d',1,'game_state::setup_round()'],['../classplayer.html#a8cc6464ca3284140c92c6983ee62a299',1,'player::setup_round()']]], + ['showerror_10',['showError',['../class_game_controller.html#adf043f9026a62f634a873c9f9d292034',1,'GameController']]], + ['showgameovermessage_11',['showGameOverMessage',['../class_game_controller.html#abb91c546ab8400c1e2e9f2a2ccc8298f',1,'GameController']]], + ['shownewroundmessage_12',['showNewRoundMessage',['../class_game_controller.html#a3c350056b82df662c946cb9119f11ced',1,'GameController']]], + ['showstatus_13',['showStatus',['../class_game_controller.html#a6a43eb061a9882b3937fc88bb4794324',1,'GameController']]], + ['showtrickovermessage_14',['showTrickOverMessage',['../class_game_controller.html#a8108659ad09724318c3a251d93bd5869',1,'GameController']]], + ['start_5fgame_15',['start_game',['../classgame__state.html#a6ca6536eaec3404ff9b1ab39b8df4e67',1,'game_state::start_game()'],['../classgame__instance.html#aee2eedd24991ce59dbcf2ec4f6cae8ac',1,'game_instance::start_game()']]], + ['startgame_16',['startGame',['../class_game_controller.html#a8f30ab3ff471ac0a5c8b88dc7fea45f4',1,'GameController']]] ]; diff --git a/html/search/functions_e.js b/html/search/functions_e.js index 86ce831..06eb329 100644 --- a/html/search/functions_e.js +++ b/html/search/functions_e.js @@ -1,6 +1,7 @@ var searchData= [ - ['wrap_5fup_5fround_0',['wrap_up_round',['../classgame__state.html#ad2e967638043670ebae93dd6ec32e91e',1,'game_state::wrap_up_round()'],['../classplayer.html#a193bcc63da13e5bc98eb46ed99381302',1,'player::wrap_up_round()']]], - ['wrap_5fup_5ftrick_1',['wrap_up_trick',['../classtrick.html#a384560623ffaf776797948cf35197c73',1,'trick']]], - ['write_5finto_5fjson_2',['write_into_json',['../classcard.html#a7f900b843e44fb18364f32dbe6cdbc7a',1,'card::write_into_json()'],['../classdeck.html#a8d226fe699a36bf462010ba1f744fbeb',1,'deck::write_into_json()'],['../classtrick.html#a97176df194eae794691356cd83292b04',1,'trick::write_into_json()'],['../classgame__state.html#a54873cd18b46555915d150a6d8dd6f83',1,'game_state::write_into_json()'],['../classhand.html#a505a82447d0ae305dadcc9c4aa54071e',1,'hand::write_into_json()'],['../classplayer.html#a0cf13abfdb6b837faa88eda064bf51dc',1,'player::write_into_json()']]] + ['trick_0',['trick',['../classtrick.html#a3b0a12789b87d15d9cdc4e5b6f85b47d',1,'trick::trick()'],['../classtrick.html#ad55ad2f0462144ee39c0e6d392543a14',1,'trick::trick(const trick &other)'],['../classtrick.html#abb172ad9a476e96a754eea0c33e1eda9',1,'trick::trick(const std::string &id)'],['../classtrick.html#ab756ba7a19c4bf98f0d8456ad0081fc3',1,'trick::trick(const std::string &id, const std::vector< std::pair< card *, player * > > &cards, serializable_value< int > *trick_color, serializable_value< int > *trump_color)'],['../classtrick.html#a3ecb1c5ebe84a300d7388e2846737fa4',1,'trick::trick(int trump)']]], + ['try_5fadd_5fplayer_1',['try_add_player',['../classgame__instance.html#a1176ce8464586487f9ae5676ca900e10',1,'game_instance']]], + ['try_5fget_5fcard_2',['try_get_card',['../classhand.html#a0a50cbbb167e6a1d633dd48bc4b695fe',1,'hand']]], + ['try_5fremove_5fplayer_3',['try_remove_player',['../classgame__instance.html#a2c6fed45a14273b09a9f202481fa62aa',1,'game_instance']]] ]; diff --git a/html/search/functions_f.js b/html/search/functions_f.js index 688609a..c559111 100644 --- a/html/search/functions_f.js +++ b/html/search/functions_f.js @@ -1,10 +1,5 @@ var searchData= [ - ['_7ecard_0',['~card',['../classcard.html#ac7a5d8d53e8cc33f5c5a03d8ccb806c4',1,'card']]], - ['_7edeck_1',['~deck',['../classdeck.html#a63a688bda08bfef8d2c37d53523b7b12',1,'deck']]], - ['_7egame_5finstance_2',['~game_instance',['../classgame__instance.html#a1fa390603341beb15e09e5a4b03465c1',1,'game_instance']]], - ['_7egame_5fstate_3',['~game_state',['../classgame__state.html#a2fbc370f93617298719f61514afdb5bc',1,'game_state']]], - ['_7ehand_4',['~hand',['../classhand.html#af3ffc5e5b46f04b14f12a9fc130b220a',1,'hand']]], - ['_7eplayer_5',['~player',['../classplayer.html#a0a62c0208584465db2daa1ac6e15b1ad',1,'player']]], - ['_7etrick_6',['~trick',['../classtrick.html#a22c0b586f1d6c3baeb7bb0e22eb7dfe2',1,'trick']]] + ['update_5fcurrent_5fplayer_0',['update_current_player',['../classgame__state.html#a49851709fcec061d36478ed2fdcc3d9d',1,'game_state']]], + ['updategamestate_1',['updateGameState',['../class_game_controller.html#a994773f79be8c9e8dc8c19ee2d389103',1,'GameController']]] ]; diff --git a/html/search/searchdata.js b/html/search/searchdata.js index 7ced6ad..ee51f53 100644 --- a/html/search/searchdata.js +++ b/html/search/searchdata.js @@ -1,8 +1,8 @@ var indexSectionsWithContent = { - 0: "1234abcdefghijlmnoprstuw~🚀", + 0: "01234abcdefghijlmnoprstuw~🚀", 1: "bcdefghijlmprstuw", - 2: "acdefghilprstuw~", + 2: "abcdefghilmprstuw~", 3: "epsw" }; diff --git a/src/client/panels/MainGamePanelWizard.h b/src/client/panels/MainGamePanelWizard.h index d9e8e88..e8ba76b 100644 --- a/src/client/panels/MainGamePanelWizard.h +++ b/src/client/panels/MainGamePanelWizard.h @@ -5,25 +5,87 @@ #include <wx/gbsizer.h> #include "../../common/game_state/game_state.h" +/** + * @class MainGamePanelWizard + * @brief Visualizes Game State to user during the card playing phase. + * The Main Game Panel is shown before the game has started (Lobby) + * and also while the game is played (outside the trick estimation phase). + * It ensures that the game state is shown to all players in the GUI, and creates and positions all graphical elements. + * It also allows interaction of the user with the GUI via button clicks. + */ class MainGamePanelWizard : public wxPanel{ public: + /** + * @brief Constructs main game panel. + * @param parent Game window the main game panel is put onto. + */ MainGamePanelWizard(wxWindow* parent); + /** + * @brief Shows the game state in the GUI the client gets from the server. + * This function is called by the game controller to update the shown game state. + * @param gameState New game state to show. + * @param me Player to show the game state for (me). + */ void buildGameState(game_state* gameState, player* me); private: + /** + * @brief Used by buildGameState to build the area of the panel that concerns the player of the user (me). + * @param sizer Sizer which states the position of the player of the user. + * @param gameState Current game state. + * @param me Player. + */ void buildThisPlayer(wxGridBagSizer* sizer, game_state* gameState, player* me); + /** + * @brief Builds indicator that shows whoes turn it is. + * This function colors the area of the player who is going to play next. + * @param sizer Positioning. + * @param gameState Current game state. + * @param me Player of the user. + */ void buildTurnIndicator(wxGridBagSizer* sizer, game_state* gameState, player* me); + /** + * @brief Used by buildGameState to build the areas of the panel that concern all other players. + * @param sizer Sizer which defines positioning. + * @param gameState Current game state. + * @param me Player of user (me). + * @param myPosition Position of player of the user (me). + */ void buildOtherPlayers(wxGridBagSizer* sizer, game_state* gameState, player *me, int myPosition); + /** + * @brief Displays area of game which shows round number. + * @param roundNumber Number of current round. + */ void showRoundOverlay(int roundNumber); + /** + * @brief Builds area of the deck which shows the trick pile. + * @param sizer Positioning + * @param gameState Current game state. + * @param me Player of the user (me). + */ void buildTrickPile(wxGridBagSizer* sizer, game_state* gameState, player *me); + /** + * @brief Builds area of the game panel that shows trump card. + * @param sizer Positioning. + * @param gameState Current game state. + */ void buildTrumpCard(wxGridBagSizer* sizer, game_state* gameState); + /** + * @brief Builds score board button and leave game button. + * The score board button can be used to look at the current scores. + * The leave game button can be used to either leave the game before it has started without any consequences + * or to leave the game after it was started. This leads to the game ending. + * @param sizer Positioning + * @param gameState Current game state. + */ void buildScoreLeaveButtons(wxGridBagSizer* sizer, game_state* gameState); - wxSize const panelSize = wxSize(960, 680); // also set in the constructor implementation - wxSize const cardSize = wxSize(70, 108); + // also set in the constructor implementation + wxSize const panelSize = wxSize(960, 680); ///< Size of the panel. + wxSize const cardSize = wxSize(70, 108); ///< Size of the shown cards. }; #endif //MAINGAMEPANELWIZARD_H -- GitLab