#ifndef MAZE004_H
#define MAZE004_H

#include <gobj.h>
#include <mazedisp03.h>
#include <mazegameD2state01.h>


/*!
\brief Simple maze D2 game. 
*/
class maze004
{
public:

  /** Brief description of each test. */
  static string doc[];

  /** Global graphics stream. */
  gobjContainer xGraphics;

  /** Maze game state. */
  static mazegameD2state01* mg;
  /** Maze game display. */
  static mazedisp03* md;

  /** Default keyboard handler - ESC to quit. */
  static void keyboard01(unsigned char key, int x, int y);
  /** Displays the gobj::global with double buffering. */
  static void display01();
  /** Graphics dependent on window size needs to be updated. */
  static void reshape01(intc width_,intc height_);

  static void special01(int key, int x, int y);

  /** ./main prog=12 m=10 n=20 dx=0.15 backgroundcolor=0,255,0 wallcolor=0,25,255 randozize=0 id=1 origin=-1.4,-.5,0 - Display m by n maze. */
  maze004(int argc, char** argv);

  /** Enter infinite graphics display. */
  void eval();

};


#endif


