X-Git-Url: https://git.cameronkatri.com/bsdgames-darwin.git/blobdiff_plain/94b5353c71e7246077d468afe68d51ce85fc213d..fae54db4d115cb57da03e0b7f5b4fa2abde95da2:/monop/trade.c diff --git a/monop/trade.c b/monop/trade.c index e8207f99..ff60ca0a 100644 --- a/monop/trade.c +++ b/monop/trade.c @@ -1,4 +1,4 @@ -/* $NetBSD: trade.c,v 1.3 1995/03/23 08:35:19 cgd Exp $ */ +/* $NetBSD: trade.c,v 1.9 2004/01/27 20:30:30 jsm Exp $ */ /* * Copyright (c) 1980, 1993 @@ -12,11 +12,7 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors + * 3. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * @@ -33,15 +29,16 @@ * SUCH DAMAGE. */ +#include #ifndef lint #if 0 static char sccsid[] = "@(#)trade.c 8.1 (Berkeley) 5/31/93"; #else -static char rcsid[] = "$NetBSD: trade.c,v 1.3 1995/03/23 08:35:19 cgd Exp $"; +__RCSID("$NetBSD: trade.c,v 1.9 2004/01/27 20:30:30 jsm Exp $"); #endif #endif /* not lint */ -# include "monop.ext" +#include "monop.ext" struct trd_st { /* how much to give to other player */ int trader; /* trader number */ @@ -52,15 +49,22 @@ struct trd_st { /* how much to give to other player */ typedef struct trd_st TRADE; -static char *list[MAX_PRP+2]; +static const char *plist[MAX_PRP+2]; static int used[MAX_PRP]; static TRADE trades[2]; -trade() { +static void get_list(int, int ); +static int set_list(OWN *); +static void summate(void); +static void do_trade(void); +static void move_em(TRADE *, TRADE *); - reg int tradee, i; +void +trade() +{ + int tradee, i; trading = TRUE; for (i = 0; i < 2; i++) { @@ -92,18 +96,20 @@ over: if (getyn("Is the trade ok? ") == 0) do_trade(); } + /* * This routine gets the list of things to be trader for the * player, and puts in the structure given. */ +static void get_list(struct_no, play_no) -int struct_no, play_no; { - - reg int sn, pn; - reg PLAY *pp; - int numin, prop, num_prp; - OWN *op; - TRADE *tp; + int struct_no, play_no; +{ + int sn, pn; + PLAY *pp; + int numin, prop, num_prp; + OWN *op; + TRADE *tp; for (numin = 0; numin < MAX_PRP; numin++) used[numin] = FALSE; @@ -116,7 +122,7 @@ int struct_no, play_no; { numin = set_list(pp->own_list); for (num_prp = numin; num_prp; ) { prop = getinp("Which property do you wish to trade? ", - list); + plist); if (prop == numin) break; else if (used[prop]) @@ -144,32 +150,36 @@ once_more: } } } + /* * This routine sets up the list of tradable property. */ +static int set_list(the_list) -reg OWN *the_list; { - - reg int i; - reg OWN *op; + OWN *the_list; +{ + int i; + OWN *op; i = 0; for (op = the_list; op; op = op->next) if (!used[i]) - list[i++] = op->sqr->name; - list[i++] = "done"; - list[i--] = 0; + plist[i++] = op->sqr->name; + plist[i++] = "done"; + plist[i--] = 0; return i; } + /* * This routine summates the trade. */ -summate() { - - reg bool some; - reg int i; - reg TRADE *tp; - OWN *op; +static void +summate() +{ + bool some; + int i; + TRADE *tp; + OWN *op; for (i = 0; i < 2; i++) { tp = &trades[i]; @@ -190,22 +200,26 @@ summate() { printf("\t-- Nothing --\n"); } } + /* * This routine actually executes the trade. */ -do_trade() { - +static void +do_trade() +{ move_em(&trades[0], &trades[1]); move_em(&trades[1], &trades[0]); } + /* * This routine does a switch from one player to another */ +static void move_em(from, to) -TRADE *from, *to; { - - reg PLAY *pl_fr, *pl_to; - reg OWN *op; + TRADE *from, *to; +{ + PLAY *pl_fr, *pl_to; + OWN *op; pl_fr = &play[from->trader]; pl_to = &play[to->trader]; @@ -221,14 +235,16 @@ TRADE *from, *to; { } set_ownlist(to->trader); } + /* * This routine lets a player resign */ -resign() { - - reg int i, new_own; - reg OWN *op; - SQUARE *sqp; +void +resign() +{ + int i, new_own; + OWN *op; + SQUARE *sqp; if (cur_p->money <= 0) { switch (board[cur_p->loc].type) { @@ -260,7 +276,7 @@ resign() { } while (new_own == player); name_list[num_play] = "done"; } - if (getyn("Do you really want to resign? ", yn) != 0) + if (getyn("Do you really want to resign? ") != 0) return; if (num_play == 1) { printf("Then NOBODY wins (not even YOU!)\n"); @@ -284,7 +300,7 @@ resign() { sqp->owner = -1; sqp->desc->morg = FALSE; if (sqp->type == PRPTY) { - isnot_monop(sqp->desc->mon_desc); + is_not_monop(sqp->desc->mon_desc); sqp->desc->houses = 0; } } @@ -294,7 +310,7 @@ resign() { for (i = player; i < num_play; i++) { name_list[i] = name_list[i+1]; if (i + 1 < num_play) - cpy_st(&play[i], &play[i+1], sizeof (PLAY)); + play[i] = play[i+1]; } name_list[num_play--] = 0; for (i = 0; i < N_SQRS; i++)