def extendBlocks(grid, extends):
    symbols = getBlockSymbolsList(grid)
    for _ in range(extends):
        if symbols == []:
            break
        symbol = random.choice(symbols)
        grid = extendBlock(grid, symbol)
        symbols.remove(symbol)
        
    return grid
Ejemplo n.º 2
0
def extendBlocks(grid, extends):
    symbols = getBlockSymbolsList(grid)
    for _ in range(extends):
        if symbols == []:
            break
        symbol = random.choice(symbols)
        grid = extendBlock(grid, symbol)
        symbols.remove(symbol)

    return grid
def getAverageBlockSize(grid):
    totalSizeX = 0
    totalSizeY = 0
    
    totalNo = 0
    for symbol in getBlockSymbolsList(grid):
        totalNo += 1
        (sizeX, sizeY) = (getBlockSize(symbol, grid))  
        totalSizeX += sizeX
        totalSizeY += sizeY
    
    return (totalSizeX/totalNo, totalSizeY/totalNo)
Ejemplo n.º 4
0
def getAverageBlockSize(grid):
    totalSizeX = 0
    totalSizeY = 0

    totalNo = 0
    for symbol in getBlockSymbolsList(grid):
        totalNo += 1
        (sizeX, sizeY) = (getBlockSize(symbol, grid))
        totalSizeX += sizeX
        totalSizeY += sizeY

    return (totalSizeX / totalNo, totalSizeY / totalNo)
Ejemplo n.º 5
0
def performNRandomSteps(grid, n):
    temp = SlidingBlock(grid)

    count = 0
    while True:
        count += 1
        validActions = getValidActions(grid)

        if validActions != []:
            action = random.choice(validActions)
            grid = temp.result(grid, action)

            if checkIfGoalTileIsInUpperLeftHalfgrid(grid):
                break
            else:
                if count > 1000:
                    for symbol in getBlockSymbolsList(grid):
                        if checkIfAnyTileIsInUpperLeftHalfgrid(grid, symbol):
                            grid = exchangeBlock(grid, 1, symbol)
                continue

    return grid
def performNRandomSteps(grid, n):
    temp = SlidingBlock(grid)
    
    count = 0
    while True:
        count += 1
        validActions = getValidActions(grid)
        
        if validActions != []:
            action = random.choice(validActions)
            grid = temp.result(grid, action)
            
            if checkIfGoalTileIsInUpperLeftHalfgrid(grid):
                break
            else:
                if count > 1000:
                    for symbol in getBlockSymbolsList(grid):
                        if checkIfAnyTileIsInUpperLeftHalfgrid(grid, symbol):
                            grid = exchangeBlock(grid, 1, symbol)
                continue
                    
    
    return grid