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

bsd-games/2.17/dab/gamescreen.h

    1: /*      $NetBSD: gamescreen.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:  * screen.h: Screen base class
   41:  */
   42: 
   43: #ifndef _H_GAMESCREEN
   44: #define _H_GAMESCREEN
   45: 
   46: #include <stdlib.h>
   47: 
   48: class PLAYER;
   49: 
   50: class GAMESCREEN {
   51:   public:
   52:     enum EDGE {
   53:         GS_HLINE,
   54:         GS_VLINE,
   55:         GS_ULCORNER,
   56:         GS_URCORNER,
   57:         GS_LLCORNER,
   58:         GS_LRCORNER,
   59:         GS_LTEE,
   60:         GS_RTEE,
   61:         GS_TTEE,
   62:         GS_BTEE,
   63:         GS_PLUS
   64:     };
   65:     virtual ~GAMESCREEN();
   66:     virtual void clean(void) = 0;                       // Clear screen
   67:     virtual void moveto(size_t y, size_t x) = 0;        // Move to x, y
   68:     virtual void addsym(const int sym) = 0;             // Add character symbol
   69:     virtual void addedge(const int sym) = 0;            // Add character symbol
   70:     virtual void redraw(void) = 0;                      // Refresh
   71:     virtual int getinput(void) = 0;                     // Get user input
   72:     virtual void bell(void) = 0;                        // Beep
   73:     virtual void score(size_t p, const PLAYER& p) = 0;  // Post current score
   74:     virtual void games(size_t p, const PLAYER& p) = 0;  // Post games won
   75:     virtual void total(size_t p, const PLAYER& p) = 0;  // Post total score
   76:     virtual void ties(const PLAYER& p) = 0;             // Post tie games
   77: };
   78: 
   79: #endif
Syntax (Markdown)