Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

BasicCoach.h

Go to the documentation of this file.
00001 /*
00002 Copyright (c) 2000-2003, Jelle Kok, University of Amsterdam
00003 All rights reserved.
00004 
00005 Redistribution and use in source and binary forms, with or without
00006 modification, are permitted provided that the following conditions are met:
00007 
00008 1. Redistributions of source code must retain the above copyright notice, this
00009 list of conditions and the following disclaimer.
00010 
00011 2. Redistributions in binary form must reproduce the above copyright notice,
00012 this list of conditions and the following disclaimer in the documentation
00013 and/or other materials provided with the distribution.
00014 
00015 3. Neither the name of the University of Amsterdam nor the names of its
00016 contributors may be used to endorse or promote products derived from this
00017 software without specific prior written permission.
00018 
00019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00020 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00021 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00022 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
00023 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
00024 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
00025 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
00026 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
00027 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00028 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00029 */
00030 
00048 #ifndef _BASICCOACH_
00049 #define _BASICCOACH_
00050 
00051 #include "ActHandler.h"
00052 
00053 #ifdef WIN32
00054   DWORD WINAPI stdin_callback( LPVOID v );
00055 #else
00056   void* stdin_callback( void * v );
00057 #endif
00058 
00063 class BasicCoach
00064 {
00065 protected:
00066   ActHandler     *ACT; 
00067   WorldModel     *WM;  
00068   ServerSettings *SS;  
00070   HeteroPlayerSettings m_player_types[MAX_HETERO_PLAYERS];
00071   bool bContLoop;      
00073 public:
00074   BasicCoach( ActHandler* a, WorldModel *wm, ServerSettings *ss,
00075                char* strTeamName, double dVersion, bool isTrainer );
00076   virtual ~BasicCoach( );
00077 
00078   virtual void mainLoopNormal   ( ); // virtual can be overwritten in subclass
00079   void         substitutePlayer( int iPlayer, int iPlayerType );
00080 
00081   // methods that deal with user input (from keyboard) to sent commands
00082   void          handleStdin               (                                  );
00083   void          showStringCommands        ( ostream& out                     );
00084   bool          executeStringCommand      ( char *str                        );
00085 
00086 };
00087 
00088 #endif

Generated on Fri Nov 7 11:45:39 2003 for UvA Trilearn 2003 Base Code by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001