An Amusement Machine using LEDs

We have counter values of 1,2,3 which correspond to wheels and rows in the matrix, but now also places in a storage array for the spinCount values.

Yes, but think of it as just the number of the wheel you are working on. So that number will specify two variables that need to know about this. One is just a simple variable and the other is a two dimensional array.

It is a bit like doing maths. The layman will say "I have 6 bags of rice at $3.40 a bag", but a mathematician would say "I have n bags of rice at $y per bag. In other words he generalises and doesn't commit to actual numbers until he want to make a calculation. The same principal goes for computing, don't commit to numbers until you have to. You see in the early stages of this project we were quite happy to use hard numbers or constants, but as we wanted the same code to do increasingly more, changing to a simple variable and then to an array allows us to repeat the same operations but on different data.

Or does the spin function call the value? Are passing and calling two sides of the same coin?

Calling a function causes that code to be executed, but calling the function and passing it a number gives the code a chance to do something slightly different. Just like our flash function, yes it just flashes an LED on and off, but the values we pass to it makes the same code flash any LED with any on/off time. Their is scope here to make the flashing change speed the longer the spin function runs to get an even better effect if you like. Can you think how you could do that? Not in terms of code but just concepts.

Get the concepts right first and then implement those concepts in code.

So now we need to work out how to flash those resulting values of the spinCount array after the third spin.

Well we have those three numbers in the wheel array, so how about a for loop to flash each one in turn. The put that code into a nested array to make it flash the three say four times.