Commit 8e42c84f authored by The Heavy's avatar The Heavy 🚂
Browse files

Initial commit.

parents
Loading
Loading
Loading
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)