How do I check if an entire array matches the elements of another array (different size)?

13 visualizzazioni (ultimi 30 giorni)
Hi!
I'm making a bingo game in which I want to display the name of the winner in a Edit Field.
I have already saved the card elements (numbers) for every person participating in the game as public variables. For example:
person1 = ([3,10,12,27,31,37,46,48,56,63,66,71,79,82,86]);
person2 = ([1,3,13,22,34,38,41,42,55,61,67,72,78,81,85]);
etc..
I'm using randperm function to call 90 numbers and storing it as in: app.num = randperm(90);
In the game, someone wins if all the numers of the array are called in sequence from the randperm function.
How can I do this by storing the sequence of the randperm function numbers in an array everytime a button is pushed and call the winner whenever someone wins?
  2 Commenti
Stephen23
Stephen23 il 9 Ott 2020
Modificato: Stephen23 il 10 Ott 2020
"I have already saved the card elements (numbers) for every person participating in the game as public variables. For example:"
person1 = ([3,10,12,27,31,37,46,48,56,63,66,71,79,82,86]);
person2 = ([1,3,13,22,34,38,41,42,55,61,67,72,78,81,85]);
etc..
Numbering variables like that is a sign that you are doing something wrong. Putting meta-data (e.g. pseudo-indices or "their real names") into variable names is a sign that you are doing something wrong. Trying to access those individual variables will force you into writing slow, complex, buggy code that is difficult to debug:
The simple, efficient, recommended approach is to use indexing into one array (which could be a container array, e.g. a cell array, a table, or a structure).
Lélia van der Linden
Lélia van der Linden il 9 Ott 2020
That was actually an example...
I'm using their real names as variable names.
But thanks anyway! Learned something new.

Accedi per commentare.

Risposte (1)

Mohammad Sami
Mohammad Sami il 9 Ott 2020
Modificato: Mohammad Sami il 9 Ott 2020
What you need is the ismember function.
if true
[Lia,Locb] = ismember(person1, person2);
Allperson1inperson2 = all(Lia);
end
This check that values in person1 exist in person2

Categorie

Scopri di più su Card games in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by