本文整理汇总了Python中grid.Grid.get_blocks方法的典型用法代码示例。如果您正苦于以下问题:Python Grid.get_blocks方法的具体用法?Python Grid.get_blocks怎么用?Python Grid.get_blocks使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类grid.Grid
的用法示例。
在下文中一共展示了Grid.get_blocks方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from grid import Grid [as 别名]
# 或者: from grid.Grid import get_blocks [as 别名]
class Board:
"""The game board. This class maintains a Grid for the pieces on the
board and a Grid for the frozen blocks on the board."""
def __init__(self, parent_node, ncolumns, nrows, pos, scale):
self.parent_node = parent_node
self.piece_grid = None # set_size will set these
self.frozen_grid = None
self.set_size(ncolumns, nrows, pos, scale)
def set_size(self, ncolumns, nrows, pos, scale):
self.ncolumns = ncolumns
self.nrows = nrows
self.pos = pos
self.scale = float(scale)
self.size = Point2D(ncolumns, nrows)*self.scale
self.block_size = Point2D(self.scale, self.scale)
if self.piece_grid:
row_offset = nrows - self.piece_grid.nrows
self.piece_grid.grow(ncolumns, nrows)
self.frozen_grid.grow(ncolumns, nrows)
pieces = set(value for cr, value in self.piece_grid.get_blocks())
for piece in pieces:
c, r = piece.cr
piece.cr = (c, r + row_offset)
piece.update_blocks()
piece.update_manip()
for cr, value in self.frozen_grid.get_blocks():
value.pos = self.get_nw_point(cr)
value.size = self.block_size
else:
self.piece_grid = Grid(ncolumns, nrows) # contains Piece references
self.frozen_grid = Grid(ncolumns, nrows) # contains Node references
def destroy(self):
for cr, value in self.frozen_grid.get_blocks():
value.unlink()
def get_nw_point(self, (c, r)):
return self.pos + Point2D(c, r)*self.scale