diff options
-rw-r--r-- | 4gen.py | 28 |
1 files changed, 28 insertions, 0 deletions
@@ -0,0 +1,28 @@ +from math import log10, ceil +from random import shuffle, sample + +BOARD_SIDE = 15 +BOARD_COUNT = BOARD_SIDE * BOARD_SIDE * 4 +NUMS = BOARD_COUNT + +nums = list(range(NUMS)) +shuffle(nums) + +print(','.join(str(n) for n in nums)) +print() + +align = ceil(log10(NUMS)) + +boards = [] +for b in range(BOARD_COUNT): + bnums = sample(nums, BOARD_SIDE * BOARD_SIDE) + rows = [] + for y in range(BOARD_SIDE): + row = [] + for x in range(BOARD_SIDE): + n = bnums.pop() + row.append(f'{n:>{align}}') + rows.append(' '.join(str(n) for n in row)) + boards.append('\n'.join(rows)) + +print('\n\n'.join(boards)) |