|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T o
Length: 3712 (0xe80)
Types: TextFile
Names: »opts.c«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
└─⟦this⟧ »EUUGD18/X/Xgo/opts.c«
/*
* $Header: opts.c,v 1.2 88/02/13 12:50:46 hale Exp $
*/
#include "go.h"
#include <strings.h>
#define ISARG(s) (!strncmp(*argv,s,strlen(s)))
int numberblink;
parseline (argc, argv)
int argc;
char **argv;
{
char **argval;
extern char *loadname,*hisname, *myname;
extern int strength,beepflg,demflg,changeflg,myport,handicaps;
extern int loadflg;
extern float wins;
GetStr();
numberblink = 4;
changeflg = 0;
handicaps = -2;
argval = argv;
display[0] = '\0';
dimensions = MAXDIM;
myport = DEFAULTPORT;
demflg = beepflg = 0;
hisname = NULL;
while (++argv,--argc>0) {
if (ISARG("-h")) {
longhelp();
} else if (ISARG("-s")) {
if (--argc>0) {
dimensions = atoi(*++argv);
if (dimensions < 7) dimensions = 7;
if (dimensions > 19) dimensions = 19;
} else helpstart(argval);
} else if (ISARG("-d")) {
if (--argc>0) strcpy(*++argv,display);
else helpstart(argval);
} else if (ISARG("-p")) {
if (--argc>0) myport = atoi(*++argv);
else helpstart(argval);
} else if (ISARG("-H")) {
if (--argc>0) handicaps = atoi(*++argv);
else helpstart(argval);
} else if (ISARG("-c")) {
changeflg=1;
} else if (ISARG("-r")) {
showstr();
exit(0);
} else if (ISARG("-m")) {
demflg=1;
} else if (ISARG("-b")) {
beepflg=1;
} else if (ISARG("-n")) {
if (--argc>0) {
numberblink = atoi(*++argv);
if (numberblink<0) numberblink = 4;
} else helpstart(argval);
} else if (ISARG("-l")) {
if (--argc>0) {
loadflg++;
loadname= *++argv;
} else helpstart(argval);
} else if (ISARG("-R")) {
wins = 0.0;
if (--argc) {
if (*argv[1]=='+') {
strength++;
argv++;
} else if (*argv[1]=='-') {
strength--;
argv++;
} else if (--argc) {
switch (*argv[2]) {
WHEN 'k':
strength = 31 - atoi(argv[1]);
WHEN 'd':
strength = 30 + atoi(argv[1]);
WHEN 'p':
strength = 39 + atoi(argv[1]);
OTHERWISE:
helpstart(argval);
}
argv+=2;
} else
helpstart(argval);
if (strength < 1) strength = 1;
else if (strength > MAXSTR) strength = MAXSTR;
savestr0();
exit(0);
} else
helpstart(argval);
} else {
hisname = *argv++;
}
}
if (hisname == NULL) helpstart();
}
helpstart(argv)
char *argv[];
{
fprintf (stderr,"\nUsage:\n");
fprintf (stderr,"%s {opts} user[@host]\n",argv[0]);
fprintf (stderr,"{opts} is any of :\n");
fprintf (stderr,"-d display set your display.\n");
fprintf (stderr,"-p port# which address to meet at.\n");
fprintf (stderr,"-m turn on demo mode during handicap setup.\n");
fprintf (stderr,"-b turn on beeping during plays and messages.\n");
fprintf (stderr,"-s size set the board size [7-19].\n");
fprintf (stderr,"-n blink set the number of times to blink a piece.\n");
fprintf (stderr,"-H #handicaps set the number of handicap stones.\n");
fprintf (stderr,"-c give a quick summery of the last changes\n");
fprintf (stderr,"-l <filename> load a saved/sample game.\n");
fprintf (stderr," changes made to the program and the version number.\n\n");
fprintf (stderr,"OR:\n");
fprintf (stderr,"\"%s -r\" for your current rank.\n",argv[0]);
fprintf (stderr,"\"%s -h\" for help.\n",argv[0]);
fprintf (stderr,"\"%s -R # {k|d|p} to set your rank to # kyu/dan/pro dan respectively\n",argv[0]);
fprintf (stderr,"\"%s -R {+|-} to increase/decrease your rank respectively\n",argv[0]);
exit (0);
}
/*
* $Log: opts.c,v $
* Revision 1.2 88/02/13 12:50:46 hale
* added searching for new opts and opponent name.
*
*/