seratne / salvations-edge-verity

15 stars 18 forks source link

Use this solution lookup table to test the algorithm #9

Open alexis-matuk opened 2 weeks ago

alexis-matuk commented 2 weeks ago

I was playing around with the encounter's scenarios, and taking into account the restrictions for a scenario to be solvable there should only be 126 possible combinations. I saw PR #6 saying that having a lookup table for the solution could be the simpler approach so that's what I did.

The steps are different cause I used a different algorithm but they arrive at the same solution with the same number of swaps, so at the very least this table could work as testing data. If your algorithm produces the correct solution for all of these cases then we know it shouldn't have bugs for any possible in-game scenario.

Here's the algorithm to generate the possible scenarios and solve them https://github.com/alexis-matuk/verity-solver/tree/master

Case Inside left Inside middle Inside right Outisde left Outside middle Outisde right Steps
1 Circle Square Triangle Pyramid Sphere Cube [['Triangle', 'left', 'Square', 'right'], ['Circle', 'middle', 'Triangle', 'right']]
2 Circle Square Triangle Pyramid Cube Sphere [['Triangle', 'left', 'Square', 'middle'], ['Square', 'middle', 'Circle', 'right']]
3 Circle Square Triangle Pyramid Cylinder Cylinder [['Triangle', 'left', 'Square', 'middle']]
4 Circle Square Triangle Sphere Pyramid Cube [['Triangle', 'middle', 'Circle', 'left'], ['Circle', 'left', 'Square', 'right']]
5 Circle Square Triangle Sphere Cube Pyramid [['Circle', 'left', 'Square', 'middle'], ['Circle', 'left', 'Triangle', 'right'], ['Square', 'middle', 'Triangle', 'right']]
6 Circle Square Triangle Sphere Prism Prism [['Square', 'middle', 'Circle', 'left'], ['Circle', 'left', 'Triangle', 'right']]
7 Circle Square Triangle Cube Pyramid Sphere [['Square', 'left', 'Triangle', 'middle'], ['Square', 'middle', 'Circle', 'right']]
8 Circle Square Triangle Cube Sphere Pyramid [['Square', 'left', 'Triangle', 'right'], ['Circle', 'middle', 'Triangle', 'right']]
9 Circle Square Triangle Cube Cone Cone [['Square', 'left', 'Triangle', 'middle'], ['Square', 'middle', 'Triangle', 'right']]
10 Circle Square Triangle Cone Cube Cone [['Circle', 'left', 'Square', 'middle'], ['Square', 'middle', 'Triangle', 'right']]
11 Circle Square Triangle Cone Cone Cube [['Circle', 'left', 'Square', 'right']]
12 Circle Square Triangle Cone Cylinder Prism [['Circle', 'left', 'Square', 'middle'], ['Circle', 'middle', 'Triangle', 'right']]
13 Circle Square Triangle Cone Prism Cylinder [['Circle', 'left', 'Square', 'middle']]
14 Circle Square Triangle Cylinder Pyramid Cylinder [['Circle', 'left', 'Triangle', 'middle']]
15 Circle Square Triangle Cylinder Cone Prism [['Circle', 'left', 'Triangle', 'middle'], ['Circle', 'middle', 'Triangle', 'right']]
16 Circle Square Triangle Cylinder Cylinder Pyramid [['Circle', 'left', 'Triangle', 'right'], ['Square', 'middle', 'Triangle', 'right']]
17 Circle Square Triangle Cylinder Prism Cone [['Circle', 'left', 'Triangle', 'middle'], ['Square', 'middle', 'Triangle', 'right']]
18 Circle Square Triangle Prism Sphere Prism [['Circle', 'middle', 'Triangle', 'right']]
19 Circle Square Triangle Prism Cone Cylinder []
20 Circle Square Triangle Prism Cylinder Cone [['Square', 'middle', 'Triangle', 'right']]
21 Circle Square Triangle Prism Prism Sphere [['Square', 'middle', 'Circle', 'right']]
22 Circle Triangle Square Pyramid Sphere Cube [['Triangle', 'left', 'Square', 'right'], ['Circle', 'middle', 'Square', 'right']]
23 Circle Triangle Square Pyramid Cube Sphere [['Triangle', 'left', 'Square', 'middle'], ['Triangle', 'middle', 'Circle', 'right']]
24 Circle Triangle Square Pyramid Cylinder Cylinder [['Triangle', 'left', 'Square', 'middle'], ['Triangle', 'middle', 'Square', 'right']]
25 Circle Triangle Square Sphere Pyramid Cube [['Circle', 'left', 'Triangle', 'middle'], ['Circle', 'left', 'Square', 'right'], ['Triangle', 'middle', 'Square', 'right']]
26 Circle Triangle Square Sphere Cube Pyramid [['Square', 'middle', 'Circle', 'left'], ['Circle', 'left', 'Triangle', 'right']]
27 Circle Triangle Square Sphere Prism Prism [['Triangle', 'middle', 'Circle', 'left'], ['Circle', 'left', 'Square', 'right']]
28 Circle Triangle Square Cube Pyramid Sphere [['Square', 'left', 'Triangle', 'middle'], ['Triangle', 'middle', 'Circle', 'right']]
29 Circle Triangle Square Cube Sphere Pyramid [['Square', 'left', 'Triangle', 'right'], ['Circle', 'middle', 'Square', 'right']]
30 Circle Triangle Square Cube Cone Cone [['Square', 'left', 'Triangle', 'middle']]
31 Circle Triangle Square Cone Cube Cone [['Circle', 'left', 'Square', 'middle']]
32 Circle Triangle Square Cone Cone Cube [['Circle', 'left', 'Square', 'right'], ['Triangle', 'middle', 'Square', 'right']]
33 Circle Triangle Square Cone Cylinder Prism [['Circle', 'left', 'Square', 'middle'], ['Circle', 'middle', 'Square', 'right']]
34 Circle Triangle Square Cone Prism Cylinder [['Circle', 'left', 'Square', 'middle'], ['Triangle', 'middle', 'Square', 'right']]
35 Circle Triangle Square Cylinder Pyramid Cylinder [['Circle', 'left', 'Triangle', 'middle'], ['Triangle', 'middle', 'Square', 'right']]
36 Circle Triangle Square Cylinder Cone Prism [['Circle', 'left', 'Triangle', 'middle'], ['Circle', 'middle', 'Square', 'right']]
37 Circle Triangle Square Cylinder Cylinder Pyramid [['Circle', 'left', 'Triangle', 'right']]
38 Circle Triangle Square Cylinder Prism Cone [['Circle', 'left', 'Triangle', 'middle']]
39 Circle Triangle Square Prism Sphere Prism [['Circle', 'middle', 'Square', 'right']]
40 Circle Triangle Square Prism Cone Cylinder [['Triangle', 'middle', 'Square', 'right']]
41 Circle Triangle Square Prism Cylinder Cone []
42 Circle Triangle Square Prism Prism Sphere [['Triangle', 'middle', 'Circle', 'right']]
43 Square Circle Triangle Pyramid Sphere Cube [['Triangle', 'left', 'Circle', 'middle'], ['Circle', 'middle', 'Square', 'right']]
44 Square Circle Triangle Pyramid Cube Sphere [['Triangle', 'left', 'Circle', 'right'], ['Square', 'middle', 'Triangle', 'right']]
45 Square Circle Triangle Pyramid Cylinder Cylinder [['Triangle', 'left', 'Circle', 'middle']]
46 Square Circle Triangle Sphere Pyramid Cube [['Circle', 'left', 'Triangle', 'middle'], ['Circle', 'middle', 'Square', 'right']]
47 Square Circle Triangle Sphere Cube Pyramid [['Circle', 'left', 'Triangle', 'right'], ['Square', 'middle', 'Triangle', 'right']]
48 Square Circle Triangle Sphere Prism Prism [['Circle', 'left', 'Triangle', 'middle'], ['Circle', 'middle', 'Triangle', 'right']]
49 Square Circle Triangle Cube Pyramid Sphere [['Triangle', 'middle', 'Square', 'left'], ['Square', 'left', 'Circle', 'right']]
50 Square Circle Triangle Cube Sphere Pyramid [['Square', 'left', 'Circle', 'middle'], ['Square', 'left', 'Triangle', 'right'], ['Circle', 'middle', 'Triangle', 'right']]
51 Square Circle Triangle Cube Cone Cone [['Circle', 'middle', 'Square', 'left'], ['Square', 'left', 'Triangle', 'right']]
52 Square Circle Triangle Cone Cube Cone [['Square', 'middle', 'Triangle', 'right']]
53 Square Circle Triangle Cone Cone Cube [['Circle', 'middle', 'Square', 'right']]
54 Square Circle Triangle Cone Cylinder Prism [['Circle', 'middle', 'Triangle', 'right']]
55 Square Circle Triangle Cone Prism Cylinder []
56 Square Circle Triangle Cylinder Pyramid Cylinder [['Square', 'left', 'Triangle', 'middle']]
57 Square Circle Triangle Cylinder Cone Prism [['Square', 'left', 'Triangle', 'middle'], ['Circle', 'middle', 'Triangle', 'right']]
58 Square Circle Triangle Cylinder Cylinder Pyramid [['Square', 'left', 'Triangle', 'right'], ['Circle', 'middle', 'Triangle', 'right']]
59 Square Circle Triangle Cylinder Prism Cone [['Square', 'left', 'Triangle', 'middle'], ['Square', 'middle', 'Triangle', 'right']]
60 Square Circle Triangle Prism Sphere Prism [['Square', 'left', 'Circle', 'middle'], ['Circle', 'middle', 'Triangle', 'right']]
61 Square Circle Triangle Prism Cone Cylinder [['Square', 'left', 'Circle', 'middle']]
62 Square Circle Triangle Prism Cylinder Cone [['Square', 'left', 'Circle', 'middle'], ['Square', 'middle', 'Triangle', 'right']]
63 Square Circle Triangle Prism Prism Sphere [['Square', 'left', 'Circle', 'right']]
64 Square Triangle Circle Pyramid Sphere Cube [['Triangle', 'left', 'Circle', 'middle'], ['Triangle', 'middle', 'Square', 'right']]
65 Square Triangle Circle Pyramid Cube Sphere [['Triangle', 'left', 'Circle', 'right'], ['Square', 'middle', 'Circle', 'right']]
66 Square Triangle Circle Pyramid Cylinder Cylinder [['Triangle', 'left', 'Circle', 'middle'], ['Triangle', 'middle', 'Circle', 'right']]
67 Square Triangle Circle Sphere Pyramid Cube [['Circle', 'left', 'Triangle', 'middle'], ['Triangle', 'middle', 'Square', 'right']]
68 Square Triangle Circle Sphere Cube Pyramid [['Circle', 'left', 'Triangle', 'right'], ['Square', 'middle', 'Circle', 'right']]
69 Square Triangle Circle Sphere Prism Prism [['Circle', 'left', 'Triangle', 'middle']]
70 Square Triangle Circle Cube Pyramid Sphere [['Square', 'left', 'Triangle', 'middle'], ['Square', 'left', 'Circle', 'right'], ['Triangle', 'middle', 'Circle', 'right']]
71 Square Triangle Circle Cube Sphere Pyramid [['Circle', 'middle', 'Square', 'left'], ['Square', 'left', 'Triangle', 'right']]
72 Square Triangle Circle Cube Cone Cone [['Triangle', 'middle', 'Square', 'left'], ['Square', 'left', 'Circle', 'right']]
73 Square Triangle Circle Cone Cube Cone [['Square', 'middle', 'Circle', 'right']]
74 Square Triangle Circle Cone Cone Cube [['Triangle', 'middle', 'Square', 'right']]
75 Square Triangle Circle Cone Cylinder Prism []
76 Square Triangle Circle Cone Prism Cylinder [['Triangle', 'middle', 'Circle', 'right']]
77 Square Triangle Circle Cylinder Pyramid Cylinder [['Square', 'left', 'Triangle', 'middle'], ['Triangle', 'middle', 'Circle', 'right']]
78 Square Triangle Circle Cylinder Cone Prism [['Square', 'left', 'Triangle', 'middle']]
79 Square Triangle Circle Cylinder Cylinder Pyramid [['Square', 'left', 'Triangle', 'right']]
80 Square Triangle Circle Cylinder Prism Cone [['Square', 'left', 'Triangle', 'middle'], ['Square', 'middle', 'Circle', 'right']]
81 Square Triangle Circle Prism Sphere Prism [['Square', 'left', 'Circle', 'middle']]
82 Square Triangle Circle Prism Cone Cylinder [['Square', 'left', 'Circle', 'middle'], ['Triangle', 'middle', 'Circle', 'right']]
83 Square Triangle Circle Prism Cylinder Cone [['Square', 'left', 'Circle', 'middle'], ['Square', 'middle', 'Circle', 'right']]
84 Square Triangle Circle Prism Prism Sphere [['Square', 'left', 'Circle', 'right'], ['Triangle', 'middle', 'Circle', 'right']]
85 Triangle Circle Square Pyramid Sphere Cube [['Triangle', 'left', 'Circle', 'middle'], ['Triangle', 'left', 'Square', 'right'], ['Circle', 'middle', 'Square', 'right']]
86 Triangle Circle Square Pyramid Cube Sphere [['Square', 'middle', 'Triangle', 'left'], ['Triangle', 'left', 'Circle', 'right']]
87 Triangle Circle Square Pyramid Cylinder Cylinder [['Circle', 'middle', 'Triangle', 'left'], ['Triangle', 'left', 'Square', 'right']]
88 Triangle Circle Square Sphere Pyramid Cube [['Circle', 'left', 'Square', 'right'], ['Triangle', 'middle', 'Square', 'right']]
89 Triangle Circle Square Sphere Cube Pyramid [['Circle', 'left', 'Square', 'middle'], ['Circle', 'middle', 'Triangle', 'right']]
90 Triangle Circle Square Sphere Prism Prism [['Circle', 'left', 'Square', 'middle'], ['Circle', 'middle', 'Square', 'right']]
91 Triangle Circle Square Cube Pyramid Sphere [['Square', 'left', 'Circle', 'right'], ['Triangle', 'middle', 'Square', 'right']]
92 Triangle Circle Square Cube Sphere Pyramid [['Square', 'left', 'Circle', 'middle'], ['Circle', 'middle', 'Triangle', 'right']]
93 Triangle Circle Square Cube Cone Cone [['Square', 'left', 'Circle', 'middle']]
94 Triangle Circle Square Cone Cube Cone [['Triangle', 'left', 'Square', 'middle']]
95 Triangle Circle Square Cone Cone Cube [['Triangle', 'left', 'Square', 'right'], ['Circle', 'middle', 'Square', 'right']]
96 Triangle Circle Square Cone Cylinder Prism [['Triangle', 'left', 'Square', 'middle'], ['Circle', 'middle', 'Square', 'right']]
97 Triangle Circle Square Cone Prism Cylinder [['Triangle', 'left', 'Square', 'middle'], ['Triangle', 'middle', 'Square', 'right']]
98 Triangle Circle Square Cylinder Pyramid Cylinder [['Triangle', 'middle', 'Square', 'right']]
99 Triangle Circle Square Cylinder Cone Prism [['Circle', 'middle', 'Square', 'right']]
100 Triangle Circle Square Cylinder Cylinder Pyramid [['Circle', 'middle', 'Triangle', 'right']]
101 Triangle Circle Square Cylinder Prism Cone []
102 Triangle Circle Square Prism Sphere Prism [['Triangle', 'left', 'Circle', 'middle'], ['Circle', 'middle', 'Square', 'right']]
103 Triangle Circle Square Prism Cone Cylinder [['Triangle', 'left', 'Circle', 'middle'], ['Triangle', 'middle', 'Square', 'right']]
104 Triangle Circle Square Prism Cylinder Cone [['Triangle', 'left', 'Circle', 'middle']]
105 Triangle Circle Square Prism Prism Sphere [['Triangle', 'left', 'Circle', 'right']]
106 Triangle Square Circle Pyramid Sphere Cube [['Circle', 'middle', 'Triangle', 'left'], ['Triangle', 'left', 'Square', 'right']]
107 Triangle Square Circle Pyramid Cube Sphere [['Triangle', 'left', 'Square', 'middle'], ['Triangle', 'left', 'Circle', 'right'], ['Square', 'middle', 'Circle', 'right']]
108 Triangle Square Circle Pyramid Cylinder Cylinder [['Square', 'middle', 'Triangle', 'left'], ['Triangle', 'left', 'Circle', 'right']]
109 Triangle Square Circle Sphere Pyramid Cube [['Circle', 'left', 'Square', 'right'], ['Triangle', 'middle', 'Circle', 'right']]
110 Triangle Square Circle Sphere Cube Pyramid [['Circle', 'left', 'Square', 'middle'], ['Square', 'middle', 'Triangle', 'right']]
111 Triangle Square Circle Sphere Prism Prism [['Circle', 'left', 'Square', 'middle']]
112 Triangle Square Circle Cube Pyramid Sphere [['Square', 'left', 'Circle', 'right'], ['Triangle', 'middle', 'Circle', 'right']]
113 Triangle Square Circle Cube Sphere Pyramid [['Square', 'left', 'Circle', 'middle'], ['Square', 'middle', 'Triangle', 'right']]
114 Triangle Square Circle Cube Cone Cone [['Square', 'left', 'Circle', 'middle'], ['Square', 'middle', 'Circle', 'right']]
115 Triangle Square Circle Cone Cube Cone [['Triangle', 'left', 'Square', 'middle'], ['Square', 'middle', 'Circle', 'right']]
116 Triangle Square Circle Cone Cone Cube [['Triangle', 'left', 'Square', 'right']]
117 Triangle Square Circle Cone Cylinder Prism [['Triangle', 'left', 'Square', 'middle']]
118 Triangle Square Circle Cone Prism Cylinder [['Triangle', 'left', 'Square', 'middle'], ['Triangle', 'middle', 'Circle', 'right']]
119 Triangle Square Circle Cylinder Pyramid Cylinder [['Triangle', 'middle', 'Circle', 'right']]
120 Triangle Square Circle Cylinder Cone Prism []
121 Triangle Square Circle Cylinder Cylinder Pyramid [['Square', 'middle', 'Triangle', 'right']]
122 Triangle Square Circle Cylinder Prism Cone [['Square', 'middle', 'Circle', 'right']]
123 Triangle Square Circle Prism Sphere Prism [['Triangle', 'left', 'Circle', 'middle']]
124 Triangle Square Circle Prism Cone Cylinder [['Triangle', 'left', 'Circle', 'middle'], ['Triangle', 'middle', 'Circle', 'right']]
125 Triangle Square Circle Prism Cylinder Cone [['Triangle', 'left', 'Circle', 'middle'], ['Square', 'middle', 'Circle', 'right']]
126 Triangle Square Circle Prism Prism Sphere [['Triangle', 'left', 'Circle', 'right'], ['Square', 'middle', 'Circle', 'right']]