I have a quiz with a question that requires participants to select a number of fields on a screenshot of some software. There are 21 fields on the screenshot, only 8 of which are right answers.
If the user correctly identifies all eight fields, I want them to score 1 point (it's a relatively easy question and I don't want them to get a disproportionately high score). However, I still want them to get credit (pro rata) if they only select some of them (selecting 7 of them would score 0.875 for example).
Since Captivate doesn't appear to allow for decimal values to be assigned as point scores, the obvious solution is to scale up my scores throughout the quiz to ensure the right weightings are applied.
The problem is this: if the user selects ANY incorrect fields, I want them to score zero for the question (so 6 right answers and 2 wrong ones would score 0, 8 right answers and 1 wrong one would score 0, and so on).
I can't use penalty points, because we'd need to know how many correct answers were selected to deduct the right amount and I don't want to facilitate potential negative scores.
I can easily use variables and advanced actions to establish a final score, but I understand it's not possible to manually substitute the system variable that holds the points scored with that value?
Am I asking the impossible?
Not sure to understand, is this correct scenarioi?
In thatcase answer is easy.
Create a counter, starting with 0, incremented by each correct click, decrement with wrong click. The answer should be judged correct only when the counter has the value 8.
Create two Next (or Submit) buttons, both hidden in output. Attach a score of 1p to the first button, 0 to the second. Trigger a conditional action testing the counter and show the appropriate button.
Not quite, but your suggestion points at my only other idea...
Your first bullet point should read 0.125 (so that all eight correct add up to 1, but they still get credit for only getting some of them - if they get four right they get half a point).
At the moment, I'm giving each field a boolean variable which gets set to 1 when the field is selected.
Then, when a Submit button is clicked, an advanced action checks how many are right (if any are wrong, this value is set to zero) and displays one of 9 Continue buttons that correspond to each possible score. I've applied points to each of those continue buttons.
I've scaled up the points of all the other questions to keep things in proportion.
Thanks very much for your help!
Got it now, I forgot the third situation, where some of the correct hotspots had been clicked, none of the wrong ones.
Without JS or using the CpExtra widget (InfoSemantics) I don't see a validt workflow.
Now of course I have a new problem!
Because each of those Continue buttons has a value attached, they all count towards the Total possible score, which throws my percentages out.
I can't use the points total as my pass/fail reporting method because the maximum exceeds the 100 point limit and I can't reduce that without needing to use decimals on the points.
Is there a way (advanced actions or JS) of disabling/switching off the 'Add to Total' property of the Continue buttons I don't use?
Maybe you didn't see my recent answer yet. You cannot solve this with advanced actions alone. You need JS or the CpExtra widget.
Moreover I really think your are confusing points with percentages. It is perfectly possible to have a totall score which is totally different from 100 points. Most LMS's prefer to work with percentages, not with points.
I'm definitely not confusing points and percentages though, I understand the difference just fine.
The problem is that Captivate thinks the maximum possible score is 148 when it should only be 120. The other 28 come from the seven hidden Continue buttons that have points values attached.
So if I score 80 points, my percentage should be 67% but Captivate thinks it's 54%.
In the advanced interaction screenshot below are the nine Continue buttons. Only one is displayed depending upon how many are correctly identified. The points values increment to reflect that result. I need to be able to turn all but one Yes in the 'Add to Total' column to No so that the corresponding points don't contribute to the total.
Hopefully this makes more sense?
My suspision was based on this sentence '...because the maximum exceeds the 100 point limit'
I am perfectly aware of what is happening (wrote about 50 blogs about quizzing). Reason why I mentinoed the CpExtra widget or, as altenrative the use of JS. Because you need to transfer the scores at the end to the quizzing system variables, not by attaching scores to interactive objects.
I see - the '100 point limit' comment was because when I try to set a points-based pass mark I get this:
My original attempt involved establishing a total score using variables with a view to assigning them to the system variables, but as I said earlier, I understood that the system variables were read only? If it's achievable through JS, can you point me at the code that achieves that?
That is why I also told that you better use Percentages for reporting, than points....
You will have to wait for a JS expert. I use CpExtra in use cases like yours.
Thanks anyway for your responses
We don't have CpExtra and the nature of our organisation is that they are (necessarily) often cautious about introducing new software, so I will need to fire up my powers of persuasion and see if I can convince them to invest in it.
However, given I'm still waiting for our version of Captivate to be upgraded some nine months after asking for it, you'll understand that CpExtra is not a quick fix to this particular issue!