joshprzybyszewski / shingokisolver Goto Github PK
View Code? Open in Web Editor NEWA golang puzzle solver for https://www.puzzle-shingoki.com/
A golang puzzle solver for https://www.puzzle-shingoki.com/
When I want to know if a puzzle is valid or not, I will check that all of the nodes are complete, and then that there is a single loop that sees all of the nodes. This means I need to walk from coord to coord along edges that exist, keeping track of the coords I see along the way.
As we add edges, we should keep track of how they connect to each other, and what nodes they see along their path. Then, when we add more edges, we can just walk those and see if they create loops or if they see more Nodes.
type segmentCap struct{
coord model.NodeCoord
edge model.EdgePair
}
type pathSegment struct{
start segmentCap
end segmentCap
seenNodes []model.Node
}
then on the Puzzle
, we could keep a []pathSegment
. And once we've runQueue
on performUpdates
, we can look at all of the coord
s we have in all of the segmentCap
s, and only need to walk out from there. We could do this on every performUpdates
, or only once we've completed all nodes. There is benefit both ways.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.