Symmetry.h

00001 /*
00002 * Neural Networks Tearm Project
00003 * Martin Johne
00004 * 04.10.2006
00005 */
00006 #pragma once
00007 #include "LargeInteger.h"
00008 
00010 class CSymmetry
00011 {
00012 public:
00013 
00015         CSymmetry(int boardSizeX, int boardSizeY, int boardSizeZ);
00016         ~CSymmetry(void);
00017 
00019         char* getSymmetry(char *pGameBoard);
00020 
00021 private:
00022 
00023         void symmetryOriginal();
00024         void symmetryMirrorVertical();
00025         void symmetryMirrorHorizontal();
00026         void symmetryMirrorVerticalHorizontal();
00027         void symmetryRotateRight();
00028         void symmetryRotateRightMirrorVertical();
00029         void symmetryRotateLeft();
00030         void symmetryRotateLeftMirrorVertical();
00031 
00032         
00033         char *pBoard;
00034         char *pBoardSymmetry;
00035         int  boardSizeX, boardSizeY, boardSizeZ;
00036         int  boardFieldCount, boardFieldCountPlain;
00037         CLargeInteger *symmetryValue[8];
00038 };

Generated on Mon Jan 22 02:40:27 2007 for muele by  doxygen 1.4.7