summary refs log tree commit diff stats
path: root/Source/Validator.h
diff options
context:
space:
mode:
authorjbzdarkid <jbzdarkid@gmail.com>2019-11-09 13:39:10 -0800
committerjbzdarkid <jbzdarkid@gmail.com>2019-11-09 13:39:10 -0800
commit36be1ed32ac9a554f0b11fcc13b5699e717b81f2 (patch)
tree383618d781bc5b4701b31555f90b8a629fe6d205 /Source/Validator.h
parent413e1f0aaae961660781675158e38520126c11b6 (diff)
downloadwitness-tutorializer-36be1ed32ac9a554f0b11fcc13b5699e717b81f2.tar.gz
witness-tutorializer-36be1ed32ac9a554f0b11fcc13b5699e717b81f2.tar.bz2
witness-tutorializer-36be1ed32ac9a554f0b11fcc13b5699e717b81f2.zip
Functioning solver/validator (at least for mazes)
Diffstat (limited to 'Source/Validator.h')
-rw-r--r--Source/Validator.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/Source/Validator.h b/Source/Validator.h new file mode 100644 index 0000000..cddc293 --- /dev/null +++ b/Source/Validator.h
@@ -0,0 +1,27 @@
1#pragma once
2#include <vector>
3#include <tuple>
4
5#ifndef NEGATIONS_CANCEL_NEGATIONS
6#define NEGATIONS_CANCEL_NEGATIONS true
7#endif
8
9#ifndef SIMPLE_POLYOMINOS
10#define SIMPLE_POLYOMINOS true
11#endif
12
13#ifndef DISABLE_CACHE
14#define DISABLE_CACHE false
15#endif
16
17struct Region{};
18struct Puzzle;
19struct Pos;
20class Validator {
21public:
22 static void Validate(Puzzle& p);
23
24private:
25 static void RegionCheckNegations(Puzzle& p, const Region& r);
26 static std::vector<Pos> RegionCheck(Puzzle& p, const Region& r);
27};