- Main Page
- Classes
- Files

# 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 };