+/* $NetBSD: getguess.c,v 1.10 2012/10/13 21:01:13 dholland Exp $ */
+
/*
- * Copyright (c) 1983 Regents of the University of California.
- * All rights reserved.
+ * Copyright (c) 1983, 1993
+ * The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
+ * 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* SUCH DAMAGE.
*/
+#include <sys/cdefs.h>
#ifndef lint
-static char sccsid[] = "@(#)getguess.c 5.4 (Berkeley) 6/1/90";
+#if 0
+static char sccsid[] = "@(#)getguess.c 8.1 (Berkeley) 5/31/93";
+#else
+__RCSID("$NetBSD: getguess.c,v 1.10 2012/10/13 21:01:13 dholland Exp $");
+#endif
#endif /* not lint */
-# include "hangman.h"
+#include <sys/ttydefaults.h>
+#include "hangman.h"
/*
* getguess:
* Get another guess
*/
-getguess()
+void
+getguess(void)
{
- register int i;
- register int ch;
- register bool correct;
+ int i;
+ int ch;
+ bool correct;
leaveok(stdscr, FALSE);
for (;;) {
if (isupper(ch))
ch = tolower(ch);
if (Guessed[ch - 'a'])
- mvprintw(MESGY, MESGX, "Already guessed '%c'", ch);
+ mvprintw(MESGY, MESGX, "Already guessed '%c'",
+ ch);
else
break;
- }
- else if (ch == CTRL('D'))
- die();
- else
- mvprintw(MESGY, MESGX, "Not a valid guess: '%s'",
- unctrl(ch));
+ } else
+ if (ch == CTRL('D'))
+ die(0);
+ else
+ mvprintw(MESGY, MESGX,
+ "Not a valid guess: '%s'", unctrl(ch));
}
leaveok(stdscr, TRUE);
move(MESGY, MESGX);
clrtoeol();
- Guessed[ch - 'a'] = TRUE;
- correct = FALSE;
+ Guessed[ch - 'a'] = true;
+ correct = false;
for (i = 0; Word[i] != '\0'; i++)
if (Word[i] == ch) {
Known[i] = ch;
- correct = TRUE;
+ correct = true;
}
if (!correct)
Errors++;
}
-
/*
* readch;
* Read a character from the input
*/
-readch()
+int
+readch(void)
{
- register int cnt, r;
- auto char ch;
+ int cnt;
+ char ch;
cnt = 0;
for (;;) {
- if (read(0, &ch, sizeof ch) <= 0)
- {
+ if (read(0, &ch, sizeof ch) <= 0) {
if (++cnt > 100)
- die();
- }
- else if (ch == CTRL('L')) {
- wrefresh(curscr);
- mvcur(0, 0, curscr->_cury, curscr->_curx);
- }
- else
- return ch;
+ die(0);
+ } else
+ if (ch == CTRL('L')) {
+ wrefresh(curscr);
+ } else
+ return ch;
}
}