Uno de los juegos infantiles más popular entre los niñospequeños es el llamado "Piedra, papel o tijeras". En este juego,dos niños escogen uno de los tres objetos anteriores: si los dosniños escogen el mismo objeto se declara un empate; en otro caso"piedra" pierde con "papel", "papel" pierde con "tijeras" y "tijeras"pierde con "piedra". Así como hay personas buenas para losvolados, hay personas buenas en este juego. Tu función no podrá usar variables globales (aunque sí podrá usar variables static), no deberá solicitar ninguna entrada ni generar ninguna salida (incluyendo a través de archivos) y deberá compilar suponiendo que tu archivo fuente incluye todos los encabezados de la biblioteca estándar de C++17 disponibles en GCC.Tu labor será la de escribir una función en C++ que acepte un parámetro P de tipo int y que regrese un int. El valor de retorno será 1, 2, o 3 según tu función escoja tirar "piedra", "papel" o "tijeras" respectivamente. Por otro lado, p podrá tomar el valor 0 para indicar que es la primera ronda de una serie de juegos o los valores 1, 2 o 3 para indicar cuál fue la tirada anterior de tu contrincante. Si tu función se ejecuta incorrectamente puede quedar descalificada; si regresa un valor ilegal perderásun punto y tu contrincante ganará 1 punto (suponiendo que él tiró algo válido). Si tu contrincante tira algo inválido, ése será el valor de p que tu función reciba en la siguiente ronda, por lo que deberán validar p para evitar que su función se comporte incorrectamente. Abajoles muestro ejemplos de funciones con las propiedades que se piden eneste ejercicio.
|