|
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. * */