def estado_estadisticas(vista): global campo lim = 2000 carpeta = "IA_80" victorias = [] for i in range(0, lim + 1, 50): print(str(i)) network = import_network(carpeta + "/IA_java_" + str(i) + ".txt") contador_nn = 0 for j in range(200): campo = mdl.Campo() campo.rellenar(mdl.training_2, mdl.training_1) ia_greedy = Greedy.IA("T2", campo, 0.5) ia_nn = IA(network, "T1", campo, 0.5) tiempo = 0 while True: dt = 200 tiempo += dt campo.actualizar(dt / 1000) if campo.revisarDerrota("T1"): break elif campo.revisarDerrota("T2"): contador_nn += 1 break if tiempo > 600000: print("SE METIO EN UN LOOP") break ia_greedy.jugar(dt) ia_nn.jugar(dt) victorias.append(contador_nn) print(str(victorias)) return "menu"
def estadoEntrenamiento(vista): global campo clock = pygame.time.Clock() network = import_network("IA_50_50_50/IA_java_3550.txt") #network = Network(50, [300, 100, 20]) seguir = True contador_greedy = 0 contador_nn = 0 while seguir: campo = mdl.Campo() campo.rellenar(mdl.training_2, mdl.training_1) ia_greedy = Greedy.IA("T2", campo, 0.5) ia_nn = IA(network, "T1", campo, 0.5) vista.setCampo(campo) vista.setJugador(jugador) termino = False while True: dt = 200 #dt=clock.tick(60) for event in pygame.event.get(): if event.type == KEYDOWN: if event.key == K_SPACE: seguir = False campo.actualizar(dt / 1000) ver = False if ver: vista.dibujarCampoEntrenamiento() pygame.display.flip() if campo.revisarDerrota("T1"): #ia_greedy.escribir_jugadas("jugadas.txt") contador_greedy += 1 termino = True elif campo.revisarDerrota("T2"): #ia_nn.escribir_jugadas("jugadas.txt") contador_nn += 1 termino = True if termino: break ia_greedy.jugar(dt) ia_nn.jugar(dt) #jugadas=ia_greedy.get_jugadas() #ia_nn.entrenar_greedy(jugadas,10,0.0002) #ia_nn.entrenar_jugadas(10,0.0002) #network.export_network("IA_java2.txt") print("greedy: " + str(contador_greedy)) print("nn: " + str(contador_nn)) return "menu"
def preparaJuego(vista): global campo global jugador global ia global ia2 campo = mdl.Campo() tipoIA = escogerTipoIA() campo.rellenar(tipoJugador, tipoIA) jugador = Jugador.Jugador(campo, tipoJugador) vista.setCampo(campo) vista.setJugador(jugador) ia2 = Greedy.IA(tipoIA.nombre, campo, 0.8) network = import_network("IA_50_50_50/IA_java_3550.txt") ia = IA(network, tipoIA.nombre, campo, 2)