Bram-Hub / LEGUP

Logic Engine for Grid-Using Puzzles - a better way to learn formal logic
GNU General Public License v3.0
33 stars 82 forks source link

Batch Grader Fix, "isSolved" Flag and Related Stuff #567

Closed hansongu123 closed 1 year ago

hansongu123 commented 1 year ago

Description

Here's the implementation of the Batch Grader using an .xml parser to traverse through a collection of student submission files, reading the attribute value of "isSolved" flag (which was planned to be implemented in the earlier versions) to improve its processing efficiency.

Two attributes have been added to the exporter. One is the "isSolved" flag - runs puzzle checker when a proof is saved (instead of running it inside of the Batch Grader); Another is "lastSaved" - give the exact time the proof is last saved. (meant to be a supporting function for the isSolved flag, from our group discussion, as a way to hash its value)

The default values of these attributes are also added to the template puzzle files.

Some small changes are also included, like the names of the save buttons in the menu panel.

Closes #547 Closes #564 Closes #227

Type of change

How Has This Been Tested?

Checklist:

hansongu123 commented 1 year ago

For the ease of reviewing, the main changes are located in HomePanel.java and PuzzleExporter.java

04vmatsibekker commented 1 year ago

When testing this PR out after saving one of the puzzle files some issues came up. At first I noticed no changes to the puzzle file, isSaved column. Then after multiple attempts of saving one of Cristn's puzzles with a slight change, I did get a result, but it is not quite correct yet. image_480

I have been discussing this PR with Hanson for the past few days. And it seems that it works for him, but somehow not for me, despite verifying that I tested the PR out correctly.

hansongu123 commented 1 year ago

Thanks! I'm happy that this is finally approved!