Skip to content

Latest commit

 

History

History
61 lines (45 loc) · 1.17 KB

architecture.md

File metadata and controls

61 lines (45 loc) · 1.17 KB

Rubik's Cube Engine Project Architecture

classDiagram

    class Driver{
        -CubeEngine : engine
        -Cube : cube
        -AppGUI : gui

        +Driver(CubeEngine engine, Cube cube, AppGUI gui)
        +runApp() void
    }

    class CubeEngine{
        -CubeScrambler : scambler
        -CubeSolver : solver
        -Cube : cube

        +Engine(cube)
        +scambleCube (Cube cube) Cube
        +solveCube (Cube cube) Cube
        +generateScramble() string
    }

    class CubeSolver{
        -Cube : cube

        -SolveCube(Cube cube) Cube
        -SolveCross(Cube cube, string crossColor) Cube
        -SolveF2L(Cube cube) Cube
        -SolveOLL(Cube cube) Cube
        -SolvePLL(Cube cube) Cube
        -FindCrossPieces(Cube cube) : map(string color, vector(vector(int)) positions)
        -EvaluateCrosses(map(string color, vector(vector(int)) positions) crosspieces) string
    }
    
    class CubeScrambler{

    }

    class Cube{

    }

    class AlgorithmsOLL{
        <<enum>>
    }

    class AlgorithmsPLL{
        <<enum>>
    }

    class AppGUI{
        
    }

    Driver *-- CubeEngine
    CubeEngine *-- CubeSolver
    CubeEngine *-- CubeScrambler
Loading