
// Rubik's Cube Screensaver
// (C) 2005, Akop Karapetyan
//
// http://www.akop.org
//

#ifndef _CUBE_H
#define _CUBE_H

#define CUBE_NSQUARES		3
#define UINT unsigned int

#define FACE_FRONT			0
#define FACE_RIGHT			1
#define FACE_BACK			2
#define FACE_LEFT			3
#define FACE_TOP			4
#define FACE_BOTTOM			5

#define DECL_CUBE(x)		int x[6][CUBE_NSQUARES][CUBE_NSQUARES]

typedef struct {
	int nTwisty;
	int nCount;
} TwistType;

void cubeSolve(int nvCube[6][CUBE_NSQUARES][CUBE_NSQUARES]);
void cubeTwist(int nvCube[6][CUBE_NSQUARES][CUBE_NSQUARES], int nStackID, int nCount);

#endif