En estos ejercicios se aconseja utilizar bucles for para crear las matrices de datos y bucles foreach para mostrar las matrices de datos. Para transformar las matrices se recomienda utilizar foreach cuando se pueda y bucles for cuando sea necesario.
Matrices (3) 1 - Dados de póker
Escriba un programa que simule una tirada de dados de póker que incluya entre 3 y 7 dados.
En este ejercicio el valor del atributo alt debe coincidir con el nombre del fichero SVG. Por ejemplo:
Los nombres de los ficheros SVG con las imágenes de los dados y los valores del atributo alt pueden guardarse en dos matrices o en una sola, de varias maneras:
Escriba un programa que muestre un grupo de entre 5 y 10 cartas de valores numéricos de una baraja francesa, al azar. Las cartas se pueden repetir.
En este ejercicio el valor del atributo alt indica el valor y el palo de la carta. Por ejemplo:
<img src="img/cartas/c8.svg" alt="8 de corazones" width="100">
<img src="img/cartas/t6.svg" alt="6 de tréboles" width="100">
Ayuda
Las siglas de los palos en los ficheros SVG con las imágenes de las cartas y los nombres de los palos para el atributo alt pueden guardarse en dos matrices o en una sola, de varias maneras:
Matrices (3) 4 - Cartas de un palo, sin repetición
Escriba un programa que muestre un grupo de entre 5 y 10 cartas de valores numéricos de una baraja francesa, al azar. Las cartas NO se pueden repetir y pertenecen al mismo palo.
Ayuda
Para obtener una matriz de cartas sin repetición podemos:
o bien crear una matriz con todas las cartas, utilizar la función array_rand() con dos argumentos para obtener la cantidad de valores buscada y barajar el resultado,
o bien primero barajar la matriz con todas las cartas y copiar en una nueva matriz la cantidad de valores buscada.
Matrices (3) 11 - Cartas extremas
Escriba un programa:
que muestre primero un grupo de entre 5 y 10 cartas de tréboles al azar (los valores se pueden repetir).
que indique cuál es la carta más alta y la más baja.
Ayuda
Puede utilizar las funciones max() y min() para obtener los valores máximo y mínimo.
Matrices (3) 12 - La carta más alta
Escriba un programa:
que muestre primero un grupo de entre 5 y 10 cartas de tréboles al azar (los valores se pueden repetir).
que indique y muestre cuál es la carta más alta del grupo.
que elimine esa carta del grupo (puede haber varias) y muestre el grupo restante.
que indique cuál es la carta más alta del grupo restante.
Ayuda
Puede utilizar la función unset() para eliminar las cartas coincidentes con la carta más alta.
Matrices (3) 13 - Eliminar valores repetidos
Escriba un programa:
que muestre primero un grupo de entre 5 y 15 bolas numeradas del 1 al 10 al azar (rango unicode: 10102 a 10111).
que muestre de nuevo el grupo inicial, pero habiendo eliminado del grupo los valores repetidos.
Ayuda
Puede utilizar la función array_unique() para obtener los valores sin repetir.
Matrices (3) 14 - Buscar emoticono
Escriba un programa:
que muestre primero un grupo de entre 10 y 20 emoticonos al azar (rango unicode: 128512 a 128580).
que indique si un emoticono al azar (del mismo rango unicode) está en el grupo o no.
Ayuda
Puede utilizar la función in_array() para buscar el elemento en la matriz.
Matrices (3) 15 - Contar corazones
Escriba un programa:
que muestre primero un grupo de entre 7 y 20 corazones al azar (rango unicode: 128147 a 128152).
que indique cuantas veces ha aparecido cada corazón.
Ayuda
Puede utilizar la función array_count_values() para contar la frecuencia de cada elemento de la matriz.
Matrices (3) 16 - Une matrices
Escriba un programa:
que muestre primero todos los emoticonos. Los emoticonos se encuentran en los rangos 128512 al 128580, 129296 al 129303, 129312 al 129317, 129319 al 129327, 129392, 129393, 129395 al 129398, 129402 y 129488.
que muestre uno de esos emoticonos al azar.
Ayuda
Puede utilizar la función range() para generar las matrices de cada uno de los rangos.
Puede utilizar la función array_merge() para unir las matrices.
Ordenar matrices
Matrices (3) 21 - Tirada de dados ordenada
Escriba un programa que muestre una tirada de un número de dados al azar entre 2 y 7 y los ordene de menor a mayor.
Puede utilizar la función array_count_values() para contar la frecuencia de cada carta.
Puede utilizar alguna función de ordenación para ordenar la matriz de conteo de las cartas.
Matrices (3) 23 - Jugada de Risk
Escriba un programa que simule una tirada del noble juego de mesa Risk. Las reglas son las siguientes:
El jugador atacante puede tirar entre uno y tres dados.
El jugador defensor puede tirar entre uno y dos dados.
Se comparan los dados en orden decreciente (el dado más alto del atacante con el dado más alto del defensor y, en su caso, el segundo dado más alto del atacante con el segundo dado del defensor).
El defensor pierde una unidad si el dado del atacante es mayor que el del defensor. El atacante pierde en los otros casos (si el dado del defensor es mayor o igual que el del atacante).
Ayuda
Ordene los dados de cada jugador de mayor a menor antes de compararlos.
El número de dados a comparar es el menor de los dados tirados por cada jugador.
Matrices (3) 24 - Reparto de cartas
Escriba un programa:
que muestre un número par de cartas de corazones, entre 4 y 12, al azar.
que reparta las cartas entre dos jugadores, al azar.
Ayuda
Puede utilizar la función shuffle() para barajar las cartas.