Implement solution codes for exercises
This commit is contained in:
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user