Implement solution codes for exercises

This commit is contained in:
2024-11-27 18:32:10 +01:00
parent 7baa8e2b25
commit ba700eb050

View File

@@ -19,6 +19,25 @@ function getDotColor(exerciseGroupNr: number) {
case 3: return "pink" case 3: return "pink"
} }
} }
function checksum(num: number) {
let cs = 0
for (; num > 0; num = Math.trunc(num / 10)) {
cs += num % 10;
}
return cs
}
function generateExerciseKey(exerciseGroup: number, exerciseNr: number) {
try {
let matrikelNr = Number(preferencesStore.registrationNumber)
let a = matrikelNr + exerciseGroup * 100 + exerciseNr * 12345678 +
checksum(Number(preferencesStore.registrationNumber)) * 123
return a.toString(16).toUpperCase()
} catch(e) {}
}
</script> </script>
<template> <template>
@@ -97,6 +116,9 @@ function getDotColor(exerciseGroupNr: number) {
:color="exercise.solved ? 'green' : 'primary'" :color="exercise.solved ? 'green' : 'primary'"
> >
{{ preferencesStore.language == LanguageEnum.GERMAN ? exercise.descriptionDe : exercise.descriptionEn }} {{ preferencesStore.language == LanguageEnum.GERMAN ? exercise.descriptionDe : exercise.descriptionEn }}
<div class="pt-2 text-h6">
Solution Code: 0x{{ generateExerciseKey(exercise.exerciseGroup.groupNr, exercise.exerciseNr) }}
</div>
</card-view> </card-view>
</v-timeline-item> </v-timeline-item>
</template> </template>