1 // Copyright (C) 2003, 2004, 2005, 2006 Ulf Lorenz
2 // Copyright (C) 2007, 2008 Ben Asselstine
3 // Copyright (C) 2007, 2008 Ole Laursen
5 // This program is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation; either version 3 of the License, or
8 // (at your option) any later version.
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU Library General Public License for more details.
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
20 #ifndef NEXT_TURN_PBM_H
21 #define NEXT_TURN_PBM_H
26 \brief The class to pass turns around the players for a play-by-mail game.
30 class NextTurnPbm: public NextTurn
36 @param turnmode setting for the private variable d_turnmode
37 @param random_turns change the order every round
39 @note The start_next_player means that the player->startTurn
40 method will be called.
42 NextTurnPbm(bool turnmode, bool random_turns);
47 virtual ~NextTurnPbm();
50 \brief start a new game
52 This function starts with the currently active player, or the first
53 if there is none active. For starting a game. This should be the
54 lowest of all scenario-related functions in the stack.
58 //! Interrupts the game on the next possible occasion
59 void stop() {d_stop = true;}
62 \brief go on to the next player
64 This function starts the next to the active player's turn. Used when
65 a human player has pushed the next_turn button.
71 \brief The function for all actions which are taken at the beginning
77 \brief The function for all actions which are taken at the end of a
83 \brief The function for all actions which are taken at the end of a
90 #endif //NEXT_TURN_PBM_H