| 61 | | def __init__(self, fill_rows, colours, density, symmetry): |
| | 66 | def __init__(self, fill_rows=None, colours=None, emptyspace=None, symmetry=None): |
| | 67 | if fill_rows is None: |
| | 68 | fill_rows = random.randint(6,10) |
| | 69 | if colours is None: |
| | 70 | colours = random.randint(1,8) |
| | 71 | if emptyspace is None: |
| | 72 | emptyspace = random.randint(1,4) |
| | 73 | if symmetry is None: |
| | 74 | symmetry = random.randint(0,2) |
| | 75 | |
| 122 | | fill_rows = kwargs.get("fill_rows", random.randint(6,10)) |
| 123 | | colours = kwargs.get("colours", random.randint(1,8)) |
| 124 | | density = kwargs.get("density", random.randint(1,4)) |
| 125 | | symmetry = kwargs.get("symmetry", random.randint(0,2)) |
| 126 | | level = Level(fill_rows, colours, density, symmetry) |
| | 137 | level = Level(**kwargs) |
| 135 | | print LevelSet(10) |
| | 146 | parser = ArgumentParser() |
| | 147 | parser.add_argument('-f', '--filename', dest='filename', type=str, default="%s/.frozen-bubble/levels/foreverbubble" % os.getenv('HOME'), metavar='FILE', help='levelset save location (default: %default)') |
| | 148 | parser.add_argument('-n', '--number', dest='number', type=int, default=20, metavar='NUMBER', help='number of levels to generate (default: %default)') |
| | 149 | |
| | 150 | parser.add_argument('-r', '--rows', dest='fill_rows', type=int, choices=xrange(1,11), metavar='ROWS', help='number of rows [1-10] to generate per level (default: pick randomly for each level)') |
| | 151 | parser.add_argument('-c', '--colours', dest='colours', type=int, choices=xrange(1,9), metavar='COLOURS', help='number of colours [1-8] to use per level (default: pick randomly for each level)') |
| | 152 | parser.add_argument('-e', '--empty-space', dest='emptyspace', type=int, choices=xrange(0,4), metavar='SPACE', help='amount of empty space [0-3] on each level (default: pick randomly for each level)') |
| | 153 | parser.add_argument('-s', '--symmetry', dest='symmetry', type=str, choices=Level.SYMMETRIES.keys(), metavar='SYMMETRY', help='symmetry (one of %r) of each level (default: pick randomly for each level)' % Level.SYMMETRIES.keys()) |
| | 154 | args = parser.parse_args() |
| | 155 | |
| | 156 | symmetry = Level.SYMMETRIES[args.symmetry] if args.symmetry else None |
| | 157 | |
| | 158 | levelset = LevelSet(args.number, fill_rows=args.fill_rows, colours=args.colours, emptyspace=args.emptyspace, symmetry=symmetry) |
| | 159 | |
| | 160 | levelsetfile = open(args.filename, "w") |
| | 161 | levelsetfile.write(str(levelset)) |
| | 162 | levelsetfile.close() |