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