Tidy up curses state when we quit, instead of just doing exit().

This commit is contained in:
jdc 2005-07-02 15:48:03 +00:00
parent f9ef5df9fc
commit 5ffaff9f39
2 changed files with 12 additions and 5 deletions

View File

@ -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'):

View File

@ -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.");