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

bsd-games/2.17/monop/rent.c

    1: /*      $NetBSD: rent.c,v 1.6 2003/08/07 09:37:29 agc Exp $  */
    2: 
    3: /*
    4:  * Copyright (c) 1980, 1993
    5:  *      The Regents of the University of California.  All rights reserved.
    6:  *
    7:  * Redistribution and use in source and binary forms, with or without
    8:  * modification, are permitted provided that the following conditions
    9:  * are met:
   10:  * 1. Redistributions of source code must retain the above copyright
   11:  *    notice, this list of conditions and the following disclaimer.
   12:  * 2. Redistributions in binary form must reproduce the above copyright
   13:  *    notice, this list of conditions and the following disclaimer in the
   14:  *    documentation and/or other materials provided with the distribution.
   15:  * 3. Neither the name of the University nor the names of its contributors
   16:  *    may be used to endorse or promote products derived from this software
   17:  *    without specific prior written permission.
   18:  *
   19:  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   20:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   21:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   22:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   23:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   24:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   25:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   26:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   27:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   28:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   29:  * SUCH DAMAGE.
   30:  */
   31: 
   32: #include <sys/cdefs.h>
   33: #ifndef lint
   34: #if 0
   35: static char sccsid[] = "@(#)rent.c      8.1 (Berkeley) 5/31/93";
   36: #else
   37: __RCSID("$NetBSD: rent.c,v 1.6 2003/08/07 09:37:29 agc Exp $");
   38: #endif
   39: #endif /* not lint */
   40: 
   41: #include "monop.ext"
   42: 
   43: /*
   44:  *      This routine has the player pay rent
   45:  */
   46: void
   47: rent(sqp)
   48:         SQUARE *sqp;
   49: {
   50:         int rnt = 0;
   51:         PROP *pp;
   52:         PLAY *plp;
   53: 
   54:         plp = &play[sqp->owner];
   55:         printf("Owned by %s\n", plp->name);
   56:         if (sqp->desc->morg) {
   57:                 lucky("The thing is mortgaged.  ");
   58:                 return;
   59:         }
   60:         switch (sqp->type) {
   61:           case PRPTY:
   62:                 pp = sqp->desc;
   63:                 if (pp->monop)
   64:                         if (pp->houses == 0)
   65:                                 printf("rent is %d\n", rnt=pp->rent[0] * 2);
   66:                         else if (pp->houses < 5)
   67:                                 printf("with %d houses, rent is %d\n",
   68:                                     pp->houses, rnt=pp->rent[pp->houses]);
   69:                         else
   70:                                 printf("with a hotel, rent is %d\n",
   71:                                     rnt=pp->rent[pp->houses]);
   72:                 else
   73:                         printf("rent is %d\n", rnt = pp->rent[0]);
   74:                 break;
   75:           case RR:
   76:                 rnt = 25;
   77:                 rnt <<= (plp->num_rr - 1);
   78:                 if (spec)
   79:                         rnt <<= 1;
   80:                 printf("rent is %d\n", rnt);
   81:                 break;
   82:           case UTIL:
   83:                 rnt = roll(2, 6);
   84:                 if (plp->num_util == 2 || spec) {
   85:                         printf("rent is 10 * roll (%d) = %d\n", rnt, rnt * 10);
   86:                         rnt *= 10;
   87:                 }
   88:                 else {
   89:                         printf("rent is 4 * roll (%d) = %d\n", rnt, rnt * 4);
   90:                         rnt *= 4;
   91:                 }
   92:                 break;
   93:         }
   94:         cur_p->money -= rnt;
   95:         plp->money += rnt;
   96: }
Syntax (Markdown)