[comp.sources.bugs] conquest problems

wigle@canisius.UUCP (Ken Wigle) (10/30/87)

   I have trouble compiling the conquest package. I get "_chr undefined"
 when I try to link all the files together. CAn anyone help? Has anyone
 got the package to work , and if so, how?


                                    Thanks,
                                        Ken

rwhite@nusdhub.UUCP (Robert C. White Jr.) (11/05/87)

In article <1799@canisius.UUCP>, wigle@canisius.UUCP (Ken Wigle) writes:
>    I have trouble compiling the conquest package. I get "_chr undefined"
>  when I try to link all the files together. CAn anyone help? Has anyone
>  got the package to work , and if so, how?

	I have gotten it to work just fine, but there are a few
problems with the wohle thing:

	1)	Ther is a line in header.h which reads:
#define	beep()	putchar(''); 
	or something like this.  It is well under the "do not alter
below this line" line.  Delete it [or comment it out]  it is totally
wrong on my machine, and it does no harm to remove it at all.  [so it
beeps?? so what???]  theis may have been a kludge-around on machines
which do not have curses.

	2)	Whatever shell archiver he used was not to fond of
his two and three line long fscanf()(s).  I think these too are in the
header.h file, but I am not shure.... the shar cut these lines in half.
Find the cuts and join them, and you should have no problems with that.

	3)	The make file contains many "never used" items which
should be deleted for cleanness.

	4)	The compilation command contains "-lcurses -ltermlib"
or "-lcurses -ltermcap" [or something like that]  the two libraries
are mutually exclusive, it you have curses, delete the second library
as it will botch any link.  This is probably your link problem.

	5)	you will want to "chmod u+s" the executable as the
permissions on the data files will not allow any player who is not
the "owner" to take an effective turn if you do not.

	6)	Dont use the "run" at script, get the conquest -x
command in your crontab instead.


	I have played an all-out game of solitare and have several 
critique/critisems to offer, the origin of several will not show
up untill you have played for a while:

	1) the game asks "do you want to create a new navy?" [or
some such] when you Construct ships in a city that already has
a navy in it.  If you say no, it creates a new navy, if you say
yse, it adds the new ships to the old navy.  This is the oppisit
of the question.
	2) If you have 6 or more armies and/or navies, you can't get
to the bottom of the list.  As navies always come after armies it
makes it quite difficult to launch an assault.
	3) many of the screens start "sticking"  that is they don't
disapear when the map is supposed to return.  If you scroll the map,
it returns.
	4) the prompts don't always clean themselves up.
	5) the "hit return to continue" is on some, but not all
error conditions
	6) some screen choices [like S and M] fail silently durring
the execution of the sub-menus.

	The list is quite a bit longer, but none of these problems
actually get in the way of play.  The "quirks" are easy to get used to
and the game plays fairly well.  [I would have trouble dooing so
well at writing a game]  But I think the production stuff is too easy.
a devisor applied to the ore/food/gold/jems production would make
the play curve smoother [or perhaps the expenses chould run at a
different rate]
	After about 70 "years"  [fast forward solitare play] The
number of people required to be resident in a city becomes too large
for the game to play effectivly.  After about 200 turns, at that
rate, the game would stagnate.  nobody could create "new" solders
at all.  [unless max-population per sector = infinity, and then only
mabey]

Rob.

guy%gorodish@Sun.COM (Guy Harris) (11/05/87)

> 	1)	Ther is a line in header.h which reads:
> #define	beep()	putchar(''); 
> 	or something like this.  It is well under the "do not alter
> below this line" line.  Delete it [or comment it out]  it is totally
> wrong on my machine, and it does no harm to remove it at all.  [so it
> beeps?? so what???]  theis may have been a kludge-around on machines
> which do not have curses.

Or machines with "curses" packages that don't have a "beep" function.

If it reads something like "putchar('')", it probably means he stuck in a BEL
characer (control-G) between the single quotes, which is an evil thing to do;
better it should be "putchar('\007')".

> 	4)	The compilation command contains "-lcurses -ltermlib"
> or "-lcurses -ltermcap" [or something like that]  the two libraries
> are mutually exclusive,

On systems with the newer version of "curses".  Systems with older versions  of
"curses" (that do not, I think, have a "beep" function) need "-ltermlib".
	Guy Harris
	{ihnp4, decvax, seismo, decwrl, ...}!sun!guy
	guy@sun.com