~ubuntu-branches/ubuntu/saucy/lordsawar/saucy

« back to all changes in this revision

Viewing changes to src/NextTurnNetworked.h

  • Committer: Bazaar Package Importer
  • Author(s): Barry deFreese, Barry deFreese
  • Date: 2008-12-20 13:52:12 UTC
  • mfrom: (1.1.6 upstream) (5.1.2 squeeze)
  • Revision ID: james.westby@ubuntu.com-20081220135212-noeb2w3y98ebo7o9
Tags: 0.1.4-1
[ Barry deFreese ]
* New upstream release.
* Move 0.0.8-2.1 changelog entry to correct point in changelog.
* Make lordsawar-data suggest lordsawar.
* Update my e-mail address.
* Add build-depends on intltool, uuid-dev, and libboost-dev.
* Don't install locales since there are no translations currently.
* Add simple man page for new lordsawar-pbm binary.
* Drop gcc4.3 patches as they have been fixed upstream.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// Copyright (C) 2003, 2004, 2005, 2006 Ulf Lorenz
 
2
// Copyright (C) 2007, 2008 Ben Asselstine
 
3
// Copyright (C) 2007, 2008 Ole Laursen
 
4
//
 
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 2 of the License, or
 
8
//  (at your option) any later version.
 
9
//
 
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.
 
14
//
 
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 
 
18
//  02110-1301, USA.
 
19
 
 
20
#ifndef NEXT_TURN_NETWORKED_H
 
21
#define NEXT_TURN_NETWORKED_H
 
22
 
 
23
#include "NextTurn.h"
 
24
 
 
25
/**
 
26
   \brief The class to pass turns around the players during a networked game.
 
27
 
 
28
 */
 
29
 
 
30
class NextTurnNetworked: public NextTurn
 
31
{
 
32
    public:
 
33
        /**
 
34
           \brief constructor
 
35
 
 
36
           @param   turnmode    setting for the private variable d_turnmode
 
37
           @param   random_turns change the order every round
 
38
 
 
39
         */
 
40
        NextTurnNetworked(bool turnmode, bool random_turns);
 
41
 
 
42
        /**
 
43
           \brief destructor
 
44
         */
 
45
        ~NextTurnNetworked();
 
46
        
 
47
        /**
 
48
           \brief start a new game
 
49
          
 
50
           This function starts with the currently active player, or the first
 
51
           if there is none active. For starting a game. This should be the
 
52
           lowest of all scenario-related functions in the stack.
 
53
         */
 
54
        void start();
 
55
 
 
56
        /**
 
57
           \brief go on to the next player
 
58
           
 
59
           This function starts the next to the active player's turn. Used when
 
60
           a human player has pushed the next_turn button.
 
61
         */
 
62
        void endTurn();
 
63
 
 
64
        /**
 
65
           \brief signal for telling when the game stops due to player absence.
 
66
         */
 
67
        sigc::signal<void, Player*> snextPlayerUnavailable;
 
68
 
 
69
    private:
 
70
        /**
 
71
           \brief The function for all actions which are taken at the beginning
 
72
           of a player's turn
 
73
          */
 
74
        void startTurn();
 
75
        
 
76
        /**
 
77
           \brief The function for all actions which are taken at the end of a
 
78
           player's turn
 
79
         */
 
80
        void finishTurn();
 
81
 
 
82
        /**
 
83
           \brief The function for all actions which are taken at the end of a
 
84
           Game Turn.
 
85
         */
 
86
        void finishRound();
 
87
 
 
88
};
 
89
 
 
90
#endif //NEXT_TURN_NETWORKED_H