redid some of the includes and changed way statics are saved
This commit is contained in:
		@@ -1,7 +1,18 @@
 | 
			
		||||
//
 | 
			
		||||
// Created by mpapa on 05.12.2017.
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
#ifndef SOURCE_INPUT_H
 | 
			
		||||
#define SOURCE_INPUT_H
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
 | 
			
		||||
#include "../functions/AbstractionLayers/Layer1/AbstractionLayer_1_Properties.h"
 | 
			
		||||
#include "../functions/AbstractionLayers/DestructionPower/DestructionPower_Properties.h"
 | 
			
		||||
 | 
			
		||||
class LayerContainer;
 | 
			
		||||
 | 
			
		||||
class Part
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
@@ -28,10 +39,19 @@ public:
 | 
			
		||||
        m_numOfRotations = numOfRotations;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    AbstractionLayer_1_Properties m_test1;
 | 
			
		||||
    DestructionPower_Properties m_destruction;
 | 
			
		||||
 | 
			
		||||
    LayerContainer* myLayers;
 | 
			
		||||
private:
 | 
			
		||||
    int32_t m_partID;
 | 
			
		||||
    uint8_t m_numOfRotations;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class coor
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
    unsigned int col, row;
 | 
			
		||||
    coor(unsigned int newcol=-1,unsigned int newrow=-1): col(newcol), row(newrow)
 | 
			
		||||
    {}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif //SOURCE_INPUT_H
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,7 @@
 | 
			
		||||
//
 | 
			
		||||
// Created by mpapa on 05.12.2017.
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
#ifndef SOURCE_SOLVE_H
 | 
			
		||||
#define SOURCE_SOLVE_H
 | 
			
		||||
 | 
			
		||||
@@ -6,18 +10,12 @@
 | 
			
		||||
#include <opencv2/highgui/highgui.hpp>
 | 
			
		||||
#include <opencv2/imgproc/imgproc.hpp>
 | 
			
		||||
 | 
			
		||||
class Part;
 | 
			
		||||
#include "../functions/AbstractionLayers/Layer1/AbstractionLayer_1.h"
 | 
			
		||||
#include "../functions/AbstractionLayers/DestructionPower/DestructionPower.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
using namespace std;
 | 
			
		||||
 | 
			
		||||
class coor
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
    unsigned int col, row;
 | 
			
		||||
    coor(int newcol=-1,int newrow=-1): col(newcol), row(newrow)
 | 
			
		||||
    {}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
class LogEntry
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
@@ -34,7 +32,7 @@ public:
 | 
			
		||||
 | 
			
		||||
    LogEntry()
 | 
			
		||||
    {
 | 
			
		||||
        myCoor = coor();
 | 
			
		||||
        myCoor = coor(0,0);
 | 
			
		||||
        abstractionLevel=0;
 | 
			
		||||
        set=0;
 | 
			
		||||
    }
 | 
			
		||||
@@ -43,11 +41,47 @@ private:
 | 
			
		||||
    static int randomed;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
class Puzzle
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
    Puzzle(unsigned int newcols,unsigned int newrows):rows(newrows),cols(newcols){}
 | 
			
		||||
 | 
			
		||||
    coor getSizeAsCoor()
 | 
			
		||||
    {return {cols,rows};}
 | 
			
		||||
 | 
			
		||||
    DestructionPower* dp;
 | 
			
		||||
    AbstractionLayer_1* a1;
 | 
			
		||||
 | 
			
		||||
    void removeConstrains(coor removeCoordinates);
 | 
			
		||||
    void printPuzzle();
 | 
			
		||||
 | 
			
		||||
    void createRandomBox(){createRandomPuzzle();putIntoBox();shuffle();}
 | 
			
		||||
    void createRandomPuzzle(){a1->CreateRandomPuzzle();}
 | 
			
		||||
    void putIntoBox();
 | 
			
		||||
    void shuffle();
 | 
			
		||||
 | 
			
		||||
    vector<Part> myBox;
 | 
			
		||||
    vector<Part*> p_myBox;
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
 | 
			
		||||
    unsigned int rows;
 | 
			
		||||
    unsigned int cols;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
class LayerContainer
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
    AbstractionLayer_1_Properties m_test1;
 | 
			
		||||
    DestructionPower_Properties m_destruction;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
bool next(vector<LogEntry>& log, vector<Part*>& p_Box, Puzzle& puzzleMat);
 | 
			
		||||
coor calculateNextCoor(vector<LogEntry>& log, vector<Part*>& p_Box, Puzzle& puzzleMat);
 | 
			
		||||
void solve(vector<LogEntry>& log, vector<Part*>& p_Box, Puzzle& puzzleMat);
 | 
			
		||||
void setsolution(vector<LogEntry>& log, vector<Part*>& p_Box, Puzzle& puzzleMat);
 | 
			
		||||
bool backtrack(vector<LogEntry>& log, vector<Part*>& p_Box, puzzleMat);
 | 
			
		||||
bool backtrack(vector<LogEntry>& log, vector<Part*>& p_Box, Puzzle& puzzleMat);
 | 
			
		||||
 | 
			
		||||
void createNextLogElement(vector<LogEntry>& log, vector<Part*>& p_Box, Puzzle& puzzleMat);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user