def main():
    world = Maze(maze_data, HALF_WIDTH, HALF_HEIGHT)
    world.draw()


    for shark_count in range(151)[10::10]:
    # Initialize Items
        sharks = Shark.create_random(shark_count, world, 0)
        robert = Robot(world, 0,0)
        robots = [robert]
        no_particles = []

        # Write to File
        my_file = open("%sSharksDistFromLine.txt" %(shark_count), "w")

        # Header describing model
        my_file.write("Line Start: %s, Line End: %s" %(LINE_START, LINE_END))
        my_file.write("\n")
        my_file.write("NumSharks: %s, K_att: %s, K_rep: %s, Sigma_Rand: %s, Speed/ts: %s" %(shark_count, K_ATT, K_REP, SIGMA_RAND, Shark.speed))
        my_file.write("\n")


        att_line = LineString([LINE_START, LINE_END])

        # Let sharks move towards attraction line first
        for time_step in range(300):
            move(world, robots, sharks, att_line, no_particles, SIGMA_RAND, K_ATT, K_REP)

        # while True:
        for _ in range(3):
            for time_step in range(TIME_STEPS):
                #
                # ---------- Show current state ----------
                if SHOW_VISUALIZATION:
                    world.show_sharks(sharks)
                    world.show_robot(robert)
                    world.show_att_line(LINE_START, LINE_END)

                move(world, robots, sharks, att_line, no_particles, SIGMA_RAND, K_ATT, K_REP)
                for shark in sharks:
                    # my_file.write("%s, %s," % (shark.x, shark.y))
                    my_file.write("%s, " %(distance_from_line(shark, att_line)))
                my_file.write("\n")

                print time_step

        my_file.close()
            self.move_by(dx, dy)
            return True
        return False

# ------------------------------------------------------------------------

world = Maze(maze_data)
world.draw()

# Initialize Sharks
sharks = Shark.create_random(SHARK_COUNT, world)
print "length of shark", len(sharks)
print sharks
robert = Robot(world)

while True:


    # ---------- Show current state ----------
    world.show_sharks(sharks)
    world.show_robot(robert)



    # # ---------- Move things ----------

    # Move sharks with shark's speed
    for s in sharks:
        s.advance(s.speed)
    time.sleep(0.1)