Exemple #1
0
def run_simulation(steps=50, numbugs=20, draw=False, sleep=0):
    s = Heatbugs()
    LOG.info("Starting simulation.")

    drawlib.draw_init(s.grid)

    for step in range(steps):
        LOG.info("Step: %s" % step)
        s.diffuse()
        for bug in s.bugs:
            s.step_bug(bug)
        if draw:
            drawlib.draw_grid(s.grid)
        if sleep:
            time.sleep(sleep)
    LOG.info("Done! Max heat: %s" % s.max_heat)
    return s
Exemple #2
0
def run_simulation(steps=50, numbugs=300, draw=False, sleep=0):
    g = GridSpace(cell_fn=BugCell)
    LOG.info("Starting simulation.")
    bugs = init_grid(g, numbugs=numbugs)

    drawlib.draw_init(g)

    for step in range(steps):
        LOG.info("Step: %s" % step)
        diffuse(g)
        for bug in bugs:
            #sys.stdout.write('.')
            #sys.stdout.flush()
            step_bug(g, bug)
        if draw:
            drawlib.draw_grid(g)
        if sleep:
            time.sleep(sleep)
    LOG.info("Done! Max heat: %s" % MAX_HEAT)
    return g