|
|
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 l
Length: 2704 (0xa90)
Types: TextFile
Names: »lib.c«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
└─⟦this⟧ »EUUGD18/General/Hangman1/lib.c«
/* lib.c
* group of short hangman library routines.
* written by: ritcv!jxs7451
*/
#include "hangman.h"
#include<stdio.h>
/* prints out the dead punk */
die(att)
int att;
{
if (att > 1)
printf("You used %d turns to lose %s.\n\n",att,getlogin());
else
printf("You used %d turn to lose %s.\n\n",att,getlogin());
puts("Better luck next time!");
}
/* does shell escape to login shell */
doshell()
{
char *getenv();
clbtm();
setcur(ERROR,1);
printf("sporning a shell. ^D to return to hangman %s\n",VERSION);
reset_term();
system(getenv("SHELL"));
}
/* function to print out some quick help info */
help()
{
setcur(1,1);
epage();
printf("\nHangman %s help:\n",VERSION);
puts("commands:");
puts(" 'a' to 'z' : choose that letter");
puts(" '!' : shell escape to login shell");
puts(" 'G' : try to guess the whole word");
puts(" '?' : print help");
puts(" '^R' : redraw screen (control r)");
puts(" 'Q' : quit hangman\n");
puts("- all words contain small letters only.");
printf("- the default minimum word length is %d.\n",MINWORD);
printf("- the -l option sets the minimum word lenth to %d.\n",LMINWORD);
printf("- the -L option sets the minimum word lenth to %d.\n",LLMINWORD);
puts("- the -D option is only for hangman development.");
puts("- the -h option gives you less misses(ie harder).");
puts("- the -e option gives you more misses(ie easier).");
printf("- hangman %s is public domain.\n",VERSION);
puts("- written by: ritcv!jxs7451");
printf("\nHit space to continue.");
while (getchar() != ' ') ;
drawscrn();
}
/* prints intro stuff */
drawscrn()
{
setcur(1,1);
epage();
printf("Welcome, %s to hangman %s.\n",getlogin(),VERSION);
printf("Hit '?' for help.");
}
/* prints error msg when use -h and -e at the same time */
twolev()
{
puts("Cannot use 'e' and 'h' options at the same time.");
exit(0);
}
/* prints the usage and quits.. */
usage()
{
puts("usage: hangman [-ehlDL]");
exit(0); /* terminate program */
}
/* function to clear out the tried array */
cltried(arr)
int arr[];
{
int i;
for (i = 0; i == 127; i++)
arr[i] = 0;
arr['!'] = 1; /* set so can shell escape */
arr['G'] = 1; /* set so can guess all word */
arr['Q'] = 1; /* set so can quit */
arr['?'] = 1; /* set so can do help */
arr[18] = 1; /* set so can do ^R */
}
/* the options 'l' and 'L' used together */
twolen()
{
puts("Cannot use 'l' and 'L' options at the same time.");
exit(0);
}
/* clears the error area */
clbtm()
{
int i;
for (i = ERROR; i != (ERROR + 4); i++)
erasel(i,1);
}