当前位置: 首页>>代码示例>>Python>>正文


Python Logger.add_log方法代码示例

本文整理汇总了Python中utils.Logger.add_log方法的典型用法代码示例。如果您正苦于以下问题:Python Logger.add_log方法的具体用法?Python Logger.add_log怎么用?Python Logger.add_log使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在utils.Logger的用法示例。


在下文中一共展示了Logger.add_log方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: Grid

# 需要导入模块: from utils import Logger [as 别名]
# 或者: from utils.Logger import add_log [as 别名]
class Grid(object):
    def __init__(self, size):
        self.size = size
        self.cells = self.empty()
        self.logger = Logger()

    def empty(self):
        return [[None] * self.size for _ in range(self.size)]

    def from_state(self, state):
        """ in case of using saved state of game
            currently function is redundant
        """
        cells = self.empty()
        for x in range(self.size):
            for y in range(self.size):
                tile = state[x][y]
                cells[x][y] = Tile(tile.pos, tile.value) if tile else None
        return cells

    def random_available_cell(self):
        cells = self.available_cells()
        if len(cells):
            return cells[floor(random() * len(cells))]

    def available_cells(self):
        cells = []
        self.for_each_cell(lambda x, y, tile:
                           cells.append(Vector(x, y)) if not tile else None)
        return cells

    def for_each_cell(self, callback):
        for x in range(self.size):
            for y in range(self.size):
                callback(x, y, self.cells[x][y])

    def cells_available(self, cell=None):
        if cell is None:
            return bool(len(self.available_cells()))
        else:
            return not self.cell_occupied(cell)

    def cell_occupied(self, cell):
        return bool(self.cell_content(cell))

    def cell_content(self, cell):
        if self.within_bounds(cell):
            return self.cells[cell.x][cell.y]
        else:
            return None

    def insert_tile(self, tile):
        self.logger.add_log('+ insert {}'.format(tile))
        self.cells[tile.pos.x][tile.pos.y] = tile

    def remove_tile(self, tile):
        self.logger.add_log('- remove {}'.format(tile))
        self.cells[tile.pos.x][tile.pos.y] = None

    def within_bounds(self, position):
        return (0 <= position.x < self.size and
                0 <= position.y < self.size)
开发者ID:vaniakosmos,项目名称:2048game,代码行数:64,代码来源:grid.py


注:本文中的utils.Logger.add_log方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。