Kata Piedra-Papel-Tijera-Lagarto-Spock

propuesto por fernandoescolar

En la serie de televisión The Big Bang Theory , uno de sus protagonistas propone una extensión del popular juego piedra papel tijera: Con el fin de hacerlo más divertido añade dos variables nuevas al juego: lagarto y spock.

Enunciado
En la serie de televisión The Big Bang Theory , el popular personaje Sheldom Cooper, propone una extensión del popular juego piedra papel tijera. Con el fin de hacerlo más divertido añade dos variables nuevas al juego: lagarto y spock. Representando en el esquema de la izquierda quien sería el ganador en caso de los diferentes enfrentamientos.


De este gráfico hemos podido desarrollar las siguientes premisas:
  • Si las dos elecciones son las mismas es un empate
  • Las tijeras cortan el papel
  • El papel cubre a la piedra
  • La piedra aplasta al lagarto
  • El lagarto envenena a Spock
  • Spock destroza las tijeras
  • Las tijeras decapitan al lagarto
  • El lagarto se come el papel
  • El papel refuta a Spock
  • Spock vaporiza la piedra
  • La piedra aplasta las tijeras.

Se desea desarrollar un programa capaz de determinar en un torneo de dos jugadores cual de ellos gana o si empatan al enfrentarse a este entretenido juego.

Aunque está claro que siempre es empate ya que todo el mundo elige "Spock"...

Ver todo el enunciado

Preguntas sobre el desafío

¿Tienes dudas sobre el desafío? plantéala aquí

Plantea tu pregunta

21 Soluciones

Dar mi solución

0votos
Kata Piedra-Papel-Tijera-Lagarto-Spock en C#
por

Rubén

hace 1 año

Ahí va mi solución. He creado una matriz bidimensional con los pesos de la partida, para contemplar las difierentes posibilidades. 0 es empate, 1 gana el jugador 1 y 2 gana el jugador 2. Así ver quién es el ganador es bastante sencillo. De hecho hay más líneas de código para controlar la consola que para la solución en sí misma.

0votos
Kata Piedra-Papel-Tijera-Lagarto-Spock en C++
por

Alansc

hace 1 año

La estrategia que he seguido consiste en hacer uso de los bits de un char, para mediante una operación AND, poder saber si se gana o no. Hay un vector de char con las reglas en hexadecimal (activo los flags de a quien se vence. Los 8 bits serian: O O O Piedra Papel Tijera Lagarto Spock Con el enum de los elementos, podemos recoger la regla a aplicar según lo elegido por el usuario.

0votos
Kata Piedra-Papel-Tijera-Lagarto-Spock en C#
por

Jose

usando Visual Studio 2011 Express hace 1 año

Mi primera (y espero que no última) experiencia con esto de los code katas... Así que no seáis duros ;) PD: he copiado y pegado el código de las 2 clases que he utilizado (la que implementa la solución y el correspondiente test), ya que me daba error al subir el zip con el código comprimido (usando tanto 7zip como con el compresor de serie de Windows 7).

1voto
Kata Piedra-Papel-Tijera-Lagarto-Spock en PHP
por

mongui

hace 1 año

Bueno, esta es mi solución al kata. Tengo que decir que mis habilidades de programación están un poquito mermadas después de algunos años sin practicar así que acepto gustosamente las críticas de todo tipo. El array de combinaciones está sacado de la tabla que se puede encontrar en el artículo de la wikipedia inglesa de Piedra, papel, tijera, lagarto, spock.

Dar mi solución