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

13 visualizaciones (últimos 30 días)
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 comentarios
Stephen23
Stephen23 el 9 de Oct. de 2020
Editada: Stephen23 el 10 de Oct. de 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 el 9 de Oct. de 2020
That was actually an example...
I'm using their real names as variable names.
But thanks anyway! Learned something new.

Iniciar sesión para comentar.

Respuestas (1)

Mohammad Sami
Mohammad Sami el 9 de Oct. de 2020
Editada: Mohammad Sami el 9 de Oct. de 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

Categorías

Más información sobre Card games en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by