Witchess Puzzle Solver

I did a thing! This will complete the daily witchess puzzles.

Get it via "svn checkout https://github.com/AllenTuring/WitchessSolver/trunk" in your gCLI.

It can be launched with "witchess_solver".

I typed up the puzzle solutions in ruld (right up left down) format from the communal google doc of solutions. Currently, the script finds the puzzle number and does a lookup and translation of the solutions. (I know it may be more efficient to store the coordinates instead of the RULD, but this way it is more human-readable).

I have left open the capability to parse the page into a model and solve it to generate solutions. Currently the script is dependent on the solution data file, whose coverage drops off at ~35.
Please contribute with pull requests on github!
 
Last edited:

Magus_Prime

Well-known member
I'm not familiar enough with GIT to know what the problem is but I get the following when using the command you gave:

Code:
The requested repo failed validation. Complain to the script's author.
 
Update!
Code now covers all puzzles up to #56, assuming the google doc is trustworthy. I did some quick cursory tests on dimension and displacement to verify, also, but nothing formal--so typos are still possible.

Also, some puzzles appear to be non-square. However, they are still rectangular. This has been taken into consideration.

Once I test it tomorrow, if it works, I will merge with master shortly after rollover.

I also have a few ideas about puzzle space reduction, although it still won't be pretty. Will get around to implementing those, probably, as soon as I figure out how far I can push Mafia data structures. They kind of suck.
 

digitrev

Member
There's an error for solution #55.
Code:
55	u u u u r d d d d r r r r r r u l u r u u u l l d l d d l d l u u u r u l l u r r r r r r u
is the correct solution.
 

digitrev

Member
Found another bad line.

Code:
57	u u u r u l u r r d d d r d d r r u l u u l u r r d r r r u l l u l l l u l l l u u r r r d r u r d d r r r u u
 
I'll add it soon but it looks like KoL changed the specification for the page. I'll need to examine and change some output/parsing.

Please KMail me, anyone, if you've made a pull request.
 

Crowther

