def reverseRows(grid): g = [] for r in grid: newRow = row.copy(r) newRow.reverse() g.append(newRow) return g
def shiftRight(grid, rnd, value): g = [] idxs = [] for idx, r in enumerate(grid): if row.canShiftRight(r): idxs.append(idx) g.append(row.shiftRight(r)) else: g.append(row.copy(r)) if len(idxs) > 0: g[idxs[int(rnd * len(idxs))]][0] = value return g
def copy(grid): return [row.copy(r) for r in grid]