FitQuest 结构实现介绍*
目前简单模式可玩,预备图像化选项。
下面这个结构流程图是利用 plantuml (AI辅助)代码渲染
@startuml start :Load MathJax; :Get DOM elements; :Set canvas parameters; :Initialize global variables; :Draw axes and grid; :Add event listeners; fork partition "Generate New Function" { :Click "Generate New Function" button; :Select difficulty level; if ("Difficulty level check") then (Beginner) :Generate a random function for beginner level; elseif (Intermediate) then :Generate a random function for intermediate level; elseif (Advanced) then :Generate a random function for advanced level; endif :Draw the target function curve; :Start the timer; } fork again partition "Add/Edit Function" { :Select function type and parameters; :Click "Add" / "Confirm" button; if ("Is in edit state?") then (Yes) :Update the corresponding function information in the functions array; else (No) :Add a new function to the functions array; endif :Render LaTeX expression; :Update plot and error; } fork again partition "Delete Function" { if ("Operation mode check") then (Double - click LaTeX expression) :Delete the corresponding function information; else (Click "Clear" / "Delete" button) if ("Is in edit state?") then (Yes) :Remove the currently edited function from the functions array; else (No) :Clear the functions array; endif endif :Render LaTeX expression; :Update plot and error; } fork again partition "Save State" { :Click "Save" button; if ("Are there target and user functions?") then (Yes) :Calculate the error; :Save state information to the savedStates array; :Generate a thumbnail; :Display saved information; else (No) :Prompt that functions are not generated; endif } fork again partition "Advanced Input Panel" { if ("Operation type check") then (Click insert button) :Insert symbol into the input box; else (Input expression) :Convert to LaTeX format; endif :Preview LaTeX in real - time; } fork again partition "Load Saved State" { :Click the saved thumbnail; :Find the corresponding state information from the savedStates array; :Update the target function and user - input function; :Redraw the function curves; :Update error display; } stop @enduml