Skip to content

Commit a86ec4f

Browse files
feat: Enhance exercise completion handling by adding level and score properties
1 parent 005052c commit a86ec4f

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/exercise_done.clp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@
66
=>
77
(printout t "User '" ?user "' has completed exercise '" ?exercise "' at level " ?level " with score " ?score crlf)
88
(facts)
9-
(do-for-fact ((?ex-done-user ExerciseDone_user) (?ex-done-exercise ExerciseDone_exercise) (?ex-done-done ExerciseDone_done))
9+
(do-for-fact ((?ex-done-user ExerciseDone_user) (?ex-done-exercise ExerciseDone_exercise) (?ex-done-done ExerciseDone_done) (?ex-done-level ExerciseDone_level) (?ex-done-score ExerciseDone_score))
1010
(and
1111
(eq ?ex-done-user:item_id ?ex-done-exercise:item_id)
1212
(eq ?ex-done-user:item_id ?ex-done-done:item_id)
1313
(eq ?ex-done-user:user ?user)
14-
(eq ?ex-done-exercise:item_id ?exercise))
15-
(set_properties ?ex-done-user:item_id (create$ level) (create$ ?level))
16-
(set_properties ?ex-done-user:item_id (create$ score) (create$ ?score))
14+
(eq ?ex-done-exercise:exercise ?exercise))
1715
(bind ?done (+ ?ex-done-done:done 1))
18-
(set_properties ?ex-done-user:item_id (create$ done) (create$ ?done))
1916
(printout t "User '" ?user "' has completed exercise '" ?exercise "' " ?done " times" crlf)
17+
(set_properties ?ex-done-level:item_id (create$ level) (create$ ?level))
18+
(set_properties ?ex-done-score:item_id (create$ score) (create$ ?score))
19+
(set_properties ?ex-done-done:item_id (create$ done) (create$ ?done))
2020
)
2121
; Remove the completed exercise from the list
2222
(do-for-fact ((?ex exercise)) (not (any-factp ((?ex2 exercise)) (< ?ex2:id ?ex:id))) (retract ?ex))

0 commit comments

Comments
 (0)