# 3BLD DNF analyzer - new software I made



## rotobld (Apr 8, 2020)

Hi everyone!
TL;DR - 




As for a 3bld lover with not a lot of free time to practice, I always search ways to make practice more efficient. In 3bld the main thing that consumes time is analyzing your DNF solves.
Recently I had spare time so I developed a software that analyzes your 3bld solves (while using a smart cube).
The software uses a smart cube to track the moves and a webcam to display the video of the solve from the point of the mistake (the webcam is not neccessry, the solve can be displayed in algCubing.net)

The idea is quit simple but very efficient. When you solve 3bld the number of solved pieces increases during the solve. So if you finished and the cube isn't solved then it basically finds the move that had max number of solved pieces. 
in more detail there are couple cases:
(I solve edges-->corners)
1. if max number of solved edges *was never* 12 (or 10 if parity) - you didn't solve edges right. 
then it finds the move that had the max number of solved edges. assuming that from there the mistake happenned

2. if max number of solved edges *was* 12(or 10 if parity) but this *is not *the situation in the final state - you solved edges correctly but messed them up during corners. 
so it finds the last time edges were full (the mistake is a usually executing an *alg wrong*).

3.. if max number of solved edges *was* 12(or 10 if parity) and this *is *the situation in the final state - you solved edges correctly but did *wrong alg* for a corner comm.
Then it goes to the first time you solved all edges. this type happens when you mess up an alg by swapping letters of exe in corners. I found it too complicated to analyze which alg you executed wrong, so this is the compromise solution.

I think the idea is *simple but powerful* and can make the training much more efficient. Moreover I am sure that there are many better programmers than me that can make a better software for the wide cubing community.

the link bellow is for the code.

https://drive.google.com/file/d/1WztqFh1Q9ys6FghpSbwzvqlTRfhShv7i/view?usp=sharing
notice that the code is messy because I am not a great programmer 

If you have more questions, or want to implement somthing similar i'll be happy to help!


----------



## brododragon (Apr 10, 2020)

This is awesome!


----------

