[net.games] Battleships

juda@hounx.UUCP (#J.KAMINETSKY) (05/21/85)

Does anyone know How many ships you get in Battleships.
What are the names of the ships?
How many boxes is each ship?
How many of each ship?'
Is there a standard size grid?

Please respond by mail to hounx!juda

juda@hounx.UUCP (#J.KAMINETSKY) (06/17/85)

I have posted source for battleships to net.sources.

dpb@cbosgd.UUCP (Dan Bidinger) (06/18/85)

	How do you get battleships to work?  I tried "cc"ing it but it didn't
	work, it said some stuff about undefined stuff.  And it wasnt a shell
	archive.

ccrdan@ucdavis.UUCP (Dan Gold) (06/20/85)

> 
> 	How do you get battleships to work?  I tried "cc"ing it but it didn't
> 	work, it said some stuff about undefined stuff.  And it wasnt a shell
> 	archive.

The compilier is complaining about the lack of a "#define A_REVERSE ..." state-
ment in the program.  The value of "..." is the needed information (at least I
hope that is the only thing needed).  If the author of "battleships" is reading
this, could he please post the missing information and perhaps a documentation
page?

Dan

...ucbvax!ucdavis!minnie:ccrdan

herbie@watdcsu.UUCP (Herb Chong [DCS]) (06/20/85)

In article <1264@cbosgd.UUCP> dpb@cbosgd.UUCP (Dan Bidinger) writes:
>
>	How do you get battleships to work?  I tried "cc"ing it but it didn't
>	work, it said some stuff about undefined stuff.  And it wasnt a shell
>	archive.

for our system, changing the wattron calls to wstandout and wattroff to
wstandend with appropriate changes in the arguements works.  are
the wattron and wattroff calls standard in some version of curses?
we have (mostly) a 4.2 curses package.

Herb Chong...

I'm user-friendly -- I don't byte, I nybble....

UUCP:  {decvax|utzoo|ihnp4|allegra|clyde}!watmath!water!watdcsu!herbie
CSNET: herbie%watdcsu@waterloo.csnet
ARPA:  herbie%watdcsu%waterloo.csnet@csnet-relay.arpa
NETNORTH, BITNET, EARN: herbie@watdcs, herbie@watdcsu

trt@rti-sel.UUCP (Tom Truscott) (06/21/85)

Here is a diff which can be used to get battleships to run on 4.2 BSD.
I sure wish it used cursor control to aim shots
rather than requiring x,y coordinates.  I might play it then.
	Tom Truscott
-----------------
8a9,13
> /* rti-sel!trt: hack to support old-fashioned curses */
> #ifndef	A_REVERSE
> #define wattron(w, foo) wstandout(w)
> #define wattroff(w, foo) wstandend(w)
> #endif
498c503,508
< 	errwin=newwin(1,COLS,23,0);
---
> 	/* rti-sel!trt: fix for window manager */
> 	errwin=newwin(1,COLS,LINES-1,0);
> 	if (errwin == NULL) {
> 		fprintf(stderr, "cannot create error window\n");
> 		return;
> 	}
613a624,641
> 
> #ifndef A_REVERSE
> /* need to define some other routines */
> cbreak()
> {
> 	raw();	/* sure hope this is good enough */
> }
> 
> flash()
> {
> 	extern int _putchar();
> 
> 	if (VB)
> 		_puts(VB);
> 	else
> 		putchar('\07');
> }
> #endif

lab@qubix.UUCP (Larry Bickford) (06/25/85)

A slight correction to Tom Truscott's battleship fix (thanks for the
rest of the fixes, Tom!):

> 613a624,641
> > 
> > #ifndef A_REVERSE
> > /* need to define some other routines */
> > cbreak()
> > {
> > 	crmode();	/* sets cbreak mode, cf. nocrmode() */
> > }
(continue with Tom's fixes)

Also, beware if your standout characters occupy a screen space. It might
be better if the columns were two apart anyway...
-- 
		The Ice Floe of Larry Bickford
		{amd,decwrl,sun,idi,ittvax}!qubix!lab

You can't settle the issue until you've settled how to settle the issue.

jrm1@pyuxh.UUCP (J McKeel) (06/25/85)

I think I missed the posting of this in net.sources.  Would someone
please repost or send it to me via e-mail.  Thanks in advance.

John McKeel
ihnp4!pyuxh!jrm1

lab@qubix.UUCP (Larry Bickford) (06/27/85)

One other gotcha in Tom Truscott's 4.2 adaptation:
> 613a624,641
> > 
> > #ifndef A_REVERSE
> > /* need to define some other routines */
> > cbreak()
> > {
> > 	raw();	/* sure hope this is good enough */
> > }
> > 
> > flash()
> > {
> > 	extern int _putchar();
> > 
> > 	if (VB)
!!! 		_puts(VB);
> > 	else
> > 		putchar('\07');
> > }
> > #endif

+++Remove the semicolon after _puts(VB)
_puts() is a macro which includes the semicolon (Thanks, Berzerkley!)
so the extra semicolon is an empty statement which separates the "else"
from the "if"

Also, remember that crmode() is somewhat safer than raw() and does the
job.

BTW, I am modifying it under 4.2 to make it faster and to space the
regions out for easier readability (and let you exit safely with
SIGINT). But wstandout/wstandend still seem to be no-ops on my TeleVideo
925.
-- 
		The Ice Floe of Larry Bickford
		{amd,decwrl,sun,idi,ittvax}!qubix!lab

You can't settle the issue until you've settled how to settle the issue.