Uno (Parte 1)

Esta pregunta está inspirada en el popular juego de cartas Uno.

Completa la función can_play. Esta recibe (1) la mano actual de un jugador y (2) la carta que está boca arriba. Devuelve true si el jugador puede hacer una jugada o false si debe robar del mazo.

Un jugador puede hacer una jugada si se cumple alguna de estas condiciones:

  • Tiene una carta del mismo color que la carta que está boca arriba.
  • Tiene una carta del mismo número que la carta que está boca arriba.
can_play(["yellow 3", "yellow 7", "blue 8", "red 9", "red 2"], "red 1") ➞ true
// La mano contiene cartas rojas.

can_play(["yellow 3", "yellow 7"], "blue 7") ➞ true
// La mano contiene un 7.

Ejemplos

can_play(["yellow 3", "yellow 5", "red 8"], "red 2") ➞ true

can_play(["yellow 3", "yellow 5", "red 8"], "blue 5") ➞ true

can_play(["yellow 3", "blue 5", "red 8", "red 9"], "green 4") ➞ false

can_play(["yellow 3", "red 8"], "green 2") ➞ false

Notas

  • Devuelve false si el jugador no tiene ninguna carta en la mano (un array vacío).
  • En este mazo no hay cartas especiales ni comodines.