Untangle game developed in HTML5 Canvas and vue.js based on the work of stefanonepa/vue-draw-canvas
- Highligthing line intersections
- Highlighting connected points while dragging
- 4 levels of difficulty
- Drag functionality from stefanonepa/vue-draw-canvas
- Line intersection algorithm from Makzan Untangle Puzzle HTML5 games
- Delaunay Triangulation to build planar graph and ensure a solvable puzzles using Mikola Lysenko's cdt2d
- Sweepline algorithm to check for line intersection between all points tokumine/sweepline
- Currently checking lines intersection is using O(n^2) algorithm. Optimally the line intersections checking should use sweepline algorithm O(nLogn) using tokumine/sweepline
- Fixing lines duplication, currently pointA/pointB !== pointB/pointA
# install dependencies
npm install
# serve with hot reload at localhost:8080
npm run dev
# build for production with minification
npm run build
# build for production and view the bundle analyzer report
npm run build --report
# run unit tests
npm run unit
# run all tests
npm test
For detailed explanation on how things work, checkout the guide and docs for vue-loader.