(linenum→info "unix/slp.c:2238")

bsd-games/2.17/dab/player.h

    1: /*      $NetBSD: player.h,v 1.1.1.1 2003/12/26 17:57:03 christos Exp $       */
    2: 
    3: /*-
    4:  * Copyright (c) 2003 The NetBSD Foundation, Inc.
    5:  * All rights reserved.
    6:  *
    7:  * This code is derived from software contributed to The NetBSD Foundation
    8:  * by Christos Zoulas.
    9:  *
   10:  * Redistribution and use in source and binary forms, with or without
   11:  * modification, are permitted provided that the following conditions
   12:  * are met:
   13:  * 1. Redistributions of source code must retain the above copyright
   14:  *    notice, this list of conditions and the following disclaimer.
   15:  * 2. Redistributions in binary form must reproduce the above copyright
   16:  *    notice, this list of conditions and the following disclaimer in the
   17:  *    documentation and/or other materials provided with the distribution.
   18:  * 3. All advertising materials mentioning features or use of this software
   19:  *    must display the following acknowledgement:
   20:  *        This product includes software developed by the NetBSD
   21:  *        Foundation, Inc. and its contributors.
   22:  * 4. Neither the name of The NetBSD Foundation nor the names of its
   23:  *    contributors may be used to endorse or promote products derived
   24:  *    from this software without specific prior written permission.
   25:  *
   26:  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
   27:  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   28:  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   29:  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
   30:  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   31:  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   32:  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   33:  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   34:  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   35:  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   36:  * POSSIBILITY OF SUCH DAMAGE.
   37:  */
   38: 
   39: /*
   40:  * player.h: Player base class
   41:  */
   42: #ifndef _H_PLAYER
   43: #define _H_PLAYER
   44: 
   45: class BOARD;
   46: 
   47: #include <stdlib.h>
   48: 
   49: class PLAYER {
   50:   public:
   51:     PLAYER(char who);
   52:     virtual void play(const BOARD& b, size_t& y, size_t& x, int& dir) = 0;
   53: 
   54:     // Helper functions
   55:     void init(void);
   56:     int domove(BOARD& b);
   57: 
   58:     // Member access
   59:     char getWho(void) const { return _who; }
   60: 
   61:     // Display
   62:     size_t getScore(void) const { return _score; }
   63:     size_t getTotal(void) const { return _total; }
   64:     size_t getGames(void) const { return _games; }
   65:     size_t getTies(void) const { return _ties;   }
   66:     void wl(size_t sc);
   67: 
   68:   private:
   69:     char _who;
   70:     size_t _score;
   71:     size_t _total;
   72:     size_t _games;
   73:     size_t _ties;
   74: };
   75: 
   76: #endif
Syntax (Markdown)