Por eso he montado un pequeño programa para jugar piedra-papel-tijeras-lagarto-spock contra la máquina y así, a la vez, fijar algunos conocimientos.
La lógica del juego es la siguiente:
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, y, como es habitual… la piedra aplasta las tijeras.
# -*- coding: utf-8 -*-
# Piedra-Papel-Tijeras-Lagarto-Spock
import random
def leyenda():
print "Las tijeras cortan el papel, el papel cubre a la piedra,"
print "la piedra aplasta al lagarto, el lagarto envenena a Spock, "
print "Spock destroza las tijeras, las tijeras decapitan al lagarto, "
print "el lagarto se come el papel, el papel refuta a Spock, "
print "Spock vaporiza la piedra, y, como es habitual… la piedra aplasta las tijeras."
def mano_aleatoria():
mano = ['PIEDRA','PAPEL','TIJERAS','LAGARTO','SPOCK']
return random.choice(mano)
def mano_a_numero(name):
if(name == 'PIEDRA'):
return 0;
elif(name == 'SPOCK'):
return 1;
elif(name == 'PAPEL'):
return 2;
elif(name == 'LAGARTO'):
return 3;
elif(name == 'TIJERAS'):
return 4;
else:
print 'ERROR'
def numero_a_mano(number):
if(number == 0):
return 'PIEDRA';
elif(number == 1):
return 'SPOCK';
elif(number == 2):
return 'PAPEL';
elif(number == 3):
return 'LAGARTO';
elif(number == 4):
return 'TIJERAS';
else:
print 'ERROR'
def logica(mano_jugador):
print 'Humano elige: ' + mano_jugador
numerohumano = mano_a_numero(mano_jugador)
numeromaquina = mano_a_numero(mano_aleatoria())
print 'Máquina elige: ' + numero_a_mano(numeromaquina)
diferencia = (numeromaquina - numerohumano) % 5
if(diferencia==1 or diferencia==2):
print '¡MAQUINA GANA!'
return 1
elif (diferencia==4 or diferencia==3):
print '¡HUMANO GANA!'
return 2
elif(diferencia==0):
print 'EMPATE'
def juego():
marcadorhumano = 0
marcadormaquina = 0
empate = 0
manos = int(raw_input ("Manos a jugar: "))
for jugada in range (1,manos+1):
valor = 1
while valor == 1:
mano_humano = raw_input ("Elige Humano (PIEDRA, PAPEL, TIJERAS, LAGARTO, SPOCK): ")
if mano_humano == 'PIEDRA' or mano_humano == 'PAPEL' or mano_humano == 'TIJERAS' or mano_humano == 'LAGARTO' or mano_humano == 'SPOCK':
valor = 0
else:
valor = 1
valor_mano = logica(mano_humano)
if valor_mano == 1:
marcadormaquina += 1
elif valor_mano == 2:
marcadorhumano += 1
else:
empate += 1
print '\n'
print 'MARCADOR: '
print 'Humano: ',marcadorhumano
print 'Maquina: ',marcadormaquina
if __name__ == '__main__':
leyenda()
juego()
0 comentarios:
Publicar un comentario