2023-03-16 (Th) EWC_Box Shuffling eight cards

I have a sampler with MIDI input, but I have never successfully connected it to a project. The input is a 3.5mm socket, but there is no standard pinning for those. I bought several inexpensive ones that did not work and considered making one, but I skipped the work and bought a compatible model.

My sampler supports eight sounds, a sufficient number of simultaneous instruments. I wanted to change which ones the machine selected, so it does not favor the lower numbers. I thought writing a function that "shuffled" eight numbers would only take a few minutes.

Computer PRNGs are not like cards. Instead, they are like dice. With cards, whenever you draw one out, it is eliminated from the queue. Dice can roll the same number because they have no memory. I fought with myself about the best way to approach the problem. I decided to have an array and prandomly generate a number, then check if that slot was empty. If the space was occupied, I would produce another value until it fit.

It took me all evening to conceive and code the solution, but it worked. I ran the code several times, and the output is visible in the serial connection window of the picture below.
Function to "shuffle" eight cards

The rest of the posts for this project have been arranged by date.
First time here?

Completed projects from year 1
Completed projects from year 2
Completed projects from year 3
Completed projects from year 4
Completed projects from year 5
Completed projects from year 6
Completed projects from year 7
Completed projects from year 8

Disclaimer for http://24hourengineer.blogspot.com and 24HourEngineer.com

This disclaimer must be intact and whole. This disclaimer must be included if a project is distributed.

All information on this blog, or linked by this blog, is not to be taken as advice or solicitation. Anyone attempting to replicate, in whole or in part, is responsible for the outcome and procedure. Any loss of functionality, money, property, or similar, is the responsibility of those involved in the replication.

All digital communication regarding the email address 24hourengineer@gmail.com becomes the intellectual property of Brian McEvoy. Any information contained within these messages may be distributed or retained at the discretion of Brian McEvoy. Any email sent to this address, or any email account owned by  Brian McEvoy, cannot be used to claim property or assets.

Comments to the blog may be utilized or erased at the discretion of the owner. No one posting may claim property or assets based on their post.

This blog, including pictures and text, is copyright to Brian McEvoy.