Custom MCQ slide with multiple correct answers

Why?

Recently a user posted a request on the Adobe forums, asking for a Multiple Choice question to be used as Knowledge Check, but with possibility of multiple combinations of answers to be correct. Here is the link:

MCQ with more than one correct answer

Example project

I used some slides from the QSP Alliance to create quickly this example project.  It has 3 MCQ slides which are using the same shared actions. For the answers I used placeholder text, so that you can recognize the 'correct' and 'wrong' answers. All questions have 6 possible answers but the workflow is not limited to that specific number of answers. The total number of correct and wrong answers is different on each slide, workflow is flexible enough to cope with those differences. Answer is considered to be correct when no wrong answers are selected and at least one correct answer is chosen. But multiple correct answers are allowed as well. It would be very easy to add scores to the MCQ slides. At this moment they are set up as Knowledge Check slides, with Infinite attempts. You cannot proceed to the next question before having posted a correct answer.

You can watch this project using this link for a scalable version, or the fixed resolution embedded version below:



Workflow Setup

Slide setup/Multistate objects

Have a look at this Timeline screenshot of the most important objects on the MCQ slides:

From bottom to top you see 

  • The 6 shapes (black) which are used as shape buttons, who will trigger either a CorrectAct or a WrongAct shared action. Their names start with SB. They have an extra custom state 'Checked' to indicate when they are chosen:
  • The Submit button. Each slide has its Submit button. A custom 'Retry' was added to replace the Normal state for later attempts than the first attempt. The option 'Retain State on Slide Revisit remained unchecked.
  • A multistate shape SS_Message which has an empty Normal state, two custom states (see screenshot). This object is timed for the rest of the project (and hidden on the End slide with its On Enter action). The option 'Retain State on Slide Revisit remained unchecked.
  • The Next button SB_Next which is also timed for the rest of the project (and hidden on the End slide with its On Enter action).

Variables and events

8 user variables are used:

  • Six tracking variables of the Boolean type, labeled v_1, v_2.....v_6 - one for each possible answer. Their default value is 0, will be toggled to 1 when that answer is chosen. 
  • Two counter variables v_correct and v_wrong which will track the Correct and Wrong answers which are checked.

The used events are:

  • Enter slide event for each MCQ slide, for a reset action 'EnterAct'. 
  • Success event of the answer shape buttons SB_x to trigger either the 'CorrectAct' or the 'WrongAct', which are both shared actions.
  • Success event of the Submit buttons to trigger a specific advanced action 'SubmitActx'.
  • Enter slide event of the End slide to hide the messages shape SS_Message and the Next button. That Next button kept the default action 'Go to Next Slide'.

Actions

EnterAct

This Reset advanced action is triggered On Enter for each MCQ slide, it is self-explanatory. I used an advanced action in this case, based on a shared action CreateVars, which I use all the time to create a bunch of variables. 

CorrectAct (shared action)

This shared action is triggered by the Success events of the answer shape buttons which have the correct answers. Only two parameters are needed: the button itself and its tracking variable. As you may have read in my Tips about Parameters using numbers in the names makes the assignment of the parameters a lot easier:

WrongAct (shared action)

Similar to the previous action, using the same two parameters:

As you may know both shared actions appear in the project Library, easy to check with Usage if they have been assigned correctly:

SubmitActx

Due to the change state needed for this button, there is an individual advanced action for each Submit button:

EnterEnd

A very simple advanced action for the On Enter slide event of the last slide, to hide the Next button and the multistate Message shape, both were set till the end of the project.




8 responses
Thank you. A question, sorry... For each answer shape SB there will have to be separate "correctAct" as the one you show is only connected to SB1. Is that correct?
No, Nikolaus, I use instances of Shared actions, no duplicate advanced actions. That is why I indicated the parameters. Search for the introduction blogs here about Shared actions, have a lot of them.
Whoops, I just realized that when selecting "SB" SA we can designate another V_X... I realize I never use SA. Much to learn!
It really worked!!! One thing I need to research is what is automatically set to Parameter when we save a SA. Some items we can check/uncheck, others set by default. Anyhow, thank you so much!
I indicated which items need to be parameters on the screenshots (colors). BTW the post before this one is offering lots of tips about the choice of parameters, Maybe you should have a look?
I will. I know too little about how to set parameters for example... But it's really elegant.
It is one of the most flexible and most ignored features of Captivate, even ignored by the Captivate team itself. Just Google for Shared actions in Captivate and see which name is popping up. I have debugged lot of projects which seemed lost by using shared actions instead of a multitude of duplicate advanced actions.
Well, it takes planning upfront. Many amateurs like me don´t do that...