States? Variables? Both? Help...

Apr 06, 2023

I have a scoreboard that should count up by one every time a correct button is pressed.

It should not count up by one when the incorrect button is pressed.

The current score (from 0-8) should be reflected on the scoreboard regardless of what button is pressed and regardless of what slide layer or slide the scoreboard is on.

9 Replies
Ron Price

Hello

I am not sure your plan for using this, but there are some triggers that are conflicting here.

First - if you are wanting to add when the user selects correct, you may want to consider using a number variable.

The current set up will Change the state to "first" but since the next trigger is jumping to the next slide, you really will never see that state change.

The next slide will show the normal state.  You could set the initial state of the storage unit on the next slide to be "first" or again use variables instead.  These decisions will be more than likely based on the bigger picture of how you are using it.

Joel MacDonald

Thanks for the quick response.

The starting point is that the learner either selects a correct or incorrect option.

Every time the select a correct option, one point is added to the scoreboard for a total of eight points.

If they select an incorrect option, they repeat that option.

I need the scoreboard to reflect the learner's total number of correct responses regardless of incorrect responses (and therefore whatever other slides or slide layers they have to then repeat).

Joel

Joel MacDonald

Yes, that's it! Thank you Walt! I've spent quite a bit of time examining what you've done to try to understand it. Can you review my attempt to explain what you've done/answer the questions I still have?

1. You created a numeric variable called 'Score.'

2. You created a separate slide layout called 'With Scoreboard' where you had the scoreboard object, with it's eight different states, and the triggers necessary to make it function. There are two sets of triggers. The first set, which are a slide triggers, ensure that whatever the current score is, it is reflected on each new slide layer or new slide. The second set, which are variable triggers, controls the score.

Q: Why create a separate layout? Why not put everything on the existing blank slide layout?

3. In the actual scene, you use the With Scoreboard layout which then shows on every new slide or slide layer.

4. In the actual scene, you had the object called 'Button 1' (the button that if pressed would be the correct choice and should be reflected on the scoreboard with a point) with a trigger that added a value of one to the variable called 'Score' each time Button 1 was clicked.

Q: Why add the 'If Score is less than value 9' to the trigger?  The project will end once the user has clicked on Button 1 eight times. Does the workflow get disrupted if the user decides to click Button 1 a few extra time?

5. It seems to me this was at least a bit of a complex project to set up. I would never have gotten to the solution you've provided in a month of Sundays. And trying to find the right tutorial or discussion online for this project was equally as time consuming, which is why I'd turned to the forum.

Q: Besides relying on nice folks like yourself to do the work for me, and short of just getting more experience using Articulate Storyline myself, are there any other places I should be looking when the project I want to create goes beyond what the basic tutorials and discussions cover?

Joel

Walt Hamilton

1. Yes


2. Yes. I  created a new layout using my usual workflow, which is not to make huge changes on anything. I first make a duplicate, then make the changes. It saves me from shooting myself in the foot when I bargle things up. I can always delete the mess, and be back where I was when I started screwing things up. In this case, I deliberately left the original layout in case you ever want a slide without the scoreboard.


3. Technically, the scoreboard only shows on the base. The layers are set to allow the scoreboard from the base show through. It'd less work than to create a layout for layers, too.


4. Yes. however you increment score, the triggers on the master will take care of the scoreboard.

The less than value 9 is due to the fact that I believe when you make something fool-proof, the universe makes a smarter fool. Actually, incrementing a variable is always dangerous. What happens if someone tries the question twice, and the score becomes 9? There are frequently ways that they can be incremented beyond what you expect, and bad things can happen. In this specific instance, I can't think of how, or what problems it could cause, but why take chances?


5.   There are two important components to complicated operations in SL; your general knowledge of what it can be made to do and how, and how well you define your problems. I learned a lot about SL by frequenting (practically stalking) the forum, reading questions and answers I wasn't even interested in, just to learn what I could about the program. I looked for unanswered questions to see if I could find answers, and truthfully, I made it somewhat of a hobby.
Problem definition is the most important. Far too many of us think describing what it looks like to the learner is adequate problem definition. What we need is to know specifically, clearly, and accurately what do I need, and how should the computer do it, one step at a time. What tiny, single action steps does the computer need to take, and in what order. The smaller you can get the details, the more likely you are to have a chance of implementing them.

Also, you might check out YouTube. I've heard that there is a bunch of videos there, but I can't vouch for their value.

 

 

Joel MacDonald

One more snag I've run into that I forgot to put into the initial project. Right now, when the correct button is selected, the point earned immediately shows up on the scoreboard. I need a four second delay between clicking on the correct button and the point showing up on the scoreboard as there are other animations/sound effects that need to happen first. These things that will happen are reflected in a different layer - there's a layer that provides the feedback if the correct button is selected and a layer if the incorrect button is pressed.

With the majority of triggers being on the slide master, I'm struggling to have the "Correct" layer reflect that four second gap.  I tried using a T/F variable on the "Correct" layer to stop the slide master trigger from immediately showing the point on the scoreboard but all it did was mess up whatever the learner's current score is on all other layers and other slides.

You've been very generous with your time. Thank you. I hope you can help me out with this as well.

Walt Hamilton

Set the length of the correct layer to four seconds (and probably set it to hide when the timeline finishes). Move the trigger to increment the score from the base to the layer. Instead of "when user clicks button 1", change it to "when timeline ends on this layer". Clicking the correct button will show the correct layer, which will do the sound, and everything else, then close and change the scoreboard. If you place it in the list after all the other triggers, you can use the end of the layer timeline to jump to another slide.

Joel MacDonald

Thanks Walt. I wasn't able to get your instructions to work within the layers. I figure it must have something to do with the scoreboard object being located on the slide master. I'd copy and paste the trigger to the layer but the 'Score' variable wouldn't be an option. It would on the base layer though. So instead of using 'Correct' and 'Incorrect' layers on one slide I used 'Correct' and 'Incorrect' slides and then your instructions worked perfectly.