Tidy up curses state when we quit, instead of just doing exit().
This commit is contained in:
parent
f9ef5df9fc
commit
5ffaff9f39
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: human.cc,v 1.1 2003/12/27 01:16:55 christos Exp $ */
|
||||
/* $NetBSD: human.cc,v 1.2 2005/07/02 15:48:03 jdc Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2003 The NetBSD Foundation, Inc.
|
||||
@ -40,14 +40,17 @@
|
||||
* human.C: Human interface for dots, using rogue-like keys.
|
||||
*/
|
||||
#include "defs.h"
|
||||
RCSID("$NetBSD: human.cc,v 1.1 2003/12/27 01:16:55 christos Exp $")
|
||||
RCSID("$NetBSD: human.cc,v 1.2 2005/07/02 15:48:03 jdc Exp $")
|
||||
|
||||
#include "human.h"
|
||||
#include "board.h"
|
||||
#include "box.h"
|
||||
#include "ttyscrn.h"
|
||||
|
||||
#define CONTROL(a) ((a) & 037)
|
||||
|
||||
extern GAMESCREEN *sc;
|
||||
|
||||
HUMAN::HUMAN(const char c) :
|
||||
PLAYER(c),
|
||||
_curx(0),
|
||||
@ -99,6 +102,8 @@ void HUMAN::play(const BOARD& b, size_t& y, size_t& x, int& dir)
|
||||
break;
|
||||
|
||||
case 'q': case 'Q':
|
||||
// Cleanup
|
||||
delete sc;
|
||||
exit(0);
|
||||
|
||||
case CONTROL('L'): case CONTROL('R'):
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: main.cc,v 1.2 2003/12/28 17:53:48 thorpej Exp $ */
|
||||
/* $NetBSD: main.cc,v 1.3 2005/07/02 15:48:03 jdc Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2003 The NetBSD Foundation, Inc.
|
||||
@ -40,7 +40,7 @@
|
||||
* main.C: Main dots program
|
||||
*/
|
||||
#include "defs.h"
|
||||
RCSID("$NetBSD: main.cc,v 1.2 2003/12/28 17:53:48 thorpej Exp $")
|
||||
RCSID("$NetBSD: main.cc,v 1.3 2005/07/02 15:48:03 jdc Exp $")
|
||||
|
||||
#include <iostream>
|
||||
#include <unistd.h>
|
||||
@ -52,6 +52,8 @@ RCSID("$NetBSD: main.cc,v 1.2 2003/12/28 17:53:48 thorpej Exp $")
|
||||
#include "human.h"
|
||||
#include "ttyscrn.h"
|
||||
|
||||
GAMESCREEN *sc;
|
||||
|
||||
// Print the command line usage
|
||||
static void usage(char* pname)
|
||||
{
|
||||
@ -173,7 +175,7 @@ int main(int argc, char** argv)
|
||||
}
|
||||
}
|
||||
|
||||
GAMESCREEN *sc = TTYSCRN::create(acs, ny, nx);
|
||||
sc = TTYSCRN::create(acs, ny, nx);
|
||||
if (sc == NULL)
|
||||
::errx(1, "Dimensions too large for current screen.");
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user