Active member
Code:
50	r r u u r r d d r r u u u u l d l l l l l u u u r d r d r u u r r r
71	u u r r r r r r u u u u l l l l d d d l u u l u r u r u r d r r u r u d d d d d d l l l l l l d r r r r r r r u u u u u u u u
75	u r u u u u r r d d l d d r d r r u r u u u u u
77	u u r u l u u r r r d d r r d d l l l l d r r r r r u r r r d r u u l l l u r u l u r r r r u l l l u u l l d d l u u l l d d l u l l u r u r u r d r u r u r d d r u r r d d d r r u u u u
79	r r r r u u u u l d l d r d l l l u u r u u l u u r r d r r u l u r u u l l l l u u u u u r r d l d d r r r u u u r u l l u l l l u r r u r d r r u l u l l l u u r r r d r u u
81	u u u r r r d d d r u u u u l l l l u u r u l u r u l u r r r d d d r d d r u u u u u r d r d l d r r d d d l l l d d d d r r u l u u r r r u u u u u u u
84	r r r u l l u l u r r d r r r u u u l u u r d r d d r u u u
86	u u u u u u u r r r d r r d l l d l l d d d r d r r u u l u r r r u u r u l u r
87	u u u u u u u r r r d d d l l d d r d l d r r r u u u r u u u l u r r r
88	r r r r r r u u u l d d l l l l l u r r r r u l l l l u r r u u r r r u r d d l l l d r r r r u u u
90	u u u u u u u u r d d d d d d r r r u l l u r u l u u u u r r d d l d r d r d d d d d r u u u r d d d r u u u u u u u u l l d r d l l u u u r r r r
91	u u u u u r d d d d d r u u u r d d r u u u u l u l l u r u u r r
94	u u r u u u u r d r d d d L d L d r r u r u r r u L u u u r
95	u u u r u u r r d d r d l d l d r r u r u u u u
96	u u r d d r r r r r r r r u u u u u l d d d d l l l l l l u r r r r r u l l l l u r r r r u l l l l l u u l d d d d l u u u u u r r r d d r u u r d d r u u r u u r d d d d r u u u u u l l l l l d r r d l l l u l u l d d l u u u r r r r r r r u l l l l l l l u r r r r r r r r d d r u u
97	u r d r r r u u l l l u l u r r r d r u u u u l d l u l l u u r r d r r u r d d d d d d d d d r r u l u r u u r d r u u l l l u u u u r r d l d d r u r u u
98	r r u u u u l u l u r r r r d d d d l d d r r r u u u l u u r u
99	u u r d d r r r u l l u r u l l l u u r d r r r d d r r u u u r d d r d l d l l d r r r u r u u u l u r
100	u u u r r d l d d r r r u r d r r u r u l l l l l u u l l l u r r r r r r d d r r u l u r u u l d l l l l l l l u u r r r r r r r r
101	u u u u u u r r r d l l d d d d r r r r u u l l u r r u u r
102	r u u r u l l u r r r u r r d l d d l d d r u r u u r u u u
103	u u u r d d d r r u l u u r d r r u l u l l u r r r
104	u u r d r r d r u u l u r r u l l l d l u u r u u u u r d d d r d r r u r d d l d d r r d d r u u u u u l u u l l u u r r r
105	u r r u u r u u r d d d r u u u
106	u u u u r r r d d l d r r r u u u u
107	u u u u r u r d d l d d d r u u r u r d d l d r r u u u u l l u r r
108	r u u r d r d r r u r u l u r u l l d d l u u l d l u l u r u r d r r u r d r u
109	u u u u r r d d d d r r r r u l l u u u r u l l u r r r
110	u r r u l l u u u r d r r u r d d l d d d r r u u u u u
111	u u u u u u u u u r r r d d d l l d d d r d r r d d r r u r r u r u l l l l l l u l u r r u r d d r u r r u u l l u r r u r
112	u u u u r u u r d d d d d r r r r r u l u l l u r r r r u l l l u l u l l l u r r r r r d r d r u u
114	r r r u u l l d l u u u u r d r u u l u u r r r r d d l u l d d d d r r d d d r u r u l u r r u u l d l l l u r r u u u r d d r u u
115	r u r r r r u l l l u l d l u u r u r d r u r d d r u u
116	r r u u l l u r u l u r u r r r r d d l l d d d r r u r u u u u
117	r r r r r u u r u l l l d r d l l l u l u r r u l u l u r r r r d l d r r r u u
118	r u r u l l u r u l u r r d r u r d d l d r d r u u u u
125	r u u r u l u r r d d r r u u r d d d l l l d r r r r r u u u l u r
 
Last edited:

Crowther

Active member
I'm having trouble with #79 and #80 which I believe are entered correctly. They fail on the first move. Right should always be a valid first move. I suspect this line, but nothing I've tried worked.
Code:
        int x = ws_puzzleDimY * 2;
 

TedPro

New member
Found an error:

53 r u l u r u l u r u l u r u r d r u r d d d r d d l l u u u r d d d d r d r u r d r u r u l u r u l u r u u

Should be

53 r u l u r u l u r u l u r u r d r u r d d d r d d l l u u u l d d d d r d r u r d r u r u l u r u l u r u u
 

Crowther

Active member
I'm having trouble with #79 and #80 which I believe are entered correctly. They fail on the first move. Right should always be a valid first move. I suspect this line, but nothing I've tried worked.
Code:
        int x = ws_puzzleDimY * 2;
Oops. I believe this was already fixed when I posted it.
 

digitrev

Member
Also, Crowther, I hope you don't mind but I submitted the solutions you posted above as a pull request to the repo.
 

Crowther

Active member
Here's a few I missed because they didn't use the same formatting as most pages.
Code:
120     u r r r r r u u l l d l u l d l u u u r r r r r
123     r r u l u u l u r r r d d r d l d r r r u u u u
124     u r u u r d d d r u u u r d d r d r r u l u r u u
129     u u u u u u r d d d r d d d r u u r r r u l l l u u r u r r
135     r u l u r u l u u r d r u r d d l d d d r u u r d d r u u u l u u r
142     u u u r d d r r r u u r u u
 
Top