I came across a CL example slide that toggled a lightbulb image on and off with an action button and wanted to use the idea in an activity, but now I can find it, does anyone know that I am talking about?

Set a number in your graph to the pressCount

`number(`n`): button.pressCount`

Then next to one of the dimensions, or one of the center coordinates, add:

`{mod(n,2)=1}`

Youâ€™re basically setting a restriction that will make a value undefined if it equals 0 instead of one, thus not displaying the image.

Okay, I think I see what youâ€™ve done there. I had to search and found a similar thread where SqrtOfPi used this, which is mostly the same(?) to understand what mod was. There seems to be a lot of variation to achieve the same result.

p=hint1.pressCount

hidden: numericValue("\mod(${p},2)")=0

I ended up finding the example:

which has this:

label: when counter = 1 â€śOnâ€ť otherwise â€śOffâ€ť

style: when counter = 1 buttonStyles.red otherwise buttonStyles.default

counter = simpleFunction("\operatorname{mod}\left(x,2\right)").evaluateAt(this.pressCount)

Agh, my head hurts. It looks like it all needs to be tied into an image/graph, but if I just wanted it to toggle text in the Note above the Action Buttons, would I do something like this? The mod would make it so each button toggles the text on or off rather than having the text pop up when the button is hit once?

p1=button1.pressCount

hidden: numericValue("\mod(${p1},2)")=0

p2=button2.pressCount

hidden: numericValue("\mod(${p2},2)")=0

content:

when p1 = 1 â€śGreat Job! Move on to the next slide.â€ť

when p2 = 1 â€śHintâ€ť

The mod function takes a number and gets the remainder when divided by a quotient. (mod 2) can only result in remainders of 0 or 1, even and odd numbers respectively. Thus, the toggle (e.g. the button clicked 5 times is odd, so 1 controls the various toggles).

`counter`

is doing what I put in the graph, though unneccesarily complicated. You donâ€™t need two buttons (harder to make two buttons work actually). The mod calculation toggles the button label, button color, and the two different images.

For your note:

```
content:
when p1 = 1 "Great Job! Move on to the next slide."
otherwise "Hint"
```

Set a number in your graph to the pressCount

`number(`

n`): button.pressCount`

Then next to one of the dimensions, or one of the center coordinates, add:

`{mod(n,2)=1}`

Is it necessary to have a graph component for this? I just want a button to toggle a display between two equations for studentsâ€¦ I suppose I could have a graph component but make it hidden the whole timeâ€¦

~~I got this working but it only switches once, then it stays on one displayed note. Iâ€™d like it to continue to switch between note1a and note1b. I made the graph display to try to debug, showing ~~`y=a{mod(a,2)=1}`

and its a flat line only defined for odd numbers but it continues to increase with button pushesâ€¦

Got it! Edited in my solution. Defined a variable `b=mod(a,2)`

where `number('a'): button.pressCount`

and switch the displayed notes based on `b`

, not `a`

, using `hidden:`

Itâ€™s not necessary to have a graph component. Itâ€™s just a little cleaner doing calculations in graphs than in the CL where you need to use `numericValue( )`

or `simpleFunction( ).evaluateAt( )`

, but itâ€™s not always more efficient.

So rather than adding a graph, in note1 (whatever you call it):

```
n=numericValue(`\mod(${button.pressCount},2)`)
hidden: n=1
```

In note2:

```
hidden: note1.script.n=0
```

Perfect, thanks! I added a second copy of my slide with your solution in the link above.

I wasnâ€™t aware `numericValue`

was a function.

The other way of performing calculations is to use `simpleFunction( ).evaluateAt( )`

, which for non-terminating decimals is more stable than `numericValue`

. You can either enter exactly as you would in `numericValue`

and `.evaluateAt( )`

any number:

```
n=simpleFunction(`\mod(${button.pressCount},2)`).evaluateAt(0)
```

â€¦or you can create a function (more useful when the same operations are carried out with different values) with variables and `.evaluateAt( )`

your intended input:

```
toggle=simpleFunction(`\mod(a,2)`,"a")
n=toggle.evaluateAt(button.pressCount)
```

Note: `simpleFunction`

defaults to in terms of x. More than one variable, or a variable other than x must be defined. Thus, the `"a"`

parameter in `toggle`

.