コード例 #1
0
def main():

    # Create first generation
    pool = Pop(size_gen)

    # Step through generations
    for _ in range(num_gen):

        # initialize data histogram for sim visualization
        hist = Data()
        terrain = Terrain(400, 4)

        # create pybox2d dynamic bodies based on individual's gene
        gen = [Biped(pool.population[i].name, pool.population[i].gene)
               for i in range(size_gen)]

        for k, biped in enumerate(gen):

            # specify terrain and biped to race
            race = Sim(terrain, biped)

            if not hist.terrain:
                hist.set_terrain(terrain)

            # run simulation without visualization
            score, bb, time = race.run(1e4)

            # store sim data and fitness evaluation
            pool.population[k].fitness = score
            hist.timelines[biped.name] = race.history.timelines['timeline']

        # resort gene pool
        pool.population = list(
            sorted(pool.population, key=lambda x: x.fitness))

        # visualize top bipeds' simulations
        shown = pool.population[-num_shown:]
        timelines = [s.name for s in shown]
        view.start()
        view.run(hist, timelines, speed=3)

        # evolve gene pool
        pool.evolve()
コード例 #2
0
ファイル: widget.py プロジェクト: erhuabushuo/yapyg
        def redraw(self, frame_time_delta):
                movers.run(self.state, frame_time_delta)

                collisions.run(self.state)

                if view.run(self.state):
                        self.redraw_tiles = True

                if self.redraw_tiles:
                        tiles.draw(self.state, self.scale, self.canvas, self.view_size)
                        self.enable_redraw_tiles(False)

                sprites.draw(self.state, self.canvas, frame_time_delta, self.scale)
コード例 #3
0
    def redraw(self, frame_time_delta):
        movers.run(self.state, frame_time_delta)

        collisions.run(self.state)

        if view.run(self.state):
            self.redraw_tiles = True

        if self.redraw_tiles:
            tiles.draw(self.state, self.scale, self.canvas, self.view_size)
            self.enable_redraw_tiles(False)

        sprites.draw(self.state, self.canvas, frame_time_delta, self.scale)
コード例 #4
0
ファイル: __main__.py プロジェクト: youmuyou/douban-movie
def main():
    """Main entry point"""
    try:
        args = get_args()
        if args.listall:
            movies = search(args.movie_name)
            movie = run(movies)
            if movie:
                parse(movie)
        else:
            get_movie(args.movie_name)
    except Exception as e:
        print 'exception', e
        traceback.print_exc()
        pass
コード例 #5
0
ファイル: emLogin.py プロジェクト: jrootham/emlogin-qtpy
import sys
import sqlite3
import pathlib

from Controller import Controller
import view
"""
EMLogin is an application designed to make it easier to login to sites that support the EMLogin 
protocal.


"""


def fileName():
    """File name constant"""
    return str(pathlib.Path.home()) + "/.config/emlogin.sqlite"


if __name__ == "__main__":
    view.run(Controller(fileName()))
コード例 #6
0
import controller
'''
Parse HDL parameters
'''
hdl_parser = hdl_parser.HDLParser()
params = hdl_parser.get_params()

for header in config.header_list:
    hdl_parser.parse(header)
'''
Get I/O configuration
'''
io_config = io_config.IOConfig(params)
'''
Instantiate FPGA device manager
'''
fpga = device_manager.DeviceManager(config.pid_bit_file, config.serial,
                                    config.adc_clk_freq, config.sys_clk_freq,
                                    params)

if fpga.init_device() == False:
    exit
'''
Instantiate MVC and start GUI
'''
model = model.Model(io_config, params)
view = view.View(io_config, params)
controller = controller.Controller(view, model, fpga, io_config, params,
                                   config.config_path)
view.run()