def genera_jugador(): vida = float(aleatorio(50, 100)) ataque = float(aleatorio(40, 60)) defensa = float(aleatorio(20, 40)) habilidad = eleccion(['fuego', 'agua', 'planta']) return {'vida':vida, 'ataque':ataque, 'defensa':defensa, 'habilidad':habilidad}
def genera_enemigo(jugador): enemigo = dict() enemigo['vida'] = round(jugador['vida'] * 0.6, 2) enemigo['ataque'] = float(aleatorio(40, 55)) enemigo['defensa'] = float(aleatorio(15, 35)) enemigo['habilidad'] = eleccion(['fuego', 'agua', 'planta']) return enemigo
def mutar(self): lista = self.getciudades() mitad = len(lista) / 2 ini = aleatorio(0, mitad) fin = aleatorio(mitad, len(lista)) a, b, c = lista[0:ini], lista[ini:fin], lista[fin:] b.reverse() del self.__ciudades self.__ciudades = a + b + c del a del b del c
def turno(jugador): """Ejecuta el turno de un jugador. Varia dependiendo de si el jugador es un bot""" print('\nRepartidor.- Es el turno de', jugadores.nombre(jugador), '\nPonte cómodo mientras barajo.') if jugador['tipo'] == jugadores.BOT: seleccion = aleatorio( 0, 3) # El bot ya tiene decidido que carta va a escoger. cartas.barajar() print(jugadores.nombre(jugador), 'ha seleccionado la carta nº', (seleccion + 1)) print('\nRepartidor.- Veamos como escapa nuestro compañero...') print('(El repartidor voltea tu carta y...)') cartas.mostrar() repartidor.comprobar(cartas.baraja[seleccion], jugador) # [...] Y comprueba su elección. else: cartas.barajar() seleccion = repartidor.repartir( ) # El jugador selecciona una carta del reparto. print(jugadores.nombre(jugador), 'ha seleccionado la carta nº', (seleccion)) print('\nRepartidor.- Veamos que terrible destino te espera...') print('(El repartidor voltea tu carta y...)') cartas.mostrar() repartidor.comprobar(cartas.baraja[seleccion], jugador) print('La vida de', jugadores.nombre(jugador), 'es de:', jugadores.vida(jugador)) input('Pulsa una tecla para continuar...')
def selecciont(poblacion, tampob): selec = list() for k in [1, 2]: participantes = list(poblacion) if len(participantes) % 2 == 1: if k == 1: participantes.pop(aleatorio(0, len(participantes))) else: participantes.append(participantes[aleatorio( 0, len(participantes))]) while participantes: a = participantes.pop(aleatorio(0, len(participantes))) b = participantes.pop(aleatorio(0, len(participantes))) ganador = a if a < b else b selec.append(ganador) selec.sort() return selec[:tampob]
def nombre_aleatorio(): nombres = ( 'Lucía', 'Roberto', 'Belén', 'Alicia', 'Juan', 'Paloma', \ 'Natalia', 'Josemi','Andrés', 'Isabel', 'Pablo','Álex', \ 'Vicenta', 'Marisa', 'Concha', 'Mauri', 'Fernando', 'Emilio', \ 'Mariano', 'Paco' ) return nombres[aleatorio(0, (len(nombres) - 1))]
def cruzarpob(pob, pcruza): padres = list(pob) hijos = list() if len(padres) % 2: if random() > 0.5: padres.pop(aleatorio(0, len(padres))) else: padres.append(padres[aleatorio(0, len(padres))]) while padres: a = padres.pop(aleatorio(0, len(padres))) b = padres.pop(aleatorio(0, len(padres))) if pcruza > random(): hijos.extend(a.cruzar(b)) return hijos
def combinacion(num_comb, num_eleg): elementos = [] aux = num_comb while aux > 0: numero = aleatorio(1, num_eleg) if not numero in elementos: elementos.append(numero) elementos.sort() aux = aux - 1 return elementos
def jugar(jugador): # A jugar se le puede pasar un jugador como argumento # A traves del módulo repartidor realizaremos una partida. if jugador['bot'] == True: seleccion = aleatorio(0, 3) print('Repartidor.- Es el turno de', jugador['nombre']) repartidor.barajar() # El repartidor baraja las cartas. seleccion = aleatorio(0, 3) # El bot selecciona una carta del reparto. print('\nRepartidor.- Veamos como escapa nuestro compañero...') repartidor.mostrar() # El repartidor muestra las cartas [...] repartidor.comprobar(cartas.baraja[seleccion], jugador) # [...] Y comprueba su elección. else: print('Repartidor.- Vuelta al tajo. Ponte cómodo mientras barajo.') repartidor.barajar() # El repartidor baraja las cartas. print('\nRepartidor.- Bueno, ahora te toca tí.') seleccion = repartidor.repartir( ) # El jugador selecciona una carta del reparto. print('\nRepartidor.- Vamos a ver que terrible destino te espera...') repartidor.mostrar() # El repartidor muestra las cartas [...] repartidor.comprobar(cartas.baraja[seleccion], jugador) # [...] Y comprueba tu elección.
def generapob(ciudades, pob): s = list() perms = permutaciones(ciudades) fin = aleatorio(pob, fact(len(ciudades))) ini = fin - pob Sigma = list(rango(perms, pob)) for sigma in Sigma: k = list(sigma) s.append(cromosoma(k)) for k in range(2): mutarpop(s, 1.0) return s
def adivinar_numero(jugador): print('\n##Adivina el numero de 1 a 10##') num = aleatorio(1, 10) adiv = int(input('Adivina el numero: ')) while adiv != num: jugador['vida'] = round(jugador['vida'] - 5, 2) if jugador['vida'] <= 0: break print('Tu vida:', str('*'*int((jugador['vida']//5))), jugador['vida']) adiv = int(input('Adivina el numero: ')) if num == adiv: print('Enhorabuena!! Has adivinado el numero') imprimir_estadisticas(jugador) else: print('Has muerto. Num:', num)
from math import pi, degrees from random import randint as aleatorio print("2 pi radianes a grados:") radianes = 2 * pi grados = degrees(radianes) print(grados) print("Numero aleatorio:") print(aleatorio(1, 100))
def asignar_bots(): """Creador interactivo de jugadores. Asigna nombre de forma automática.""" num_bots = int(input('¿Cuántos bots quieres añadir?: ')) for i in range(num_bots): nombre_bot = nombres[aleatorio(0, (len(nombres) - 1))] crear_bot(nombre_bot)
from random import randint as aleatorio import os def abre_cor(a="\033[1;34;31m"): print(a) def feixa_cor(b="\033[m"): print(b) while True: try: print("\t \033[7;32;44m tente adivinha o numero de 0 A 10 \033[m") maquina = int(aleatorio(0, 2)) numero = int(input("\t Numero: ")) os.system("clear") if numero == maquina: abre_cor() print(f"\t \033[1;34;43m acertou Mizeravel foi o {maquina} \033[m") feixa_cor() if numero == maquina: resposta = input( "\t quer continua jogando sim ou nao? ").strip() os.system("clear") if resposta[0].upper() in "N": print("\t terminou")