#include <qt/qapplication.h>
#include <qt/qwidget.h>
#include <qt/qpainter.h>
#include <qt/qwmatrix.h>

#include <stdio.h>
#include <math.h>

#include <jabaiface.h>
#include <geomhelp.h>

int totalCells = 50;

void makeLabyrinth(lcLabyrinth& maze);

void main(int argc, char **argv)
{
	lcJabaNode j(NULL, aic2Vect(0, 0), 0);
	QApplication a(argc, argv);
	
	// Create the main window.
	JabaIFace	*jif = new JabaIFace();
	
	// Create a labyrinth
	lcLabyrinth maze;
	
	makeLabyrinth(maze);

	jif->maze(maze);

	a.setMainWidget(jif);
	jif->show();
	jif->startTimer(50);
	return a.exec();	
}

void makeLabyrinth(lcLabyrinth& maze)
{
	maze.addBound(aic2Rect(0.49, 0, 0.02, 0.5));

	maze.addBound(aic2Rect(0, 0.16, 0.41, 0.02));
	maze.addBound(aic2Rect(0.4, 0.16, 0.02, 0.41));
	maze.addBound(aic2Rect(0.41, 0.57, -0.20, -0.02));
	maze.addBound(aic2Rect(0.20, 0.57, 0.02, -0.30));
	maze.addBound(aic2Rect(0.1, 0.27, 0.20, 0.02));

	maze.addBound(aic2Rect(0., 0.75, 0.36, 0.02));
	maze.addBound(aic2Rect(0.35, 0.77, 0.02, -0.12));
	maze.addBound(aic2Rect(0.35, 0.65, 0.20, 0.02));
	maze.addBound(aic2Rect(0.55, 0.65, 0.02, 0.17));
	maze.addBound(aic2Rect(0.55, 0.80, -0.30, 0.02));
	
	maze.addBound(aic2Rect(0., 0.9, 0.71, 0.02));
	maze.addBound(aic2Rect(0.70, 0.92, 0.02, -0.52));
	maze.addBound(aic2Rect(0.70, 0.40, 0.15, 0.02));
	
	maze.addBound(aic2Rect(0.60, 0.10, 0.25, 0.20));
}
