Uno (Parte 1)
Esta pregunta está inspirada en el popular juego de cartas Uno.
Escribe una función que reciba dos argumentos: (1) la mano actual de un jugador y (2) la carta que está boca arriba sobre la mesa, representada por el parámetro face. La función devolverá true si el jugador puede jugar una carta, o false si tiene que tomar una carta del mazo.
Un jugador puede jugar una carta si se cumple al menos una de estas condiciones:
- Tiene una carta del mismo color que la carta que está boca arriba (face).
- Tiene una carta con el mismo número que la carta que está boca arriba (face).
canPlay(["yellow 3", "yellow 7", "blue 8", "red 9", "red 2"], "red 1") => true
// Porque el jugador tiene dos cartas rojas y la carta que está boca arriba (face) es roja.
canPlay(["yellow 3", "yellow 7"], "blue 7") => true
// Porque el jugador tiene un 7 y la carta que está boca arriba (face) es un 7.Ejemplos
canPlay(["yellow 3", "yellow 5", "red 8"], "red 2") ➞ true
canPlay(["yellow 3", "yellow 5", "red 8"], "blue 5") ➞ true
canPlay(["yellow 3", "blue 5", "red 8", "red 9"], "green 4") ➞ false
canPlay(["yellow 3", "red 8"], "green 2") ➞ falseNotas
- Devuelve
falsesi el jugador no tiene ninguna carta en la mano (un arreglo vacío). - Este mazo no contiene cartas especiales ni comodines.