Skip to content

Instantly share code, notes, and snippets.

@CoderEx24
Created July 11, 2020 21:43
Show Gist options
  • Save CoderEx24/75b82ede0921bf09f21d87952142d798 to your computer and use it in GitHub Desktop.
Save CoderEx24/75b82ede0921bf09f21d87952142d798 to your computer and use it in GitHub Desktop.
Suduko
def __generate_grid(self):
import random
self.__needs_update = True
self.__grid = [[None for i in range(9)] for j in range(9)]
nums = [i for i in range(1, 10)]
random.shuffle(nums)
for x in range(3):
template_row = [self.__grid[(x * 3) - 1][(1 + i) % 9] for i in range(9)] if x != 0 else nums
for i in range(3):
row = i + x * 3
for j in range(9):
self.__grid[row][j] = template_row[(j + i * 3) % 9]
rows1, rows2, rows3 = [0, 1, 2], [3, 4, 5], [6, 7, 8]
random.shuffle(rows1)
random.shuffle(rows2)
random.shuffle(rows3)
row_new_indices = []
row_new_indices.extend(rows1)
row_new_indices.extend(rows2)
row_new_indices.extend(rows3)
temp = self.__grid.copy()
print(f'BEFORE TRANSFORMATION:-\n{self}\n\n\n')
for i in range(9):
self.__grid[i] = temp[row_new_indices[i]]
for j in range(9):
if random.randint(1, 10) > 4:
self.__grid[i][j] = None
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment