fix infinite check bug
[rofl0r-oopoker.git] / host_terminal.h
blob51657d66ffd3d8f415c680930b4f6d8fa1204629
2 /*
3 OOPoker
5 Copyright (c) 2010 Lode Vandevenne
6 All rights reserved.
8 This file is part of OOPoker.
10 OOPoker is free software: you can redistribute it and/or modify
11 it under the terms of the GNU General Public License as published by
12 the Free Software Foundation, either version 3 of the License, or
13 (at your option) any later version.
15 OOPoker is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
20 You should have received a copy of the GNU General Public License
21 along with OOPoker. If not, see <http://www.gnu.org/licenses/>.
24 #pragma once
26 #include "host.h"
29 Implementation of Host that uses the terminal.
31 class HostTerminal : public Host
33 private:
34 bool quit;
36 bool human_detected; //is used to print messages in certain way if the human player is out.
38 int dealCount;
40 public:
42 HostTerminal();
44 virtual void onFrame(); //called between every player decision
45 virtual void onGameBegin(const Info& info); //called after all players are sitting at the table, right before the first deal starts
46 virtual void onDealDone(const Info& info);
47 virtual void onGameDone(const Info& info); //when the whole tournament is done
49 virtual bool wantToQuit() const;
50 virtual void resetWantToQuit();
52 //not part of the Host interface, additial communication for the terminal-based Human AI and/or Observer
53 void setQuitSignalFromHumanPlayer(); //command given by AIHuman to HostTerminal
54 void setHasHumanPlayer(bool has);