import dotenv import logging from pysuchsel.Alphabet import Alphabet from pysuchsel.Suchsel import Suchsel from pysuchsel.RandomDist import RandomDist from util import file_name logger = logging.getLogger(__name__) def main() -> int: dotenv.load_dotenv() logging.basicConfig(level=logging.INFO, format='%(message)s') plcrule = RandomDist({ "lr": 1, "tb": 1, }) # w: 1275 # h: 1651 suchsel = Suchsel(10, 10, plcrule, 5) words = ['TOWER', 'HAIR', 'PRINCESS', 'GOLDEN', 'RAPUNZEL'] unplaced = [] for word in words: placed = suchsel.place(word, contiguous=False) if not placed: unplaced.append(word) # TODO: optimize print('UNPLACE: %s' % unplaced) filler = Alphabet('en') suchsel.fill(filler) suchsel.write_svg(file_name('tangled', 'svg')) return 0 if __name__ == '__main__': main()