// Computer Science 367, Section 3, Fall 1997
// Instructor: Michael Siff (siff@cs.wisc.edu)
//
// Programming Assignment Two
//
//
// FILE: game.h
//
// Header file for main function for the aMazed game.



#include <assert.h>
#include <curses.h>
#include <stdlib.h>
#include "maze.h"
#include "player.h"
#include "direction.h"


// some parameters for the game
//   if you like, change these or add others

// if NOVICE_MODE is true then full maze is displayed from get-go
const bool NOVICE_MODE = false; 

// MAX_MOVES is the upper limit for moves before you lose
const unsigned int MAX_MOVES = 350;



// actions
enum action {
GO_EAST,
GO_WEST,
GO_NORTH,
GO_SOUTH,
GO_BACK,
CLEAR,
RESET,
QUIT,
LOSE,
WIN};

action getNextAction();
void messageBar(char *msg, unsigned long moves);
void play(const Maze& M, Player& p);
