Example #1
0
 def timezone(timeZone, listingType):
     if FrontendUtil.isValidTimeZone(timeZone) and FrontendUtil.isValidListingType(listingType):
         data = GameAction.fetchGamesXDays(5, listingType)
         gameData = FrontendUtil.getGamesPerDay(data, SotDate.getNextXDays(5), timeZone)
         return JSON.jsonify(dict({ "gamelist" : gameData }))
     else:
         abort(404)
Example #2
0
 def filter(timeZone, listingType):
     if FrontendUtil.isValidTimeZone(
             timeZone) and FrontendUtil.isValidListingType(listingType):
         data = GameAction.fetchFilterGamesXDays(5, listingType,
                                                 request.json)
         gameData = FrontendUtil.getGamesPerDay(data,
                                                SotDate.getNextXDays(5),
                                                timeZone)
         return JSON.jsonify(dict({"gamelist": gameData}))
Example #3
0
 def listing(listingType):
     if FrontendUtil.isValidListingType(listingType):
         fpDateRange = SotDate.getNextXDays(5)
         data = GameAction.fetchGamesXDays(5, listingType)
         filterLists = FrontendUtil.buildFilterLists(data)
         gameData = FrontendUtil.getGamesPerDay(data, fpDateRange)
         return render_template("frontpage.html", fpDateRange = fpDateRange, gameData = gameData, stationList = filterLists[0], leagueList = filterLists[1], teamList = filterLists[2], activeListingType = listingType)
     else:
         abort(404)
Example #4
0
 def timezone(timeZone, listingType):
     if FrontendUtil.isValidTimeZone(
             timeZone) and FrontendUtil.isValidListingType(listingType):
         data = GameAction.fetchGamesXDays(5, listingType)
         gameData = FrontendUtil.getGamesPerDay(data,
                                                SotDate.getNextXDays(5),
                                                timeZone)
         return JSON.jsonify(dict({"gamelist": gameData}))
     else:
         abort(404)
Example #5
0
 def frontpage():
     fpDateRange = SotDate.getNextXDays(5)
     data = GameAction.fetchGamesXDays(5, "cable")
     filterLists = FrontendUtil.buildFilterLists(data)
     gameData = FrontendUtil.getGamesPerDay(data, fpDateRange)
     return render_template("frontpage.html",
                            fpDateRange=fpDateRange,
                            gameData=gameData,
                            stationList=filterLists[0],
                            leagueList=filterLists[1],
                            teamList=filterLists[2],
                            activeListingType="cable")
Example #6
0
 def listing(listingType):
     if FrontendUtil.isValidListingType(listingType):
         fpDateRange = SotDate.getNextXDays(5)
         data = GameAction.fetchGamesXDays(5, listingType)
         filterLists = FrontendUtil.buildFilterLists(data)
         gameData = FrontendUtil.getGamesPerDay(data, fpDateRange)
         return render_template("frontpage.html",
                                fpDateRange=fpDateRange,
                                gameData=gameData,
                                stationList=filterLists[0],
                                leagueList=filterLists[1],
                                teamList=filterLists[2],
                                activeListingType=listingType)
     else:
         abort(404)
Example #7
0
def eval_genomes(genomes, config):
    global game, gen
    win = game.screen

    gen += 1
    game.restart()

    nets = []
    cells = game.cells.copy()
    ge = []

    for num, (genome_id, genome) in enumerate(genomes):
        genome.fitness = 0
        net = neat.nn.FeedForwardNetwork.create(genome, config)
        nets.append(net)
        ge.append(genome)

    iteration = 0
    every = 3
    while len(cells) > 0:
        game.draw()
        # score
        score_label = pg.font.SysFont("bahnschrift", 25).render("Alive: " + str(len(cells)), True, (255, 255, 255))
        win.blit(score_label, (Game.WIDTH - score_label.get_width() - 15, 10))
        if iteration % every == 0:
            game.tick()
        else:
            game.display_tick()
        for event in pg.event.get():
            if event.type == pg.QUIT:
                pg.quit()
                exit()
                break

        rem = []
        for x, cell in enumerate(cells):
            inp = calc_input(game, cell)
            if cell.died:
                ge[x].fitness -= 1
                rem.append(cell)
                continue

            ge[x].fitness += 0.1 * cell.hp_delta
            outp = nets[x].activate((*inp, cell.hp, cell.x, cell.y))
            ind = np.argmax(outp)
            if ind == 0:
                dx, dy = 0, -1
            elif ind == 1:
                dx, dy = -1, 0
            elif ind == 2:
                dx, dy = 0, 1
            elif ind == 3:
                dx, dy = 1, 0
            else:
                raise RuntimeError('Unknown command from nn')
            if 0 <= cell.x + dx < Cell.W and 0 <= cell.y + dy < Cell.H:
                if not game.update(GameAction(cell.cell_id, dx, dy)):
                    ge[x].fitness -= 1
            else:
                ge[x].fitness -= 1

        for cell in rem:
            x = cells.index(cell)
            ge.pop(x)
            nets.pop(x)
            cells.pop(x)

        iteration += 1
        if iteration > 500:
            break
Example #8
0
 def filter(timeZone, listingType):
     if FrontendUtil.isValidTimeZone(timeZone) and FrontendUtil.isValidListingType(listingType):
         data = GameAction.fetchFilterGamesXDays(5, listingType, request.json)
         gameData = FrontendUtil.getGamesPerDay(data, SotDate.getNextXDays(5), timeZone)
         return JSON.jsonify(dict({ "gamelist" : gameData }))
Example #9
0
 def frontpage():            
     fpDateRange = SotDate.getNextXDays(5)
     data = GameAction.fetchGamesXDays(5, "cable")
     filterLists = FrontendUtil.buildFilterLists(data)
     gameData = FrontendUtil.getGamesPerDay(data, fpDateRange)
     return render_template("frontpage.html", fpDateRange = fpDateRange, gameData = gameData, stationList = filterLists[0], leagueList = filterLists[1], teamList = filterLists[2], activeListingType = "cable")