Example #1
0
    def neighborAt(self, pos, dir):
        pos_x, pos_y = self.tileAt(pos).pos

        _x = -1
        _y = -1

        width = self.size[0]
        height = self.size[1]

        if (dir == HexDir.UL):
            _x = (pos_x - 1) % self.size[0]

            if isEven(pos_x):
                _y = pos_y
            else:
                _y = (pos_y - 1) % self.size[1]

        elif (dir == HexDir.U):
            _x = pos_x
            _y = (pos_y - 1) % self.size[1]

        elif (dir == HexDir.UR):
            _x = (pos_x + 1) % self.size[0]

            if isEven(pos_x):
                _y = pos_y
            else:
                _y = (pos_y - 1) % self.size[1]

        elif (dir == HexDir.DL):
            _x = (pos_x - 1) % self.size[0]
            if isEven(pos_x):
                _y = (pos_y + 1) % self.size[1]
            else:
                _y = pos_y

        elif (dir == HexDir.D):
            _x = pos_x
            _y = (pos_y + 1) % self.size[1]

        elif (dir == HexDir.DR):
            _x = (pos_x + 1) % self.size[0]

            if isEven(pos_x):
                _y = (pos_y + 1) % self.size[1]
            else:
                _y = pos_y

        return [_x,_y]
Example #2
0
    def centerCameraOnTile(self, tile):
        pos = [0,0]
        pos = tile.getAbsolutePixelPos()

        pos[0] -= MAP_DISPLAY_WIDTH/2
        pos[1] = -pos[1]
        #adjust for odd columns
        if not isEven(tile.pos[0]):
            pos[1] += 36
        pos[1] += MAP_DISPLAY_HEIGHT/2

        self.cam_pos = pos
Example #3
0
    def centerCameraOnSprite(self, sprite):
        pos = [0,0]
        pos = mapLocToPixelPos(sprite.map_pos)

        pos[0] -= MAP_DISPLAY_WIDTH/2
        pos[1] = -pos[1]
        #adjust for odd columns
        if not isEven(sprite.map_pos[0]):
            pos[1] += 36
        pos[1] += MAP_DISPLAY_HEIGHT/2

        self.cam_pos = pos
Example #4
0
def pixelPosToMapLoc(pix_pos):
    x_offset = 54
    y_offset = 72
    y_margin = y_offset/2

    col_idx = (pix_pos[0] - 36) / x_offset

    row_idx = pix_pos[1]
    if isEven(col_idx):
        row_idx -= y_margin

    row_idx = row_idx / y_offset

    return [int(col_idx), int(row_idx)]