PuzzleSolver/Source/functions/AbstractionLayers/DestructionPower/DestructionPower.h

30 lines
1.0 KiB
C
Raw Normal View History

#pragma once
2018-01-19 21:36:31 +01:00
//TODO!! increase Destructioncount
2018-01-25 22:14:00 +01:00
#define DESTRUCTION_COUNT 3
2017-12-20 23:15:17 +01:00
#include "DestructionPower_Properties.h"
#include "../AbstraktionLayer_Base.h"
#include <vector>
#include <iostream>
#include <bitset>
#include <random>
class DestructionPower : public AbstractionLayer_Base<DestructionPower_Properties>
{
public:
bool PreProcessing(coor mySize,const vector<Part*>* partArray)override;
bool EvaluateQuality (coor constraintCoordinate, qualityVector& qVector) override;
2017-12-22 23:09:23 +01:00
bool SetConstraintOnPosition(coor constraintCoordinate, DestructionPower_Properties constraint);
bool RemoveConstraintOnPosition(coor constraintCoordinate)override;
void DestructionOfSurrounding(coor constraintCoordinate);
2017-12-22 22:55:55 +01:00
int getNextAbstractionLayer(coor newCoordinate, int currentAbstractionLayer);
void setDestructionPower(coor myCoor, int AbstractionLevel, float destructionPower)
{ m_constraintMatrix[myCoor.col][myCoor.row].DestructionArray[AbstractionLevel] = destructionPower;}
private:
float defaultDestructionPower(int i);
};