예제 #1
0
    def __init__(self):
        gamedata = pickle.load(open(gameplayDataFilepath, 'rb'))
        self.blockHeights = gamedata['blockHeights']
        self.visibility_map = get_visibility_map(self.blockHeights).transpose()

        self.root = Tkinter.Tk()
        self.frame = Tkinter.Frame(self.root, width=1024, height=768)
        self.frame.pack()
        self.canvas = Tkinter.Canvas(self.frame, width=1024, height=768)
        self.canvas.place(x=-2, y=-2)
        self.root.after(0, self.start) # INCREASE THE 0 TO SLOW IT DOWN
        self.root.mainloop()
예제 #2
0
        def __init__(self):
                gamedata = pickle.load(open('C:/gamedata.p', 'rb'))
                blockHeights = gamedata['blockHeights']
                vis_map = get_visibility_map(blockHeights)
                self.astar = AStar(blockHeights, vis_map.tolist())
                self.start_point = (0,0)

                self.vis_map = vis_map

                blocks = np.array(self.vis_map)
                self.blocks = blocks.transpose()

                self.end_point = (40,25)

                self.root = Tkinter.Tk()
                self.frame = Tkinter.Frame(self.root, width=1024, height=768)
                self.frame.pack()
                self.canvas = Tkinter.Canvas(self.frame, width=1024,height=768)
                self.canvas.place(x=-2,y=-2)
                self.root.after(100,self.start) # INCREASE THE 0 TO SLOW IT DOWN
                self.root.mainloop()
예제 #3
0
    def initialize(self):
        """Use this function to setup your bot before the game starts."""
        self.verbose = True  # display the order descriptions next to the bot labels
        self.gamedata = {}  # stores game state to be pickled later and used by visualize.py
        self.gamedata["blockHeights"] = self.level.blockHeights
        self.gamedata["visibility_map"] = get_visibility_map(self.level.blockHeights)
        self.astar = AStar(self.gamedata["blockHeights"], self.gamedata["visibility_map"].tolist())

        self.visibleView = VisibleView(
            self.level.fieldOfViewAngles, self.level.blockHeights, self.game.team, self.game.enemyTeam
        )
        # self.pom = ProbOccurenceMap(self.level.blockHeights)
        self.poms = ProbOccurenceMaps(self.level.blockHeights, self.game.enemyTeam)

        self.blockHeights = self.level.blockHeights
        # self.gamedata['probOccMap'] = self.pom.prob

        self.attacker = None
        self.defender = None
        self.verbose = True

        # Calculate flag positions and store the middle.
        ours = self.game.team.flag.position
        theirs = self.game.enemyTeam.flag.position
        self.middle = (theirs + ours) * 0.5

        # Now figure out the flaking directions, assumed perpendicular.
        d = ours - theirs
        self.left = Vector2(-d.y, d.x).normalized()
        self.right = Vector2(d.y, -d.x).normalized()
        self.front = Vector2(d.x, d.y).normalized()

        self.panicMode = False

        self.bot_states = dict([(bot.name, BotStateIdle()) for bot in self.game.team.members])

        self.attacker = None
        self.defender = None