puzzle/wordsearch_img.py

42 lines
907 B
Python

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()