Complete.Org: Mailing Lists: Archives: freeciv-dev: May 2004:
[Freeciv-Dev] Re: (PR#8854) remove some specialist references
Home

[Freeciv-Dev] Re: (PR#8854) remove some specialist references

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: jdorje@xxxxxxxxxxxxxxxxxxxxx
Subject: [Freeciv-Dev] Re: (PR#8854) remove some specialist references
From: "Vasco Alexandre da Silva Costa" <vasc@xxxxxxxxxxxxxx>
Date: Sat, 29 May 2004 06:36:58 -0700
Reply-to: rt@xxxxxxxxxxx

<URL: http://rt.freeciv.org/Ticket/Display.html?id=8854 >

On Fri, 28 May 2004, Jason Short wrote:

>
> <URL: http://rt.freeciv.org/Ticket/Display.html?id=8854 >
>
> Raimar Falke wrote:
> > <URL: http://rt.freeciv.org/Ticket/Display.html?id=8854 >
> >
> > On Thu, May 27, 2004 at 05:52:49PM -0700, Jason Short wrote:
> >
> >    /* First try to kill off the specialists */
> >    while (pop_loss > 0 && city_specialists(pcity) > 0) {
> > -    if (pcity->specialists[SP_TAXMAN] > 0) {
> > -      pcity->specialists[SP_TAXMAN]--;
> > -    } else if (pcity->specialists[SP_SCIENTIST] > 0) {
> > -      pcity->specialists[SP_SCIENTIST]--;
> > -    } else {
> > -      assert(pcity->specialists[SP_ELVIS] > 0);
> > -      pcity->specialists[SP_ELVIS]--;
> > +    /* This loop could be more efficient. */
> > +    for (i = SP_COUNT - 1; i >= 0; i--) {
> > +      if (pcity->specialists[i] > 0) {
> > +   pcity->specialists[i]--;
> > +   pop_loss--;
> > +   break;
> > +      }
> >
> > Here you loose information. You have to define an order/importance for
> > each specialist. You encode this information in the SP_* index. This
> > is bad.
>
> But this is already the case!  In any case the ordering doesn't really
> matter.  If the player has famine he shouldn't get too much say about
> who gets killed.  It might even be better to make it random.

I say just leave it like it is, it works and it simple...

---
Vasco Alexandre da Silva Costa @ Instituto Superior Tecnico, Lisboa






[Prev in Thread] Current Thread [Next in Thread]