Loading .gitignore 0 → 100644 +1 −0 Original line number Diff line number Diff line /.idea/ scrabbleshuffle.py 0 → 100644 +85 −0 Original line number Diff line number Diff line import random def print_tiles(tileset): for i in range(10): print(tileset[i]) def random_nums(): output = [] for i in range(10): output.append(random.randint(0, 9)) return output def shuffle_top(tileset): print("Shuffling from top") shuffle = random_nums() print(shuffle) new_tileset = [] for i in range(10): new_row = [] for j in range(10): new_row.append(tileset[(i + shuffle[j]) % 10][j]) new_tileset.append(new_row) print_tiles(new_tileset) return new_tileset def shuffle_left(tileset): print("Shuffling from left") shuffle = random_nums() print(shuffle) new_tileset = [] for i in range(10): new_tileset.append(tileset[i][shuffle[i]:] + tileset[i][:shuffle[i]]) print_tiles(new_tileset) return new_tileset def shunt_by(tileset, shunt): print("Top shunt") new_tileset = [] for i in range(10): new_tileset.append(tileset[shunt[i]]) print_tiles(new_tileset) print("Left shunt") final_tileset = [] for i in range(10): new_row = [] for j in range(10): new_row.append(new_tileset[i][shunt[j]]) final_tileset.append(new_row) print_tiles(final_tileset) return final_tileset def shunt_twos(tileset): print("Shunting by twos") return shunt_by(tileset, [9, 7, 5, 3, 1, 0, 2, 4, 6, 8]) def shunt_threes(tileset): print("Shunting by threes") return shunt_by(tileset, [8, 5, 2, 0, 1, 3, 4, 6, 7, 9]) if __name__ == "__main__": tiles = [ ["a", "a", "a", "a", "a", "a", "a", "a", "a", "b"], ["b", "c", "c", "d", "d", "d", "d", "e", "e", "e"], ["e", "e", "e", "e", "e", "e", "e", "e", "e", "f"], ["f", "g", "g", "g", "h", "h", "i", "i", "i", "i"], ["i", "i", "i", "i", "i", "j", "k", "l", "l", "l"], ["l", "m", "m", "n", "n", "n", "n", "n", "n", "o"], ["o", "o", "o", "o", "o", "o", "o", "p", "p", "q"], ["r", "r", "r", "r", "r", "r", "s", "s", "s", "s"], ["t", "t", "t", "t", "t", "t", "u", "u", "u", "u"], ["v", "v", "w", "w", "x", "y", "y", "z", " ", " "] ] print_tiles(tiles) tiles = shuffle_top(tiles) tiles = shuffle_left(tiles) tiles = shunt_twos(tiles) tiles = shunt_threes(tiles) Loading
scrabbleshuffle.py 0 → 100644 +85 −0 Original line number Diff line number Diff line import random def print_tiles(tileset): for i in range(10): print(tileset[i]) def random_nums(): output = [] for i in range(10): output.append(random.randint(0, 9)) return output def shuffle_top(tileset): print("Shuffling from top") shuffle = random_nums() print(shuffle) new_tileset = [] for i in range(10): new_row = [] for j in range(10): new_row.append(tileset[(i + shuffle[j]) % 10][j]) new_tileset.append(new_row) print_tiles(new_tileset) return new_tileset def shuffle_left(tileset): print("Shuffling from left") shuffle = random_nums() print(shuffle) new_tileset = [] for i in range(10): new_tileset.append(tileset[i][shuffle[i]:] + tileset[i][:shuffle[i]]) print_tiles(new_tileset) return new_tileset def shunt_by(tileset, shunt): print("Top shunt") new_tileset = [] for i in range(10): new_tileset.append(tileset[shunt[i]]) print_tiles(new_tileset) print("Left shunt") final_tileset = [] for i in range(10): new_row = [] for j in range(10): new_row.append(new_tileset[i][shunt[j]]) final_tileset.append(new_row) print_tiles(final_tileset) return final_tileset def shunt_twos(tileset): print("Shunting by twos") return shunt_by(tileset, [9, 7, 5, 3, 1, 0, 2, 4, 6, 8]) def shunt_threes(tileset): print("Shunting by threes") return shunt_by(tileset, [8, 5, 2, 0, 1, 3, 4, 6, 7, 9]) if __name__ == "__main__": tiles = [ ["a", "a", "a", "a", "a", "a", "a", "a", "a", "b"], ["b", "c", "c", "d", "d", "d", "d", "e", "e", "e"], ["e", "e", "e", "e", "e", "e", "e", "e", "e", "f"], ["f", "g", "g", "g", "h", "h", "i", "i", "i", "i"], ["i", "i", "i", "i", "i", "j", "k", "l", "l", "l"], ["l", "m", "m", "n", "n", "n", "n", "n", "n", "o"], ["o", "o", "o", "o", "o", "o", "o", "p", "p", "q"], ["r", "r", "r", "r", "r", "r", "s", "s", "s", "s"], ["t", "t", "t", "t", "t", "t", "u", "u", "u", "u"], ["v", "v", "w", "w", "x", "y", "y", "z", " ", " "] ] print_tiles(tiles) tiles = shuffle_top(tiles) tiles = shuffle_left(tiles) tiles = shunt_twos(tiles) tiles = shunt_threes(tiles)