Skip to content
Nateowami edited this page Aug 13, 2015 · 7 revisions

Current Implementation

The program starts in Main. It immediately creates a new Solve4x, which in effect gets the program rolling. Solve4x creates the GUI (in package ui; class GUI). The GUI is mostly done, and just needs some color changes, or some texturing (Thank you, Tribex!). When a user clicks "Build Lesson" the equation is sent to the solver. If the equation/expression is not valid it throws an exception. If it is valid it attempts to solve it. If successful, the solution is printed to the console. Otherwise it will print to the console that no solution was found.

Diagram

If you can't tell what some of the symbols mean, it's 'cause you're looking at some crude arrows.

       Graphical* and 
      textual renderers 
             ^           
             |            
             v           
Solve4x --> GUI <---> Solver <---> Solving Algorithms

*Graphical renderer is yet to be written.

Major Parts

The main parts will be discussed below.

Solve4x: Handles debugging and starting the GUI.

GUI: Puts everything on screen. Loads the Synth Look and Feel made by Tribex.

Solver: Takes the equation or expression and solves or simplifies it.

Solving Algorithms: Lots of classes that hold different algorithms for solving (like controllers). For example, there should be one for combining like terms, one for the quadratic formula, etc.

Graphical and textual renderer: Takes a solution and comes up with a way to render it on the screen.

The above correspond quite closely to the packages in the project, so it shouldn't be too hard to find your way around after reading this.

Clone this wiki locally